Langages de développement Web - Sujet de Projet


Projet PHP/MySQL : Agenda électronique

Le projet de cette année consiste à réaliser un agenda électronique. Celui-ci permettra d'enregistrer des rendez-vous (par exemple : un rendez-vous chez le dentiste) et des événements (c'est-à-dire des date importantes, comme par exemple : un anniversaire). Un rendez-vous est composé d'un libellé, d'une date/heure de début, d'une date/heure de fin, d'une catgéorie et d'une note. Un événement est quant à lui composé d'une date, d'un libellé et d'une catégorie. Les différentes catégories sont décrites par un libellé et une couleur qui sera utilisée pour distinguer les différents événements. On souhaite également que cette même application puisse être utilisée par différents utilisateurs. Par conséquent, les rendez-vous et les événements saisis sont relatifs à un utilisateur.

Cet agenda sera développé en PHP et utilisera une base de données MySQL pour stocker les informations. Le schéma de la base de données est le suivant :

Pour travailler chez vous, la base est récupérable au format SQL ici. Voici un script qui vous permettra d'exécuter des requètes SQL sur la base.

Le type des données contenues dans la base est le suivant :

Table UTILISATEUR
usr_idint(11)
usr_pseudochar(12)
usr_passwdchar(12)

Table CATEGORIE
cat_idsmallint(6)
cat_libellechar(30)
cat_couleurchar(6)

Table RDV
rdv_idint(11)
rdv_libelletinytext
rdv_notevarchar(50)
rdv_debutdatetime
rdv_findatetime
rdv_categoriesmallint(6)
rdv_userint(11)

Table EVENEMENT
evt_idint(11)
evt_libelletinytext
evt_datedate
evt_categoriesmallint(6)
evt_userint(11)


Le déroulement de l'utilisation de l'application est donné ci-dessous.

Un utilisateur se connecte au site de l'agenda, il doit s'identifier à l'aide d'un nom d'utilisateur et d'un mot de passe pour ouvrir une session. Seule la page d'identification s'affiche sans que l'utilisateur ne soit identifié. Toutes les autres pages effectueront la vérification qu'une session a bien été ouverte et redirigeront vers la page d'identification si cette vérification échoue.
Une fois reconnu, l'utilisateur arrive sur une page d'accueil qui lui récapitule les rendez-vous du jour et les événements du jour. Un menu lui permet au choix :

Il doit également être possible de modifier ou de supprimer des rendez-vous ou des événements.

Ceci donne le minimum du travail demandé. On ne demande pas de gestion des utilisateurs (cf. informations pratiques en bas de page), ni d'ajouter des catégories.


Voici quelques captures d'écran qui illustrent le travail demandé. Vous pouvez vous en inspirer, mais ne les reproduisez pas à l'identique !

Identification de l'utilisateur :


Calendrier permettant la sélection du jour ou de la semaine à afficher :


Affiche d'un journée ...

... d'une semaine de rendez-vous


Saisie d'un rendez-vous ...

... d'un événement


Recherche ...

... affichage des résultats


Informations pratiques :