Système de Gestion des Attestations avec QR Code
Découvrez la conception d'un système web sécurisé sous Django pour la gestion et la vérification d'attestations administratives via QR Code.
RAPPORT DE PROJET DE FIN D'ANNÉE
Système de gestion des attestations administratives avec QR Code
Présenté par : Sadaoui Abdeljalil & Assoualma Safae
Encadré par : Mme. ORCHI Houda
Année universitaire : 2025/2026
PLAN
DE LA
PRÉSENTATION
01
🔍
Introduction & Contexte
Problématique et objectifs du projet
02
📋
Analyse des Besoins
Acteurs, exigences fonctionnelles et non fonctionnelles
03
🏗️
Conception du Système
Architecture, UML, modèle de données
04
💻
Réalisation & Validation
Interfaces, fonctionnalités, tests
05
✅
Conclusion & Perspectives
Bilan et évolutions futures
CHAPITRE 1
Introduction & Contexte
Comment concevoir une application web centralisée permettant de gérer les demandes d'attestations, de sécuriser leur cycle de validation, de générer des documents PDF et d'offrir à un tiers une vérification fiable à partir d'un code QR ?
Traitement papier
Faible traçabilité
Fichiers bureautiques
Absence de workflow
Portails génériques
Pas de vérification QR
Dimension Administrative
Dimension Technique
Objectifs & Périmètre du Projet
Objectifs
Centraliser les demandes
Éviter la dispersion des informations
Normaliser les attestations
Documents cohérents et contrôlés
Réduire les tâches répétitives
Automatiser la génération PDF
Assurer la traçabilité
Conserver statuts, décisions, historique
Permettre la vérification
QR Code → page officielle de contrôle
Périmètre du projet
✅ Inclus dans le périmètre
Authentification & gestion des rôles
Dépôt et traitement des demandes
Génération PDF + QR Code
Vérification publique et espace vérificateur
Historique & statistiques
❌ Hors périmètre
Signature électronique qualifiée
Intégration système national
Architecture cloud complexe
CHAPITRE 2 — ANALYSE DES BESOINS
Les Acteurs du Système
Demandeur
Dépose une nouvelle demande
Suit l'état d'avancement
Télécharge le PDF validé
Agent Administratif
Valide ou rejette les demandes
Génère les documents en PDF
Recherche des attestations
Administrateur
Gère les comptes utilisateurs
Configure les rôles et accès
Analyse statistiques et historique
Vérificateur Externe
Contrôle l'authenticité via le portail
Accède aux données par lien officiel
Exécution en mode lecture seule
Visiteur Public
Scanne le code QR facilement
Dirigé vers la page de vérification
Visualise sans compte requis
Exigences du Système
Exigences Fonctionnelles
Exigences Non Fonctionnelles
Accès & Rôles (EF1)
Connexion sécurisée, contrôle du rôle
Gestion des données (EF2, EF3)
Bénéficiaires, types d'attestations
Workflow administratif (EF4, EF5)
Dépôt, validation, rejet motivé
Production documentaire (EF6-8)
PDF + identifiant unique + QR
Contrôle & Suivi (EF9-12)
Vérification, archivage, journalisation, tableau de bord
Sécurité
Rôles, sessions, CSRF, mots de passe hachés
Traçabilité
Statuts, notifications, historique, consultations
Ergonomie
Interfaces par rôle, messages clairs
Maintenabilité
Architecture MVT, séparation claire
Confidentialité
QR vers registre, données personnelles protégées
CHAPITRE 3 — Conception
Architecture & Choix Technologiques
Stack Technologique
🐍
Python
Langage principal back-end
🎯
Django (MVT)
Framework web, sécurité, ORM, formulaires
🗄️
SQLite → PostgreSQL
Base de données (prototype → production)
📄
ReportLab
Génération des attestations PDF
📱
qrcode + Pillow
Génération du QR Code intégré au PDF
Architecture MVT de qrAPP
Model
View
Template
Utilisateur
Demande
Attestation
Notification
JournalVerification
Authentification
Dépôt
Traitement
Génération PDF/QR
Vérification
Interfaces par rôle :
Demandeur
Agent
Admin
Vérificateur
Public
Le QR Code pointe vers une URL officielle ➔ le registre applicatif est la source de confiance
Le Mécanisme de Vérification QR
Le QR n'est PAS la preuve
— il est le chemin vers la preuve. La vraie preuve est la réponse du registre applicatif.
Le QR ne contient aucune donnée personnelle en clair → protection de la confidentialité
CHAPITRE 4 — RÉALISATION
Interfaces Principales
Page d'Accueil
Point d'entrée public, présentation et accès à la vérification
Espace Demandeur
Tableau de bord, soumission de demande, suivi du statut, téléchargement PDF
Espace Agent
Réception des dossiers, traitement, validation/rejet, génération attestation
Espace Administrateur
Gestion des utilisateurs, rôles, statistiques globales, export CSV
Espace Vérificateur
Registre des attestations validées, saisie du lien officiel, historique des contrôles
Page de Vérification Publique
Résultat du scan QR : Valide / Introuvable / Non valide
Tests & Validation
Tests Automatisés
Tests Manuels — Scénarios Critiques
1
Modèles
Vérifier relations et statuts
Données cohérentes
2
Authentification
Contrôler connexions
Accès correct selon identifiants
3
Contrôle d'accès
Isolation des rôles
Refus si rôle non autorisé
4
Workflow
Déposer, valider, rejeter
Transitions conformes aux règles
5
Vérification QR
Ouvrir le lien
Résultat officiel affiché
📝
Dépôt demande
Statut « soumise »
✅
Traitement agent
Attestation créée
❌
Rejet motivé
Motif visible, dossier clôturé
📥
Téléchargement PDF
Fichier avec QR
📱
Scan QR
Page officielle affichée
🔍
Contrôle externe
Historisable
✅ Tous les scénarios du chemin critique ont été exécutés avec succès
Conclusion
Application web complète avec cycle de vie contrôlé des attestations
Mécanisme QR innovant : le registre comme source de confiance
Architecture MVT Django sécurisée avec contrôle RBAC
Prototype fonctionnel démontré avec scan QR réel
Compétences renforcées : UML, Django, sécurité, génie logiciel
qrAPP — Un prototype académique avec une vraie logique d'ingénierie
Perspectives d'Évolution
Court terme
Migration SQLite → PostgreSQL, déploiement HTTPS
Moyen terme
Signature numérique des URLs (jetons signés)
Long terme
Signature électronique qualifiée
Vision
Intégration au système d'information institutionnel
Merci pour votre attention
Questions & Discussions
Présenté par : Sadaoui Abdeljalil & Assoualma Safae
Encadré par : Mme. ORCHI Houda
Année universitaire 2025/2026 — EMSI
- django
- qr-code
- gestion-administrative
- python
- développement-web
- génie-logiciel
- rapport-de-projet