Services Api_Ihm Src Auth Routes
Version: 1.2.0 (2023-12-20) Auteur: Kahina et franck - Groupe 2 Commit: bigmoletos@yopmail.com
Routes d’authentification pour l’application de qualité de l’air.
Ce module gère l’ensemble des fonctionnalités d’authentification et d’autorisation de l’application, notamment: - Connexion et déconnexion des utilisateurs - Inscription de nouveaux utilisateurs - Gestion des utilisateurs par l’administrateur
Architecture:
Authentification: - Connexion sécurisée - Gestion des sessions - Protection des routes
Gestion utilisateurs: - Inscription avec validation - Administration des comptes - Suppression sécurisée
Sécurité: - Hachage des mots de passe - Contrôle des accès - Protection CSRF
Routes:
- /loginConnexion utilisateur
GET: Affiche le formulaire
POST: Traite la connexion
- /registerInscription
GET: Affiche le formulaire
POST: Crée le compte
- /logoutDéconnexion
GET: Termine la session
- /adminInterface admin
GET: Liste les utilisateurs
Accès restreint aux admins
Dépendances:
flask : Framework web
flask_login : Gestion authentification
database.models : Modèles SQLAlchemy
- services.api_ihm.src.auth.routes.login()[source]
Gère la connexion des utilisateurs à l’application.
Cette route: 1. Affiche le formulaire de connexion (GET) 2. Authentifie l’utilisateur (POST) 3. Crée la session utilisateur
Methods:
- GET:
Affiche le formulaire de connexion
- POST:
Traite les informations de connexion
Parameters:
- usernamestr
Nom d’utilisateur (via form)
- passwordstr
Mot de passe (via form)
Returns:
- GET:
Template: login.html
- POST:
Redirect: Page d’accueil si succès Template: login.html avec erreur si échec
Version: 1.0.0 (2024-03-19 15:35)
- services.api_ihm.src.auth.routes.register()[source]
Gère l’inscription des nouveaux utilisateurs.
Cette route: 1. Affiche le formulaire d’inscription (GET) 2. Valide les données soumises (POST) 3. Crée le compte utilisateur
Methods:
- GET:
Affiche le formulaire d’inscription
- POST:
Traite la création du compte
Parameters:
- usernamestr
Nom d’utilisateur unique (via form)
- emailstr
Email unique (via form)
- passwordstr
Mot de passe (via form)
Returns:
- GET:
Template: register.html
- POST:
Redirect: Page de connexion si succès Template: register.html avec erreur si échec
Notes:
Vérifie l’unicité du username
Vérifie l’unicité de l’email
Hash le mot de passe
Gère les erreurs de BD
Version: 1.0.0 (2024-03-19 15:35)
- services.api_ihm.src.auth.routes.logout()[source]
Déconnecte l’utilisateur actuel.
Cette route: 1. Termine la session utilisateur 2. Nettoie les cookies 3. Redirige vers la page de connexion
Decorators:
- login_required:
Assure qu’un utilisateur est connecté
Returns:
- Redirect:
Page de connexion
- services.api_ihm.src.auth.routes.admin()[source]
Affiche l’interface d’administration des utilisateurs.
Cette route: 1. Vérifie les droits d’administration 2. Liste tous les utilisateurs 3. Permet la gestion des comptes
Decorators:
- login_required:
Assure qu’un utilisateur est connecté
Returns:
- Template:
admin.html avec liste des utilisateurs
- Redirect:
Page d’accueil si non admin
Notes:
Accès restreint aux administrateurs
Affiche tous les utilisateurs
Permet ajout/suppression
- services.api_ihm.src.auth.routes.add_user()[source]
Ajoute un nouvel utilisateur via l’interface admin.
- services.api_ihm.src.auth.routes.delete_user(user_id)[source]
Supprime un utilisateur via l’interface admin.
Cette route: 1. Vérifie les droits d’administration 2. Valide l’existence de l’utilisateur 3. Supprime le compte et ses données
Decorators:
- login_required:
Assure qu’un utilisateur est connecté
Parameters:
- user_idint
ID de l’utilisateur à supprimer
Returns:
- JSON:
Message de succès (200) Erreur 403 si non admin Erreur 404 si utilisateur non trouvé Erreur 400 si tentative de suppression de soi-même
Notes:
Accès restreint aux administrateurs
Empêche l’auto-suppression
Suppression en cascade des données