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 :

_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

10. Lexique

11. Sources