Avez-vous une question? (216) 97 656 803 hajjriadh@gmail.com
Bootstrap

TP5 Création d'un projet Bootstrap

Un cours complet pour maîtriser TP5 Création d'un projet Bootstrap.

0 chapitres 0 QCM Accès gratuit
  1. Objectifs

    • Être capable d'utiliser les différents éléments du framework Bootstrap 5 pour créer une interface d'administration médicale.
    • Concevoir un tableau de bord intuitif pour la gestion d'un cabinet médical.
  2. Travail à réaliser:

    • Partie 01 : Page index (Tableau de bord)
      • Utiliser les classes de Bootstrap 5 pour créer la page Web illustrée dans la vidéo ci-dessous.
      • Commencer avec le fichier de code de démarrage TP5 Création de projet projet05 - départ.
      • Télécharger les images depuis l'adresse Suivante.
      • Pour faire les petites icônes utiliser la police d'icône Font Awesome (ex: stéthoscope, calendrier, utilisateurs).
      • Le résultat final est décrit par la vidéo suivante:

    • Partie 02 : Base de données
      • Schéma de base de données : cabinet-medical
        • Table "Patients"
          Id (clé primaire)
          Nom
          Prénom
          Date_de_naissance
          Adresse
          Numero_de_telephone
          Adresse_email
          CREATE TABLE Patients (
            Id INT NOT NULL AUTO_INCREMENT,
            Nom VARCHAR(255) NOT NULL,
            Prenom VARCHAR(255) NOT NULL,
            Date_de_naissance DATE NOT NULL,
            Adresse VARCHAR(255) NOT NULL,
            Numero_de_telephone VARCHAR(15) NOT NULL,
            Adresse_email VARCHAR(255) NOT NULL,
            PRIMARY KEY (Id)
          );
        • Table "Consultations"
          Id (clé primaire)
          Date_de_consultation
          Heure_de_consultation
          Id_patient (clé étrangère)
          Motif_de_consultation
          Diagnostic
          Traitement
          CREATE TABLE Consultations (
            Id INT NOT NULL AUTO_INCREMENT,
            Date_de_consultation DATE NOT NULL,
            Heure_de_consultation TIME NOT NULL,
            Id_patient INT NOT NULL,
            Motif_de_consultation VARCHAR(255) NOT NULL,
            Diagnostic VARCHAR(255) NOT NULL,
            Traitement VARCHAR(255) NOT NULL,
            PRIMARY KEY (Id),
            FOREIGN KEY (Id_patient) REFERENCES Patients(Id)
          );
        • Table "Médecins"
          Id (clé primaire)
          Nom
          Prénom
          Spécialité
          CREATE TABLE Medecins (
            Id INT NOT NULL AUTO_INCREMENT,
            Nom VARCHAR(255) NOT NULL,
            Prenom VARCHAR(255) NOT NULL,
            Specialite VARCHAR(255) NOT NULL,
            PRIMARY KEY (Id)
          );
        • Table "Rendez-vous"
          Id (clé primaire)
          Date_de_rendez_vous
          Heure_de_rendez_vous
          Id_patient (clé étrangère)
          Id_medecin (clé étrangère)
          CREATE TABLE Rendez_vous (
            Id INT NOT NULL AUTO_INCREMENT,
            Date_de_rendez_vous DATE NOT NULL,
            Heure_de_rendez_vous TIME NOT NULL,
            Id_patient INT NOT NULL,
            Id_medecin INT NOT NULL,
            PRIMARY KEY (Id),
            FOREIGN KEY (Id_patient) REFERENCES Patients(Id),
            FOREIGN KEY (Id_medecin) REFERENCES Medecins(Id)
          );
        • Table "Antécédents"
          Id (clé primaire)
          Id_patient (clé étrangère)
          Type_antecedent
          Description_antecedents
          CREATE TABLE Antecedents (
            Id INT NOT NULL AUTO_INCREMENT,
            Id_patient INT NOT NULL,
            Type_antecedent VARCHAR(255) NOT NULL,
            Description_antecedents TEXT NOT NULL,
            PRIMARY KEY (Id),
            FOREIGN KEY (Id_patient) REFERENCES Patients(Id)
          );
    • Partie 03 : Accès Sécurisé au Dossier Médical
      • Mettre en place une connexion PDO sécurisée pour accéder à la base de données du cabinet médical :
        • Configurez les informations de connexion MySQL dans un fichier config.php isolé.
        • Utilisez PDO::ERRMODE_EXCEPTION pour capturer toute erreur de connexion pouvant compromettre les données de santé.
        • Utilisez systématiquement des requêtes préparées pour contrer les injections SQL, assurant ainsi la protection des dossiers patients.
    • Partie 04 : Système d'Authentification du Personnel
      • Développer un système de connexion robuste pour les médecins et les secrétaires médicales.
        • Authentification et Sécurité :
          • Mettre en place un formulaire de connexion protégé par des tokens CSRF.
          • Hacher les mots de passe du personnel médical (ex: via password_hash()) avant leur stockage.
        • Gestion des Sessions Médicales :
          • Assurer la persistance de l'état de connexion via les variables de session $_SESSION.
          • Déconnecter automatiquement les utilisateurs inactifs pour éviter l'accès non autorisé aux dossiers des patients.
        • Récupération de mot de passe :
          • Permettre au personnel de réinitialiser leur mot de passe via un lien sécurisé envoyé par email institutionnel.
    • Partie 05 : Interface de Gestion du Cabinet (CRUD)
      • Créer les interfaces permettant la gestion quotidienne du cabinet :
        • Menu de Navigation Médical :
          • Ajouter un menu standard (Sidebar/Navbar) avec les liens : Tableau de bord, Patients, Médecins, Rendez-vous, Consultations, Déconnexion.
        • Gestion des Patients et Rendez-vous :
          • Créer une page pour afficher la liste des patients sous forme de tableau Bootstrap 5 avec pagination.
          • Ajouter un système de recherche en temps réel (par Nom ou Numéro de téléphone) pour retrouver rapidement un dossier.
          • Développer un Modal Bootstrap pour l'ajout rapide d'un nouveau patient lors de sa première visite.
        • Dossier Médical (Opérations CRUD) :
          • Dans le tableau des patients, inclure une colonne "Actions" avec des boutons : Voir Dossier (Détails), Modifier, et Archiver/Supprimer.
          • Le bouton "Voir Dossier" doit afficher une vue détaillée regroupant les consultations passées et les antécédents médicaux du patient concerné.
          • Utiliser AJAX et JQuery pour soumettre les formulaires de modification sans recharger la page, optimisant ainsi le temps du secrétariat.
      • Tester l'application en simulant le parcours complet : prise de rendez-vous, création du dossier patient, et saisie du compte rendu de consultation.