1. Genèse du projet Hairbnb
1.1. Le déclic : une discussion devenue opportunité
À la fin de mon stage, j’ai eu l’opportunité d’assister à une discussion informelle entre mon maître de stage et plusieurs de ses cousines, toutes coiffeuses de métier.
Ce qui aurait pu rester un simple moment de convivialité a rapidement pris une tournure inattendue : cette conversation est devenue l’élément déclencheur de mon projet `Hairbnb`.
Ces femmes partageaient toutes une réalité professionnelle exigeante, souvent précaire, marquée par la flexibilité, la passion, mais aussi par une difficulté constante à structurer et développer leur activité.
Certaines travaillaient à temps partiel, d’autres en complément de leur emploi principal, mais toutes faisaient face à un manque criant d’outils numériques simples, accessibles et pensés pour elles.
Mon maître de stage, alors en pleine réorientation de son ASBL, évoquait différentes pistes de projets numériques.
Quant à moi, je cherchais encore une idée concrète pour mon application de fin de formation.
En entendant leurs témoignages, une évidence s’est imposée : il existait un besoin réel, humain, et encore non résolu auquel je pouvais répondre par une solution numérique.
C’est ainsi qu’est née l’idée de Hairbnb
.
1.2. Observation du besoin : état des lieux du secteur
À la suite de cette rencontre, j’ai entamé une analyse plus approfondie du métier de coiffeur indépendant, en m’intéressant à leur fonctionnement, à leurs outils, à leurs canaux de communication, et aux défis qu’ils rencontrent au quotidien.
Cette phase d’observation a permis d’identifier plusieurs problématiques majeures :
-
Difficulté à se faire connaître dans un marché dominé par les grandes enseignes.
-
Gestion manuelle des rendez-vous source d’erreurs et de perte de temps.
-
Absence de système de fidélisation client0
-
Coût trop élevé ou complexité des outils existants.
-
Faible visibilité numérique malgré leur savoir-faire.
Ces constats ont confirmé qu’il existait un manque de solutions adaptées pour ce type de profil : des professionnelles compétentes mais mal équipées numériquement.
1.3. Limites des solutions existantes
Des plateformes comme Planity
, Treatwell
ou encore des outils comme Shedul
offrent des fonctionnalités avancées pour la réservation en ligne ou la gestion de clientèle.
Mais ces solutions sont pensées pour des salons établis, avec un certain volume de rendez-vous et un budget dédié à la gestion.
Pour des coiffeuses indépendantes, ces plateformes représentent souvent un investissement disproportionné : abonnements mensuels, commissions, interfaces surchargées…
En résumé : trop cher, trop lourd, trop complexe.
1.4. Une idée personnelle, un besoin partagé
En écoutant ces femmes, j’ai compris qu’elles avaient besoin de simplicité, de visibilité, et d’autonomie.
Et c’est précisément ce que je voulais leur offrir à travers Hairbnb
: une application accessible, pensée pour leur quotidien, leur permettant de :
-
Créer un profil attractif,
-
Gérer leurs services et disponibilités,
-
Communiquer facilement avec leurs clientes,
-
Recevoir des paiements en ligne,
-
Et, à terme, fidéliser une clientèle régulière.
J’imaginais une plateforme légère, mobile-first, intuitive — à l’opposé des usines à gaz existantes — et qui place la coiffeuse au centre du dispositif.
2. Une idée née d’un parcours, enrichie par une vision
Dès le départ, mon objectif avec Hairbnb
n’était pas seulement de réaliser une application, mais de mettre en œuvre concrètement tout ce que j’ai appris durant mon bachelier en informatique de gestion.
Ce projet représentait une opportunité idéale pour mobiliser un ensemble de compétences acquises au fil des années :
-
Analyse et conception d’applications.
-
Programmation orientée objet.
-
Gestion des bases de données relationnelles.
-
Systèmes d’exploitation.
-
Réseaux et sécurité.
-
Projet de développement logiciel.
Je voulais que ce projet soit complet, cohérent et professionnalisant, à la fois sur le plan technique, fonctionnel et humain.
Le choix d’une application mobile multiplateforme s’est imposé très naturellement.
Étant déjà familier avec Flutter
grâce à plusieurs travaux pratiques réalisés auparavant, j’ai vu en ce framework un excellent compromis entre productivité, performance native et accessibilité multiplateforme.
Concernant le backend, mon hésitation initiale portait sur Firebase
, qui offre des solutions "tout-en-un" séduisantes, notamment pour des MVP.
Cependant, ayant étudié en profondeur les bases de données relationnelles et les systèmes backend structurés, j’ai finalement opté pour un backend en Django
(Python), plus aligné avec les principes d’organisation, de modélisation, et de scalabilité enseignés durant mon cursus.
Cela dit, je crois également à la délégation intelligente des responsabilités.
J’ai donc intégré plusieurs services externes pour gagner en efficacité et en robustesse :
-
Firebase Authentication
pour la gestion sécurisée des connexions. -
Stripe
pour les paiements. -
Firebase Firestore
pour la messagerie en temps réel.
Ces choix sont tous détaillés dans les sections techniques à venir.
Par ailleurs, dans un contexte où l’intelligence artificielle redéfinit de plus en plus le paysage numérique, j’ai voulu que Hairbnb embarque cette dimension d’innovation.L’intégration d’un module basé sur l’IA (détaillé plus loin dans le rapport) représente pour moi une manière de projeter le projet vers l’avenir, et d’offrir une expérience enrichie, personnalisée, voire assistée. |
Enfin, j’ai toujours accordé une grande importance à l’expérience utilisateur. Je souhaitais une interface :
-
Fluide et intuitive,
-
Simple à prendre en main pour un utilisateur non technique,
-
Adaptée à une utilisation mobile dans des contextes réels (salon, domicile, déplacement…).
J’admets toutefois avoir manqué certains aspects importants, comme l’accessibilité visuelle (ex. : contraste pour les personnes daltoniennes), ou encore quelques incohérences graphiques. Des améliorations sont déjà en cours de réflexion pour une future version plus inclusive et mieux finalisée sur le plan du design. |
2.1. Hébergement de l’application : choix, contraintes et mise en œuvre
La question de l’hébergement s’est posée dès les premières phases du développement de Hairbnb
.
Dans le cadre d’un travail de fin de formation, l’adoption d’une solution d’hébergement professionnelle, souvent onéreuse, n’était pas justifiée au regard des objectifs pédagogiques et expérimentaux du projet.
Une première exploration a été menée du côté des plateformes gratuites telles que Vercel
, qui se révèlent efficaces pour le déploiement d’applications front-end statiques.
Toutefois, ce type de solution ne répondait pas aux exigences spécifiques du projet Hairbnb
, qui repose sur une architecture incluant un backend Django, une base de données PostgreSQL, ainsi que l’intégration de services tiers (paiement en ligne via Stripe, messagerie via Firebase, etc.).
Face à ces limites, il a été décidé d’opter pour un hébergement local, via un serveur personnel auto-administré. Ce choix permettait de conserver un environnement de développement contrôlé, tout en assurant l’accessibilité de l’application à distance.
La mise en place a nécessité plusieurs étapes techniques :
-
L’acquisition d’un nom de domaine (
www.hairbnb.site
) afin de rendre l’application accessible publiquement. -
La création d’une machine virtuelle dédiée sur le serveur local, destinée à isoler le projet du reste du réseau domestique.
-
L’installation d’un reverse proxy (
Nginx
) assurant la redirection des requêtes HTTP/HTTPS vers le serveur Django. -
La génération d’un certificat SSL via
Let’s Encrypt
, permettant une communication chiffrée et conforme aux standards de sécurité. -
La configuration de règles de pare-feu et de redirection de ports strictes, limitant l’exposition aux menaces extérieures.
-
La restriction des connexions SSH à des adresses IP spécifiques, et la mise en place de mécanismes de protection contre les attaques de type force brute (
fail2ban
, surveillance des journaux, etc.).
Cette solution locale permet d’assurer un environnement stable, sécurisé et évolutif, tout en maîtrisant les coûts et en maintenant une flexibilité totale sur la configuration.
Les aspects plus détaillés relatifs à la sécurité réseau, à l’architecture d’accès, et aux mesures de durcissement seront abordés dans un chapitre ultérieur dédié à la sécurité informatique et à l’administration système.
3. Cahier des charges initial — Hairbnb (version MVP)
Ce premier cahier des charges correspond à la définition initiale du projet Hairbnb
, telle qu’envisagée lors de sa phase de démarrage de projet de conception d’un MVP (Minimum Viable Product).
Il s’agissait de poser les bases d’une application mobile permettant de connecter des coiffeuses indépendantes à des clientes via une interface simple et directe.
3.1. Objectifs du projet
L’objectif principal était de développer une première version fonctionnelle (MVP) d’une marketplace mobile spécialisée dans la réservation de prestations capillaires.
Cette version devait permettre :
-
Aux coiffeuses :
-
De créer une page personnelle avec leurs services, leurs réalisations et leurs informations de contact.
-
De gérer leur agenda de rendez-vous.
-
-
Aux clients :
-
De localiser les coiffeuses disponibles à proximité via une carte interactive.
-
De réserver un créneau en quelques clics.
-
Un second objectif implicite était de poser les fondations techniques pour permettre une évolution du projet vers des versions plus avancées dans le futur.
3.2. Fonctionnalités prioritaires pour le MVP
3.2.1. Pour les coiffeuses :
-
Création d’une page personnelle :
-
Présentation des services : nom, prix, durée.
-
Portfolio simple avec images des réalisations.
-
Coordonnées et localisation.
-
-
Gestion des réservations :
-
Affichage des créneaux disponibles.
-
Acceptation ou refus des demandes de rendez-vous.
-
3.2.2. Pour les clients :
-
Carte interactive :
-
Affichage des coiffeuses à proximité grâce à la géolocalisation.
-
Filtres simples (distance, service proposé).
-
-
Réservation :
-
Sélection d’un service et d’un créneau disponible.
-
Notification push de confirmation ou de rappel.
-
3.3. Livrables attendus
-
Application mobile Flutter fonctionnelle (MVP) :
-
Affichage des profils coiffeuses.
-
Carte interactive avec géolocalisation.
-
Système de réservation simple et fluide.
-
-
Documentation technique :
-
Code source commenté et organisé.
-
Recommandations pour la suite du développement.
-
3.4. Méthodologie et outils
-
Framework mobile :
Flutter
(choisi pour sa rapidité de prototypage). -
Services externes :
-
Google Maps API
pour l’intégration de la carte. -
Firebase Cloud Messaging
pour les notifications.
-
-
Méthode de travail : Agile, avec des itérations courtes (sprints hebdomadaires).
-
Outils de suivi :
Trello
ouNotion
pour le suivi des tâches.
3.5. Contraintes et limites
-
Les fonctionnalités avancées comme le paiement en ligne (
Stripe
) ou un fil d’actualité ont été exclues de cette version initiale. -
La synchronisation avec des calendriers externes (
Outlook
,Google Calendar
) est laissée pour une future itération. -
L’interface utilisateur est volontairement minimaliste, afin de prioriser la logique métier et le développement fonctionnel.
4. Cahier des charges HairBnB – Version actuelle
4.1. Évolution du projet
Pour pousser la barre un peu plus haut, je me suis vite rendu compte que le cahier des charges initial fixé au lancement du projet était trop minimaliste, et ne répondait pas pleinement aux ambitions que je m’étais fixées pour une application de TFE.
J’ai donc pris l’initiative de faire évoluer ce cahier des charges, en l’alignant davantage avec les objectifs que j’ai exposés dans les sections précédentes : concevoir une application complète, riche en fonctionnalités, moderne et évolutive.
Cette nouvelle version s’appuie sur les retours terrain, les expérimentations techniques menées, ainsi que ma volonté de concevoir un produit abouti et potentiellement exploitable au-delà du cadre académique.
4.2. Objectifs du projet (version actuelle)
4.2.1. Objectif principal
Développer une marketplace mobile professionnelle connectant coiffeurs indépendants et clients, en couvrant l’ensemble du parcours utilisateur, de la découverte du service jusqu’au paiement sécurisé.
4.2.2. Objectifs spécifiques atteints
-
Pour les coiffeurs :
-
Création d’un profil professionnel complet
-
Gestion avancée des disponibilités et plannings
-
Suivi des réservations, revenus et statistiques
-
-
Pour les clients :
-
Recherche géolocalisée de coiffeurs
-
Réservation avec paiement intégré
-
Gestion de favoris et d’avis
-
Messagerie avec les prestataires
-
Historique de rendez-vous
-
-
Pour l’écosystème :
-
Notifications en temps réel
-
Assistant IA
-
Mécanismes promotionnels personnalisés
-
4.3. Architecture technique actuelle
4.3.1. Stack technologique
-
Frontend :
Flutter
-
Backend :
Django REST Framework
-
Base de données :
PostgreSQL
-
Authentification :
Firebase Auth
+JWT
-
Géolocalisation :
geoapify
-
Paiements :
Stripe
-
Notifications :
Firebase Cloud Messaging
-
IA :
Claude AI
4.4. Fonctionnalités principales développées
4.4.1. Authentification avancée
-
Connexion email, Google
-
Rôles multiples (Client, Coiffeur, Admin)
-
Vérification de l’adresse email
-
Mot de passe oublié / réinitialisation
4.4.2. Profils utilisateurs
-
Pour les coiffeurs :
-
Informations personnelles
-
Portfolio et spécialités
-
Services et tarification
-
Création et gestion de salons (logo, horaires, etc.)
-
-
Pour les clients :
-
Profil personnel simple
-
Système de favoris
-
Historique de réservations
-
4.4.3. Catalogue de services
-
Services organisés par catégories
-
Prix, durée, description
-
Promotions temporaires
-
Affichage dynamique des tarifs réduits
4.4.4. Réservation
-
Recherche avec filtres : distance
-
Sélection de services et créneaux
-
Réservation et paiement
-
Gestion des plannings / indisponibilités
4.4.5. Paiements sécurisés
-
Stripe
: CB, Apple Pay, Google Pay -
Gestion des remboursements
-
Reçus
-
Suivi des revenus côté coiffeur
4.4.6. Communication
-
Avis et notation client/coiffeur
-
Chat intégré
-
Notifications push temps réel
4.4.7. Assistant IA Claude
-
Support automatisé
4.4.8. Back-office administrateur
-
Tableau de bord de gestion
-
Modération des contenus
-
Statistiques globales
4.5. Modèle de données
4.5.1. Entités principales
-
TblUser
-
TblCoiffeuse
-
TblSalon
-
TblService
-
TblRendezVous
-
TblPaiement
-
AIConversation
4.6. Sécurité et conformité
4.6.1. Sécurité
-
Authentification
JWT
-
Validation backend
-
Protection CSRF / XSS
4.6.2. Conformité RGPD
-
Consentement explicite
-
Droit à l’oubli
4.7. Performance et scalabilité
4.7.1. Optimisations techniques
-
Pagination
-
Compression images
4.7.2. Infrastructure
-
Monitoring et logs
4.8. 8. Différences avec le premier cahier de charge
Aspect | MVP Initial | Version actuelle |
---|---|---|
Authentification |
Basique |
Firebase + social login |
Paiements |
Non inclus |
|
Carte |
Simple |
Géolocalisation dynamique |
Services |
Statique |
Catalogue dynamique + promos |
Communication |
Notifications uniquement |
Chat + assistant IA |
Administration |
Non prévue |
Dashboard complet |
Base de données |
Simple |
Relationnelle complexe |
UI/UX |
Minimaliste |
Interface moderne |
4.9. Livrables actuels
-
Application Flutter (mobile)
-
UI complète
-
Services intégrés
-
Tests unitaires / intégration
-
-
Backend Django
-
API REST sécurisée
-
Authentification et permissions
-
Modèle de données complet
-
Documentation API
-
-
Infrastructure de déploiement
-
Configuration production
-
CI/CD (
GitHub Actions
) -
Monitoring / sauvegarde
-
4.10. Roadmap et évolutions futures
4.10.1. Fonctionnalités prévues
-
Analytics pour coiffeurs
-
Système de fidélité client
-
Vente de produits capillaires
-
Essayage virtuel (réalité augmentée)
4.10.2. Améliorations techniques
-
Migration microservices
-
Optimisation des performances
-
Tests automatisés étendus
-
Supervision avancée
4.11. Conclusion
L’application HairBnB
a franchi plusieurs étapes depuis sa version MVP initiale.
Elle intègre aujourd’hui une architecture robuste, des fonctionnalités abouties, et propose une expérience utilisateur soignée, conçue selon les ressources dont je disposais et les compétences que j’ai pu mobiliser tout au long du projet.
Avec l’ajout de composants innovants comme l’assistant IA ou la gestion financière intégrée, le projet est désormais une base solide pour un bon tarvail de fin de formation.
5. Lexique
Terme | Définition |
---|---|
API |
|
ASBL |
|
AsciiDoc |
Langage de markup léger pour créer de la documentation technique |
Backend |
Partie serveur d’une application, invisible pour l’utilisateur final, qui gère la logique métier et les données |
CI/CD |
|
Claude AI |
Assistant d’intelligence artificielle développé par Anthropic, intégré dans Hairbnb |
CSRF |
|
CSS |
|
Django |
Framework web Python pour développer des applications web robustes |
Django REST Framework |
Extension de Django spécialisée dans la création d’APIs REST |
Fail2ban |
Logiciel de protection contre les attaques par force brute |
Firebase |
Plateforme de développement d’applications mobiles et web de Google |
Firebase Auth |
Service d’authentification de Firebase |
Firebase Cloud Messaging |
Service de notifications push de Firebase |
Firebase Firestore |
Base de données NoSQL en temps réel de Firebase |
Flutter |
Framework de développement d’applications mobiles multiplateformes de Google |
Frontend |
Partie client d’une application, visible et interactive pour l’utilisateur |
Geoapify |
Service de géolocalisation et cartographie |
GitHub Actions |
Service d’intégration continue de GitHub |
Google Maps API |
Interface de programmation pour intégrer les cartes Google |
JWT |
JSON Web Token - Standard pour sécuriser les échanges d’informations |
Let’s Encrypt |
Autorité de certification gratuite pour certificats SSL/TLS |
Marketplace |
Plateforme numérique connectant vendeurs et acheteurs |
MVP |
|
Nginx |
Serveur web et proxy inverse |
NoSQL |
Type de base de données non-relationnelle |
Notion |
Application de prise de notes et gestion de projets |
PostgreSQL |
Système de gestion de base de données relationnelle open source |
Push notification |
Notification envoyée automatiquement sur un appareil mobile |
REST |
|
RGPD |
Règlement Général sur la Protection des Données |
SSL |
|
Stripe |
Plateforme de paiement en ligne |
TFE |
Travail de Fin d’Études |
Trello |
Application de gestion de projets en mode Kanban |
UI/UX |
|
Vercel |
Plateforme de déploiement pour applications web |
XSS |
|
5.1. Termes Métier et Concepts
Terme | Définition |
---|---|
Géolocalisation |
Technologie permettant de déterminer la position géographique d’un utilisateur |
Planity |
Plateforme existante de réservation pour salons de beauté |
Portfolio |
Collection d’exemples de travaux d’un coiffeur |
Reverse proxy |
Serveur intermédiaire qui dirige les requêtes vers les serveurs appropriés |
Shedul |
Logiciel de gestion pour salons de beauté |
Sprint |
Période de développement courte en méthode Agile |
Treatwell |
Plateforme européenne de réservation beauté |
5.2. Acronymes et Abréviations
Acronyme | Signification |
---|---|
HTML |
HyperText Markup Language |
HTTP/HTTPS |
HyperText Transfer Protocol (Secure) |
IP |
Internet Protocol |
SSH |
Secure Shell |
URL |
Uniform Resource Locator |
VM |
Virtual Machine (Machine Virtuelle) |
5.3. Concepts Techniques Avancés
Concept | Définition |
---|---|
Agile |
Méthode de développement logiciel itérative et collaborative |
Authentification sociale |
Connexion via comptes existants (Google, Facebook, etc.) |
Certificat SSL |
Document numérique authentifiant l’identité d’un site web |
Microservices |
Architecture où l’application est divisée en petits services indépendants |
Mobile-first |
Approche de design priorisant l’expérience mobile |
Monitoring |
Surveillance continue du fonctionnement d’un système |
Pagination |
Division du contenu en pages pour améliorer les performances |
Scalabilité |
Capacité d’un système à gérer une charge croissante |
Stack technologique |
Ensemble des technologies utilisées dans un projet |
5.4. Services et Plateformes
Service | Utilisation dans Hairbnb |
---|---|
Apple Pay |
Méthode de paiement mobile Apple (Stripe) |
Google Pay |
Méthode de paiement mobile Google (Stripe) |
Google Calendar |
Service de calendrier Google (intégration future) |
Outlook |
Client de messagerie Microsoft (intégration future) |
5.5. Termes Légaux et Conformité
Terme | Signification |
---|---|
Consentement explicite |
Accord clair et informé de l’utilisateur pour le traitement de ses données |
Droit à l’oubli |
Droit des utilisateurs à demander la suppression de leurs données personnelles |
Conformité RGPD |
Respect du règlement européen sur la protection des données |
Cette table de lexique couvre l’ensemble des termes techniques, concepts métier et acronymes utilisés dans le présent document surHairbnb
, afin de faciliter la compréhension pour les lecteurs de tous niveaux techniques.
J’espère que ce chapitre a été léger, clair, compréhensible et, surtout, pas trop ennuyeux à parcourir.
Merci pour votre temps et votre attention.