Site Web + API

Documentation du Portail Professeurs

Table des matières

  1. Introduction
  2. Architecture technique
  3. Structure du projet
  4. Fonctionnalités principales
  5. Guide d'utilisation
  6. API et endpoints
  7. Base de données
  8. Sécurité
  9. Déploiement
  10. Dépannage

1. Introduction

Le Portail Professeurs est une application web conçue pour aider les enseignants à gérer efficacement leurs classes, les absences des élèves, les réservations de salles, et à communiquer avec les autres membres de l'établissement. Cette plateforme centralisée offre une interface intuitive et responsive qui s'adapte à tous les appareils.

Objectifs du projet

2. Architecture technique

Frontend

Backend

Base de données

3. Structure du projet

Frontend (Next.js)

/app                     # Dossier principal des routes (App Router)
  /absences              # Gestion des absences
  /classes               # Gestion des classes
  /login                 # Page de connexion
  /messages              # Système de messagerie
  /notifications         # Centre de notifications
  /parametres            # Paramètres utilisateur
  /points                # Système de points
  /rapports              # Génération de rapports
  /reservations          # Réservation de salles
  /salles                # Gestion des salles
  /statistiques          # Tableaux de bord et statistiques
  /layout.tsx            # Layout principal
  /globals.css           # Styles globaux
  /page.tsx              # Page d'accueil

/components              # Composants réutilisables
  /ui                    # Composants UI (shadcn)
  /header.tsx            # En-tête de l'application
  /sidebar.tsx           # Barre latérale de navigation
  /auth-guard.tsx        # Protection des routes authentifiées

/lib                     # Services et utilitaires
  /api-client.ts         # Client API centralisé
  /auth-service.ts       # Service d'authentification
  /absence-service.ts    # Service de gestion des absences
  /class-service.ts      # Service de gestion des classes
  /message-service.ts    # Service de messagerie
  /points-service.ts     # Service de gestion des points
  /room-service.ts       # Service de gestion des salles
  /settings-service.ts   # Service de gestion des paramètres

/public                  # Fichiers statiques

Backend (ASP.NET Core)

/Controllers             # Contrôleurs API
  /AuthController.cs     # Authentification
  /Teacher               # Contrôleurs spécifiques aux enseignants
    /TeacherAbsenceController.cs
    /TeacherClassController.cs
    /TeacherProfileController.cs
    /TeacherRoomController.cs
    /TeacherSettingsController.cs
    /TeacherStatController.cs
  /Message               # Contrôleurs de messagerie
    /MessageController.cs
  /Points                # Contrôleurs de gestion des points
    /PointsController.cs

/Models                  # Modèles de données
  /Absence.cs
  /Class.cs
  /Message.cs
  /Notification.cs
  /PointsConfig.cs
  /PointsHistory.cs
  /Reservation.cs
  /Room.cs
  /Schedule.cs
  /Settings.cs
  /Student.cs
  /StudentPoints.cs
  /Teacher.cs
  /User.cs
  /GestionAbsencesContext.cs  # Contexte EF Core

/DTO                     # Objets de transfert de données
  /AbsenceDTO.cs
  /AuthDTO.cs
  /ClassDTO.cs
  /Message
    /MessageDTO.cs
    /ConversationDTO.cs
  /Points
    /StudentPointsDTO.cs
    /PointsHistoryDTO.cs
  /Teacher
    /TeacherProfileDTO.cs

/Services                # Services métier
  /Teacher
    /TeacherAbsenceService.cs
    /TeacherClassService.cs
    /TeacherProfileService.cs
    /TeacherRoomService.cs
    /TeacherSettingsService.cs
    /TeacherStatService.cs
  /Message
    /MessageService.cs
  /Points
    /PointsService.cs

/WebSocket               # Gestion des WebSockets
  /WebSocketHandler.cs
  /WebSocketMiddleware.cs
  /WebSocketExtensions.cs

/Utils                   # Utilitaires
  /DateOnlyJsonConverter.cs
  /DateUtils.cs

/Middleware              # Middlewares personnalisés
  /BearerPrefixMiddleware.cs
  /RequestResponseLoggingMiddleware.cs

/Scripts                 # Scripts SQL

4. Fonctionnalités principales

Authentification et sécurité

Gestion des classes

Gestion des absences

Système de points

Réservation de salles

Messagerie

Rapports et statistiques

Paramètres utilisateur

5. Guide d'utilisation

Connexion au portail

  1. Accédez à la page de connexion
  2. Entrez les identifiants suivants :
    • Email : teacher@teacher.fr
    • Mot de passe : admin123
  3. Cliquez sur "Se connecter"

Navigation dans l'application

Gestion des classes

  1. Accédez à la section "Classes" depuis la barre latérale
  2. Consultez la liste de vos classes
  3. Cliquez sur une classe pour voir les détails et la liste des élèves
  4. Utilisez la barre de recherche pour filtrer les classes

Saisie des absences

  1. Accédez à la section "Absences" depuis la barre latérale
  2. Cliquez sur "Saisir des absences"
  3. Sélectionnez la classe concernée
  4. Cochez les élèves absents
  5. Renseignez la date et le motif si connu
  6. Validez la saisie

Réservation d'une salle

  1. Accédez à la section "Salles" depuis la barre latérale
  2. Consultez les salles disponibles
  3. Cliquez sur "Nouvelle réservation"
  4. Sélectionnez la salle, la date et l'horaire
  5. Indiquez le motif de la réservation
  6. Validez la réservation

Utilisation du système de points

  1. Accédez à la section "Points" depuis la barre latérale
  2. Consultez le classement des élèves
  3. Pour attribuer des points :
    • Accédez à la fiche d'un élève
    • Cliquez sur "Ajouter des points"
    • Saisissez le nombre de points et le motif
    • Validez l'attribution

Envoi d'un message

  1. Accédez à la section "Messages" depuis la barre latérale
  2. Cliquez sur "Nouveau message"
  3. Sélectionnez le destinataire
  4. Rédigez votre message
  5. Envoyez le message

Génération d'un rapport

  1. Accédez à la section "Rapports" depuis la barre latérale
  2. Sélectionnez le type de rapport
  3. Définissez les paramètres (période, classe, etc.)
  4. Générez le rapport
  5. Consultez-le en ligne ou exportez-le

Modification des paramètres

  1. Accédez à la section "Paramètres" depuis la barre latérale
  2. Modifiez votre profil, thème ou préférences
  3. Enregistrez les modifications

6. API et endpoints

Authentification

Gestion des classes

Gestion des absences

Gestion des salles

Réservations

Messagerie

Système de points

Profil et paramètres

7. Base de données

Schéma de la base de données

La base de données est organisée autour des entités principales suivantes :

Relations principales

8. Sécurité

Authentification

Protection des données

Autorisations

9. Déploiement

Prérequis

Étapes de déploiement

  1. Base de données

    • Créer une base de données MySQL
    • Exécuter les scripts de migration
  2. Backend

    • Compiler l'application ASP.NET Core
    • Configurer les variables d'environnement
    • Déployer sur un serveur compatible .NET
  3. Frontend

    • Construire l'application Next.js (next build)
    • Déployer les fichiers statiques
    • Configurer le serveur web pour servir l'application

Configuration

10. Dépannage

Problèmes courants

Erreur de connexion

Données non affichées

Erreurs WebSocket

Problèmes de performance

Logs et monitoring


Revision #3
Created 16 May 2025 10:27:38 by qoyri
Updated 16 May 2025 10:47:55 by qoyri