Note au lecteur
Le présent rapport est réalisé dans le cadre de l’épreuve intégrée concluant le cursus de Bachelier en Informatique de gestion à l’EAFC de Colfontaine (année académique 2024-2025).
Afin de garantir une consultation fluide et d’éviter la manipulation d’un document unique de taille excessive, ce travail a été délibérément scindé en plusieurs sous-rapports.
Chaque fichier correspond à un chapitre distinct du projet.
De plus, en raison du volume conséquent du code source, celui-ci n’a pu être transmis par courriel.
L’intégralité des projets frontend et backend est accessible à tout moment sur la plateforme GitHub aux adresses suivantes :
Lien vers le dépôt GitHub 1 : https://github.com/tfeWilliam/backend/tree/clean-afterAI
Lien vers le dépôt GitHub 2 : https://github.com/tfeWilliam/frontend/tree/clean-afterAI
_Enfin, pour une expérience de lecture enrichie et plus intuitive, une version web interactive de ce rapport est disponible à l’adresse https://www.soulayman.be. _
Ce site sera pleinement opérationnel à partir du 19 juin 2025.
Chapitre I: "Hairbnb" - De l’Idée à la Création
1. Genèse du projet Hairbnb
-
1.1. Le déclic: une discussion devenue opportunité
-
1.2. Observation du besoin état des lieux du secteur
-
1.3. Limites des solutions existantes
-
1.4. Une idée personnelle, un besoin partagé
2. Une idée née d’un parcours, enrichie par une vision
-
2.1. Hébergement de l’application: choix, contraintes et mise en œuvre
3. Cahier des charges initial - Hairbnb (version MVP)
-
3.1. Objectifs du projet
-
3.2. Fonctionnalités prioritaires pour le MVP
-
3.3. Livrables attendus
-
3.4. Méthodologie et outils
-
3.5. Contraintes et limites
4. Cahier des charges HairBnB - Version actuelle
-
4.1. Évolution du projet
-
4.2. Objectifs du projet (version actuelle)
-
4.3. Architecture technique actuelle
-
4.4. Fonctionnalités principales développées
-
4.5. Modèle de données
-
4.6. Sécurité et conformité
-
4.7. Performance et scalabilité
-
4.8. Différences avec le premier cahier de charge
-
4.9. Livrables actuels
-
4.10. Roadmap et évolutions futures
-
4.11. Conclusion
5. Lexique
-
5.1. Termes Métier et Concepts
-
5.2. Acronymes et Abréviations
-
5.3. Concepts Techniques Avancés
-
5.4. Services et Plateformes
-
5.5. Termes Légaux et Conformité
Chapitre II: Hairbnb Analyse metier (Business)
1. Contexte et enjeux du secteur de la coiffure
-
1.1. Hairbnb: une réponse aux besoins des coiffeuses indépendantes
-
1.2. Le but de Hairbnb
-
1.3. Aperçu du projet
2. As-Is (Business)
-
2.1. Qu’est-ce que l’analyse métier ?
-
2.2. Définition du Diagramme de Cas d’Utilisation (Use Case Diagram)
-
2.3. Définition des acteurs (situation As-Is)
-
2.4. Acteurs As-Is
3. Diagramme 'd’activités business As-Is
-
3.1. Qu’est ce qu’un diagramme d’activité?
4. To-Be Client
-
4.1. Diagramme 'Cas d’utilisation' Business To-Be - Partie Client
-
4.2. Diagramme 'd’activité' Business To-Be - Partie Client
-
4.3. Cas d’utilisation Business To-Be - Partie Client
5. Cas d’utilisation Business To-Be - Partie Coiffeuse & Propriétaire
-
5.1. Diagramme de Cas d’utilisation (UseCase) To-Be Coiffeuse / Propriétaire
-
5.2. Diagramme d’activité de la coiffeuse/propriétaire Business To-Be
6. Cas d’utilisation Business To-Be Partie Administrateur
-
6.1. Diagramme de Cas d’utilisation (UseCase) To-Be Administrateur
-
6.2. Diagramme d’activité de l’administrateur Business To-Be
7. Conclusion de l’analyse métier
Chapitre III: "Hairbnb" Analyse système
1. Introduction
2. L’analyse système
-
2.1. Qu’est-ce que l’analyse système ?
-
2.2. Comparaison entre analyse métier et analyse système
3. L’analyse "Client" système
-
3.1. Diagramme de cas d’utilisation (use case): Client Système
-
3.2. Synthèse des cas d’utilisation - Client
-
3.3. UC_S1: Gérer le profil
-
3.4. UC_S3: Chercher / Géolocaliser un salon
-
3.5. UC_S4: Consulter les détails de salon
-
3.6. UC_S5: Ajouter / Retirer un salon des favoris
-
3.7. UC S6: Consulter les services et les tarifs
-
3.8. UC_S7: Gérer le panier
-
3.9. UC_S8: Gérer les rendez-vous
-
3.10. UC_S9: Choisir un rendez-vous
-
3.11. UC_S10: Valider et payer
-
3.12. UC_S11: Recevoir des notifications
-
3.13. UC_S12: Entamer une conversation avec une coiffeuse
-
3.14. Diagramme d’activité global - Hairbnb (Client)
-
3.15. Diagramme de séquence global - Hairbnb (Client)
-
3.16. Conclusion sur les cas d’utilisation côté client
4. L’analyse "Système d’authentification"
-
4.1. À propos du choix de l’authentification avec Firebase Auth
-
4.2. Diagramme de cas d’utilisation de l’authentification
-
4.3. Synthèse des cas d’utilisation - Authentification Hairbnb
-
4.4. UC_SA1: Créer un compte client
-
4.5. UC_SA2: Créer un compte coiffeuse
-
4.6. UC_S2: S’authentifier
-
4.7. UC_SA3: Utiliser un compte Google
-
4.8. UC_SA4: Créer un compte avec email et mot de passe
-
4.9. UC_SA5: Valider le compte (email)
-
4.10. UC_SA6: Se connecter avec email et mot de passe
-
4.11. UC_SA7: Réinitialiser le mot de passe
-
4.12. UC_SA8: Générer un token
-
4.13. Diagramme d’activité global - Authentification
-
4.14. Diagramme de séquence global - Authentification
5. L’analyse "Coiffeuse" système
-
5.1. Diagramme de cas d’utilisation (use case) coiffeuse
-
5.2. Synthèse des cas d’utilisation Coiffeuse / Propriétaire
-
5.3. UC_SC1: Gérer les services proposés
-
5.4. UC_SC2: Gérer les disponibilités
-
5.5. UC_SC3: Être notifiée des réservations
-
5.6. UC_SC5: Réaliser une prestation
-
5.7. UC_SC6: Consulter les avis clients
-
5.8. UC_SC7: Gérer son image et sa galerie
-
5.9. UC_SC8: Consulter les paiements reçus
-
5.10. UC_SC9: Consulter les statistiques / analytique
-
5.11. UC_SC10: Créer un compte coiffeuse
-
5.12. UC_SC11: Gérer les réservations
-
5.13. UC_SC12: Gérer les promotions
-
5.14. Diagramme d’activité global - Hairbnb (Coiffeuse & Propriétaire)
-
5.15. Diagramme d’activité global - Hairbnb (Coiffeuse & Propriétaire)
6. L’analyse "L’administrateur" système
-
6.1. Diagramme de cas d’utilisation - Administrateur
-
6.2. Synthèse des cas d’utilisation - Administrateur
-
6.3. UC_A1: Suivre l’activité de la plateforme
-
6.4. Ecrans - Suivre l’activité de la plateforme
-
6.5. UC_A2: Modérer les utilisateurs
-
6.6. UC_A3: Superviser les incidents techniques
-
6.7. Diagramme d’activité: Superviser les incidents techniques (UC_A3)
-
6.8. Diagramme de séquence: Superviser les incidents techniques (UC_A3)
-
6.9. UC_A4: Suivre l’activité de la plateforme
-
6.10. UC_A5: Gérer la modération des avis
7. Conclusion de l’analyse système
8. Lexique des termes techniques
9. Sources et références
-
9.1. Notes sur les sources
Chapitre IV: "Hairbnb" Analyse Base de données (méthode MERISE)
1. Introduction
2. Qu’est-ce que la méthode MERISE?
-
2.1. Définition
-
2.2. Historique et contexte
-
2.3. Principe fondamental
-
2.4. Les trois cycles de MERISE
-
2.5. Focus sur la modélisation des données
-
2.6. Avantages de la méthode MERISE
-
2.7. Limites et critiques
-
2.8. MERISE vs autres approches
-
2.9. Position de MERISE aujourd’hui
3. Modèle Conceptuel des Données (MCD)
-
3.1. Qu’est-ce que le modèle conceptuel des données (MCD) ?
4. Le MCD Hairbnb
5. Le modele logique des donnees (MLD)
-
5.1. Qu’est-ce que le modèle logique des données (MLD) ?
6. Le MLD Hairbnb
-
6.1. Gestion des utilisateurs et des profils
-
6.2. MLD tables user & tables dérivées
-
6.3. Contenu possible de la tables user & tables dérivées
-
6.4. La Composition de l’adresse
-
6.5. Entités liérs à la table TBLCOIFFEUSE
-
6.6. Entités liérs à la table TBLCOIFFEUSE
-
6.7. MLD Entités liérs à la table TBLCOIFFEUSE
-
6.8. Contenu possible de chaque table
-
6.9. Les tables associées à une réservation
-
6.10. Relations entre les entités
-
6.11. MLD Pour TblSalonService et les relations qui lui sont liées
-
6.12. Les tables associées au panier
-
6.13. MLD Les tables associées au panier
-
6.14. Théorie du panier: fonctionnement général
-
6.15. Les tables associées à une réservation
-
6.16. MLD des tables associées à une réservation
-
6.17. Les entités associées au système de paiement
-
6.18. Les entités associées au système de notification par email
-
6.19. MLD des tables de notifications
-
6.20. Les entités associées au système de messagerie IA
-
6.21. MLD des tables de messagerie IA
-
6.22. Conclusion de la partie Analyse Base de données
-
6.23. Lexique des termes techniques - Rapport Hairbnb
-
6.24. Sources et références
Chapitre V: La sécurité de l’application Hairbnb
1. Introduction
-
1.1. Contexte et objectifs de l’analyse
-
1.2. Qu’est-ce que Hairbnb exactement?
-
1.3. Les enjeux de sécurité (et pourquoi ça me tient à cœur)
-
1.4. Méthodologie d’analyse
-
1.5. Structure du document
-
1.6. Portée et limitations
2. Architecture générale de sécurité
-
2.1. Vue d’ensemble du système
-
2.2. Services tiers intégrés
-
2.3. Principes de sécurité appliqués
3. Sécurité du Frontend Flutter
-
3.1. Architecture de sécurité mobile et web
-
3.2. Authentification et gestion des sessions
-
3.3. Sécurité des données géographiques
-
3.4. Gestion sécurisée des liens profonds
-
3.5. Validation côté client
-
3.6. Communication sécurisée avec l’AΑΡΙ
-
3.7. Sécurité spécifique aux plateformes mobiles
4. Infrastructure et reverse proxy
-
4.1. Architecture du reverse proxy
-
4.2. Gestion SSL/TLS sécurisée
-
4.3. Qu’est-ce que SSL/TLS?
-
4.4. Par niveau de validation
-
4.5. Par couverture
-
4.6. Sécurité et protection contre les attaques
-
4.7. Headers de sécurité
-
4.8. Protection contre les chemins malveillants
-
4.9. Surveillance et logging
-
4.10. Liaison domaine vers serveur local
-
4.11. Gestion des fichiers statiques
-
4.12. Analyse des performances et fiabilité
5. La sécurité du backend
-
5.1. Le backend: Le cerveau de HairBnB
-
5.2. Rôle et responsabilités du backend
-
5.3. Enjeux critiques de sécurité
-
5.4. Principe de "Confiance Zéro"
-
5.5. Système d’authentification et d’autorisation
-
5.6. Les "Décorateurs" - Gardiens intelligents
-
5.7. Exemple concret: Gestion des revenus
-
5.8. Avantages des décorateurs
-
5.9. Les Middlewares - Filtres de sécurité
-
5.10. Filtre géographique - Protection par pays
-
5.11. Configuration du filtrage géographique
-
5.12. Protection CSRF
-
5.13. Configuration de sécurité avancée
-
5.14. Monitoring et logging
-
5.15. Gestion des erreurs sécurisée
-
5.16. Avantages du système complet
6. Gestion de versions et sauvegarde - Une leçon durement apprise
-
6.1. Les outils de gestion de version: indispensables mais dangereux
-
6.2. Mon expérience traumatisante avec Git
-
6.3. L’idée de la sauvegarde automatique
-
6.4. Fonctionnement du système de sauvegarde
-
6.5. Bénéfices du système de sauvegarde
7. Conclusion
8. Lexique Technique
-
8.1. Technologies et Frameworks
-
8.2. Concepts de Sécurité
-
8.3. Standards et Réglementations
-
8.4. Headers de Sécurité
-
8.5. Acronymes Techniques
-
8.6. Concepts de Développement
9. Tableau des Sources
-
9.1. Sources de Documentation Officielle
10. Sources Complémentaires
Chapitre VI: L’IA - Un Choix Stratégique pour une Application d’Avenir
1. Introduction
2. L’integration de l’IA dans "HairBnB"
-
2.1. Objectif de l’Intégration de l’IA
-
2.2. Technologies Clés
-
2.3. Public Cible
3. Architecture Générale de la Solution
-
3.1. Orchestration du Flux par les Vues
4. Une Technologie de Pointe au Service du Développement
-
4.1. L’Approche Traditionnelle vs. L’Approche IA
5. Workflow Moderne avec Claude Desktop
-
5.1. Cas Concrets d’Utilisation dans HairBnB
6. Avantages Pratiques Immédiats
-
6.1. Gain de Temps Substantiel
-
6.2. Exemple Concret: Debugging d’une Réservation
-
6.3. Architecture Technique de l’Intégration
-
6.4. Impact sur la Productivité
7. Recherche Documentaire Assistée par IA
8. Le Défi Linguistique dans la Rédaction Technique
9. Correction Linguistique Automatisée
-
9.1. Traduction et Adaptation de Documentation
-
9.2. Création de Diagrammes avec PlantUML
-
9.3. Impact sur la Productivité Rédactionnelle
-
9.4. Méthodologie de Travail Collaboratif
-
9.5. Exemple Concret de Transformation
-
9.6. Bénéfices Quantifiables
-
9.7. Conclusion: L’IA comme Démocratisateur Linguistique