Algorithme, Programmation, Tic & Base de données TuTo Academy
TP4-PHP
Exercice :
Afin d’automatiser la gestion des patients d’un cabinet médical, on se propose de créer une
Partie simplifiée d’un site web permettant de réaliser les tâches suivantes :
- Ajout d’un patient
- Ajout d’une consultation d’un patient
- Affichage de la liste des patients ayant un rendez-vous le jour actuel
Travail demandé :
A- Création de la base de données
Créer une base de données nommée "BD<votre nom>", puis créer les deux tables suivantes :
Patient (cin, nom, prénom, date_nais, num_tel, genre)
Consultation (cin#, date_cons, date_rdv, detail_cons)
Le tableau ci-dessous indique la description des champs des tables :
Champs Type Observation
Cin Chaine de 8 caractères Cin de client
Nom Chaine de 20 caractères Nom de client
Prénom Chaine de 20 caractères Prénom de client
Date_nais Date Date de naissance de patient
Num_tel Chaine de 8 caractères Numéro de téléphone de patient
Genre Chaine de 10 caractères Genre doit être (h ou f)
Date_cons Date Date de la consultation
Date_rdv Date Date du prochain rendez-vous
Detail_cons Chaine de 50 caractères Détail de consultation
B- Création de la base de données
1) Dans le dossier "WWW" . créer un répertoire de travail nommée "SW<votre nom>",
Ou seront enregistrés tous les fichiers demandés.
Remarque :
• Toute les fonctions JavaScript devront être créées dans un fichier externe intitulé
"contrô[Link]".
• Dans chaque formulaire a créer, le clic sur le bouton "Annuler " permettra s’initialiser
Ses champs.
• Dans chacune des pages du site, créer un lien de retour vers la page d’accueil.
2) Créer la page "[Link]" comportant trois boutons, comme illustré ci-dessous :
1
Algorithme, Programmation, Tic & Base de données TuTo Academy
Sachant que le clic sur le bouton :
• "Ajout un patient" fait appel à la page "[Link]".
• "Ajout d’une consultation" fait appel à la page "[Link]".
• "suivi" fait appel à la page "[Link]".
3) Appliquer aux différents objets du page la mise en forme suivante :
• Arrière-plan : une image dans un dossier intitulé image.
• Tous les objets du page avec un alignement centré et un couleur blanc
• Titre : size 35px
• Les bottons : arrière-plan : #3399FF, largeur : 250px, espace interne : 10px,
Arrondie :27px, style : gras.
4) Créer la page "[Link]" contenant le formulaire suivant :
5) Appliquer aux différents objets du page la mise en forme suivante :
• Arrière-plan : une image dans un dossier intitulé image.
• Légende : couleur : blanc, size : 35px
• Les étiquettes : style = gras
6) Le clic sur le bouton "Enregistrer" fait appel à :
Une fonction nommée "verif" écrite en JavaScript qui permet de faire le contrôle
Saisie des données du formulaire en respectant les conditions suivantes :
• Le champ Cin doit être une chaine composé 8 chiffres
• Les champs nom et prénom doit être non vide et comportes uniquement des lettres
• L’utilisateur doit obligatoirement saisir une date de naissance
• Le champ numéro de téléphone doit être une chaine composé 8 chiffres
• L’utilisateur doit obligatoirement choisir le genre
7) Un script PHP, développé dans le fichier "[Link]", permettant :
• D’afficher le message "Patient déjà inscrit" dans le cas où la valeur saisie de la
Cin existe déjà dans la base. Ou bien,
• D’insérer les données nécessaires dans la table appropriée puis afficher un message
De réussite de l’opération.
2
8) Créer la page "[Link]" contenant le formulaire suivant :
Algorithme, Programmation, Tic & Base de données TuTo Academy
9) Appliquer la même forme de la page "[Link]" :
10) Le clic sur le bouton "confirmer" fait appel à :
Une fonction nommée "verif2" écrite en JavaScript qui permet de faire le contrôle
Saisie des données du formulaire en respectant les conditions suivantes :
• Le champ Cin doit être une chaine composé 8 chiffres
• L’utilisateur doit obligatoirement saisir les détails de la consultation
• Le champ prochain rdv doit être numérique entre 2 et 30 jours
11) Un script PHP, développé dans le fichier "[Link]", permettant :
• D’afficher le message "CIN inexistante" dans le cas où la valeur saisie de la
Cin n’existe pas dans la base. Ou bien,
• D’insérer les données nécessaires dans la table appropriée puis afficher la date
De prochain rendez-vous.
NB :
• Le champ "DateCons" contiendra la date du système.
• Le champ "DateRdv" Contiendra le nombre de jours saisi ajouté a la date du système.
• Le champ "DetailCons" contiendra le détail de la consultation.
12) Créer la page "[Link]" qui permet d’afficher, pour la du jour actuel, la liste des
Patients ayant un rendez-vous comme indiquée ci-dessous :