Cahier des charges : Doodle like en PHP objet

Publié dans Projets | Marqué avec , , , ,
Share

Bon, il me semble que j’ai fait un bon tour de la théorie au sujet du PHP objet (j’ai encore au moins 2 billets théoriques à écrire), et je l’applique déjà depuis plusieurs semaines durant mon stage. Mais maintenant j’aimerai bien me faire un petit projet tout en PHP objet. Je ne sais pas si vous connaissez Doodle ? Je trouve le concept vraiment génial. Ce site permet à n’importe qui de créer des sondages classiques, ou alors des sortes de sondages permettant de fixer facilement une date d’un rendez-vous pour autant de personnes que l’on souhaite. Je vais donc réaliser dans les jours à venir (et j’espère arriver aux termes de ce projet) un Doodle like (j’ai pas encore d’idées de nom… mais ça viendra) !
Voici donc un cahier des charges d’un Doodle like.

Feuille de route

  • Version tout en PHP (orienté objet) sans aucun Javascript ou autre. Fonctionnalité : « Trouver une date ».
  • Ajout du Javascript pour la fonctionnalité « Trouver une date » et le reste du site.
  • Ajout de fonctionnalités « Faire un choix », « Sondage », « Qui prend quoi, pour un repas », ou autre, et amélioration des fonctionnalités présentes. En PHP (orienté objet) d’abord puis en améliorant avec le Javascript.

Introduction

Doodle like est un site Internet visant à simplifier drastiquement les prises de décisions au sein d’une équipe ou d’un groupe. Grâce à un système de sondage simple, instinctif et friendly, n’importe quel internaute peut proposer une date de rendez-vous à un groupe (restreint ou non) de personnes, s’évitant ainsi de longues heures perdues au téléphone ou en envoi/réception d’e-mails.

But

  • Apprendre à (mieux) utiliser le PHP orienté objet
  • Apprendre à (mieux) utiliser jQuery
  • (Apprendre à utiliser le XML comme fichier de configuration. Et donc SimpleXML ou autre. -> pas nécessaire finalement, donc à voir)
  • S’amuser
  • Créer un système sécurisé où aucune information privée non désirée ne peut filtrer vers l’extérieur. Aucune information ne sera utilisée à des fins commerciales ou autre (hors publicité type Google Adsense, et encore, modérément), et aucune information privée ne sera conservée ou traitée.

Détails des fonctionnalités

Trouver une date

Tables SQL :

  • trouverUneDate(id, nom_createur, email_createur, webcreateur, date_creation, date_last_modif, titre, titre-rewrite-et-unique, description, nb_reponse, reponse_unique_multiple_ou_limite(0,1, nb), commentaire_autorise(0,1), nb_commentaire, autorisation(0->que admin, 1->que inscris, 2-> tout le monde), actif(0,1)) -> p-e chaine unique pour participation et administration
  • dateACheck(id, id_sondage, date(timestamp))
  • horaireACheck(id, id_date, horaire(format à définir mais si possible le plus libre possible. Ex : 8:00-9:00@paris))
  • commentaire(id, idSondage, pseudo, e-mail, web, date_creation, date_last_modif, msg)

Étapes de création d’un sondage :

  • Choix du titre, description, pseudo, e-mail, choix des options (pré-remplies -> autorisation, commentaire, restriction à quelques utilisateurs (inscris) ou avec un mot de passe)
  • Choix des dates et des horaires

Fin d’un sondage :

  • Blocage du sondage
  • Envoi d’un e-mail (personnalisé) donnant la réponse à tous les utilisateurs si désirés

Administration d’un sondage : (pour les créateurs de sondages qui se sont inscris)

  • Modification du titre, de la description, des options possibles
  • Modification des dates et des horaires possibles
  • Supprimer, modifier une ou des réponses à un sondage
  • Supprimer le sondage

Participer à un sondage :

  • Répondre au sondage
  • Si autorisation = 2 : Modification, suppression de toutes les réponses possibles
  • Si autorisation = 1 : Modification, suppression des ses réponses (pour les inscris)
  • Si autorisation = 0 : Rien ne peut être modifié ou supprimé par les inscris ou les visiteurs

Système de compte

Table SQL :

  • user(id, pseudo, mdp, email, web, date_inscription, nb_sondagecréé, nb_sondageparticipe, etat(1->ok, 0->banni))

Inscription :

  • Pseudo, mdp et e-mail sont demandés
  • Un e-mail avec rappel pseudo, mdp est envoyé Gestion du compte :
  • Permet de modifier : pseudo, mdp, e-mail, web.
  • Un e-mail avec rappel pseudo, mdp est renvoyé si l’e-mail à changé Pages spéciales :
  • Mes sondages
  • Les sondages auxquels j’ai participé
  • (Sondages pouvant m’intéresser)

Pages

Table SQL

  • article(id, auteur, email_auteur, web_auteur, date_creation, date_last_maj, titre, article, commentaire_autorise(0,1), nb_commentaire, tag)
  • tag(id, tag, nb_tag)
  • Nous contacter
    • Table SQL : email(id, emailemeteur, pseudoemetteur, sujetemeteur, msgemeteur, envoye(1-> oui, 0-> non, 2->en attente), (emaildest))
  • Formulaire : Email, pseudo, sujet, msg, (choix destinataire)
  • Qui sommes-nous & qu’est-ce que Doodle like
  • Page de la table article
  • Politique d’accessibilité
  • Page de la table article

Parlons technique

  • Rewriting des pages : titre-du-sondage-rewrite-unique.html
  • Un peu de SEO : liste des derniers sondages, liste du top des sondages, liste de sondages aux hasards… A améliorer, à méditer. Etude des mots clefs nécessaire !

Idées futures

  • Flux RSS des sondages, de ses sondages, des commentaires
  • Commentaires des sondages
  • Doodle pour appareil portable

2 réponses à Cahier des charges : Doodle like en PHP objet

  1. Bonjour

    Je cherche un doodle like php/mysql mais il n’y en a qu’un : rdvz & ces fonctionnalités sont franchement limitées…
    As-tu avancé/réalisé ce projet ou est-il mort?

    Kepon

  2. Je ne pas du tout avancé sur ce projet désolé. Je ne pense pas m’y mettre un jour, j’ai d’autres idées qui me bottent plus pour le moment 😉

    Bon courage !

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*