Skip to main content

Étude de casDrywall Genie

À propos du projet

Drywall Genie est une plateforme d'estimation de chantier et de métré de matériaux conçue spécifiquement pour les entrepreneurs en cloisons sèches (plaquistes). Estimuer un chantier à la main  mesurer chaque pièce ou zone, calculer le nombre de plaques de plâtre nécessaires par type et épaisseur, faire le décompte des clous, des bandes, des cornières et autres fournitures, tout en associant ces données au bon client et à la bonne date de livraison  est un processus lent, sujet aux erreurs et difficile à organiser sur plusieurs chantiers simultanés. L'objectif de Drywall Genie était d'offrir aux entrepreneurs un outil mobile remplaçant les feuilles de métré papier et les tableaux Excel : créer un chantier, le subdiviser en zones (pièces), renseigner les plaques et fournitures requises pour chaque zone, et laisser la plateforme calculer automatiquement la surface totale en pieds carrés/mètres carrés ainsi que la liste globale des matériaux, le tout directement depuis un smartphone sur le lieu de travail. La plateforme se compose d'une application mobile React Native adossée à un service FastAPI dédié, offrant une expérience fluide et native adaptée à des flux de travail autrefois réalisés sur papier.

Exigences du client

"Le client souhaitait un outil d'estimation axé sur le mobile, conçu sur mesure pour le secteur de la pose de cloisons sèches, utilisable directement sur le chantier et offrant un calcul automatique et précis des quantités et surfaces. Les exigences clés comprenaient :
• Création et gestion des chantiers avec informations sur l'entrepreneur, l'adresse, la date de mesure et la date de livraison
• Subdiviser chaque chantier en zones (pièces) avec leurs propres besoins en épaisseur de plaques et fournitures
• Prise en charge de plusieurs types de plaques (standard, 54 pouces, dimensions personnalisées) avec quantités par zone
• Suivi des fournitures (vis/clous, bandes, cornières de finition, etc.) par zone de chantier
• Calcul automatique de la surface par zone et consolidation du total pour l'ensemble du chantier
• Possibilité pour chaque entrepreneur de définir des modèles de champs/questions personnalisés et réutilisables
• Recherche et tri des chantiers par nom, date ou dernière modification
• Comptes utilisateurs avec connexion par e-mail/mot de passe ainsi que via Apple, Google et Facebook
• Conservation paramétrable des données pour nettoyer automatiquement les anciens chantiers terminés
• API backend sécurisées et versionnées adaptées au déploiement cloud/serverless

Le système devait également gérer un grand nombre de chantiers actifs sans ralentissement et garantir des calculs de quantités parfaitement fiables pour la commande des matériaux."

Solutions que nous avons fournies

"Ogma Conceptions a développé l'intégralité de la plateforme Drywall Genie : une application mobile React Native et un backend FastAPI. L'application mobile React Native offre aux entrepreneurs une expérience fluide pour créer des chantiers, ajouter des zones et enregistrer les plaques et fournitures directement depuis le terrain, sur iOS et Android à partir d'un code unique. La gestion d'état s'appuie sur Redux et Redux-Saga pour garantir la prédictibilité des appels API et des données de chantier, tandis que la navigation s'organise clairement via React Navigation.

L'écran d'ajout de zone de chantier regroupe la sélection de l'épaisseur, des types de plaques, des quantités et des fournitures. Il a bénéficié d'une optimisation poussée pour que l'ajout, la modification et la suppression de lignes restent très réactifs, même sur les chantiers complexes. L'authentification intègre les SDK natifs Google, Apple et Facebook en plus de l'accès par e-mail/mot de passe, avec des données de session chiffrées sur l'appareil. Une vérification de la connectivité prévient les erreurs en cas de réseau faible sur le chantier.

L'écran de résumé de chantier permet de générer un bilan complet (plaques, fournitures, surface) et de l'envoyer directement par e-mail ou SMS aux fournisseurs ou aux équipes. Des bannières AdMob ont été intégrées pour la version gratuite. Une section de gestion des formulaires dans les paramètres permet aux entrepreneurs de configurer leurs propres types de plaques, fournisseurs et options personnalisées.

Le backend a été développé en Python et FastAPI avec SQLAlchemy et Alembic pour structurer la hiérarchie : un Chantier contient des Zones, qui contiennent des Plaques et des Fournitures. Le calcul de la surface s'effectue automatiquement du niveau zone au niveau global. Un système d'options personnalisées (Master Job Option) permet de créer des formulaires sur mesure (texte, liste, booléen, nombre) dûment validés. La recherche et le tri sont exécutés au niveau de la base de données MongoDB/SQL pour garantir une rapidité optimale.

L'application permet aux entrepreneurs de :
• Créer un chantier et le découper en zones/pièces individuelles
• Enregistrer le type, l'épaisseur et la quantité de plaques par zone
• Suivre les fournitures (vis, bandes, cornières) par zone
• Consulter un calcul de surface automatique et précis par zone et pour l'ensemble du chantier
• Compléter des champs personnalisés adaptés à leurs méthodes de travail
• Rechercher, filtrer et trier l'historique complet des chantiers
• Se connecter via e-mail/mot de passe ou via Apple, Google et Facebook"

Défis

L'un des défis majeurs a consisté à modéliser un flux de travail réel comportant une véritable imbrication : les chantiers comprennent plusieurs zones, chaque zone contient son propre ensemble de feuilles (classées par type et épaisseur) ainsi que des fournitures ; il fallait s'assurer que toutes ces quantités soient correctement agrégées pour obtenir des totaux précis de surface (en pieds carrés) au niveau de la zone et du chantier. La mise en place de cette structure relationnelle, tout en garantissant la cohérence des processus de création et de mise à jour, a nécessité une modélisation minutieuse des données liant les chantiers, les zones de chantier, les feuilles associées aux chantiers et aux zones, ainsi que les fournitures par zone.
Un second défi résidait dans la nécessité d'offrir de la flexibilité sans sacrifier la structure. Chaque entrepreneur a ses propres méthodes de travail : certains suivent des champs supplémentaires par chantier (comme des instructions de livraison spécifiques ou des détails sur le lot) dont d'autres n'ont pas besoin. La plateforme devait permettre l'ajout de champs personnalisés définis par l'entrepreneur (via un modèle maître d'options de chantier) en complément des champs standard, sans pour autant transformer le schéma de données en un système anarchique et ingérable.
La recherche et l'organisation à grande échelle constituaient un autre enjeu : à mesure que l'historique des chantiers d'un entrepreneur s'étoffe, il doit rester possible de retrouver des chantiers via le nom de l'entrepreneur, l'adresse, les coordonnées ou la description, et de les trier par nom, date ou activité récente, le tout sans ralentir les requêtes.
La plateforme devait également assurer une gestion intelligente et automatisée du cycle de vie des anciens chantiers — en laissant à chaque entrepreneur le contrôle de la durée de conservation des chantiers terminés — sans jamais compromettre les données des chantiers actifs ou récents. Enfin, elle nécessitait un système d'authentification unifié prenant en charge à la fois les comptes traditionnels (e-mail/mot de passe) et la connexion via des services tiers (Apple, Google, Facebook).
Côté mobile, l'intégration de SDK SSO natifs (Google Sign-In, Sign in with Apple, Facebook Login) et d'autres modules natifs a soulevé de réels problèmes d'outillage de build : plusieurs bibliothèques tierces React Native pointaient encore vers JCenter — un dépôt Maven désormais fermé — ce qui bloquait les builds Android jusqu'à ce que chaque dépendance soit corrigée pour utiliser Maven Central à la place. Un bug lié à la gestion du bouton « retour » dans une bibliothèque de modales (un écouteur d'événement non libéré) a également dû être corrigé directement, car attendre une correction de la part des développeurs de la bibliothèque n'était pas envisageable pour une application déjà en production. Enfin, l'écran « Ajouter une zone de chantier » — où sont saisies toutes les informations relatives aux plaques, aux épaisseurs et aux fournitures pour une pièce donnée — devait rester rapide et prévisible, bien qu'il s'agisse de loin de l'écran le plus dense en données de l'application ; il reflète en effet toute la complexité de la relation « chantier → zone → plaque/fourniture » gérée en arrière-plan.

Caractéristiques principales

Gestion des chantiers et des zones
Les entrepreneurs créent des chantiers et les subdivisent en zones distinctes, chacune avec ses propres spécifications d'épaisseur de plaque et de matériaux, reflétant ainsi la méthode réelle de métré et de chiffrage pièce par pièce.
Calcul automatique des quantités et des surfaces
Les quantités de plaques et de fournitures saisies par zone sont automatiquement cumulées pour fournir des totaux précis de surface (au niveau de la zone et du chantier), éliminant ainsi les calculs manuels et réduisant les erreurs de commande coûteuses.
Champs de chantier personnalisables
Les entrepreneurs peuvent définir leurs propres modèles de questions réutilisables (texte, liste, booléen, nombre ou champ personnalisé) et y répondre pour chaque chantier ; la plateforme s'adapte ainsi aux méthodes de travail de chacun, sans imposer de formulaire rigide ou standardisé.
Suivi des plaques et des fournitures
Les plaques (standard, 54 pouces et autres formats sur mesure) et les fournitures (clous, bandes, cornières, etc.) sont suivies par zone de chantier avec un détail complet des quantités.
Historique des chantiers avec fonctions de recherche et de tri
Les chantiers peuvent être recherchés par description, entrepreneur, adresse ou coordonnées, et triés par nom, date ou date de dernière modification.
Gestion configurable de la conservation des chantiers
Chaque entrepreneur peut définir la durée de conservation des chantiers terminés avant leur suppression automatique, garantissant ainsi la pertinence des listes de chantiers actifs sans nécessiter de nettoyage manuel.
Authentification flexible
Prise en charge de la connexion par e-mail/mot de passe ainsi que via Apple, Google et Facebook, avec un suivi des sessions basé sur les jetons JWT pour chaque appareil.
Expérience mobile multiplateforme
Développée avec React Native pour offrir une expérience cohérente et une sensation native sur iOS et Android à partir d'une base de code unique.
Partage instantané du récapitulatif du chantier
Les entrepreneurs peuvent générer un récapitulatif complet du chantier (plaques, fournitures et surfaces) et l'envoyer directement par e-mail ou par SMS depuis l'application.
Connexion sécurisée et multi-options
Prise en charge de la connexion par e-mail/mot de passe ainsi que de l'authentification native via Google, Apple et Facebook, avec stockage chiffré des données de session sur l'appareil.

Résultat du projet

Drywall Genie a été conçue avec une approche « mobile-first » comme une plateforme d'estimation de chantiers ; elle remplace les relevés papier et les feuilles de calcul disparates par un système unique, précis et toujours à jour.
Les entrepreneurs peuvent mesurer le chantier zone par zone, suivre avec précision les plaques et les fournitures nécessaires à chaque espace, et compter sur la plateforme pour calculer automatiquement et fidèlement les surfaces totales, le tout sans quitter le site.
En associant une application mobile React Native à un backend structuré reposant sur FastAPI et SQLAlchemy, la solution offre une expérience mobile native et fluide. Elle s'appuie sur un modèle de données reflétant la réalité des mesures et des devis pour les travaux de cloisons sèches, tout en laissant à chaque entrepreneur la possibilité de personnaliser les champs suivis.
Son architecture modulaire — où les chantiers, zones, plaques, fournitures et options spécifiques constituent des entités distinctes et bien articulées — offre également une base solide pour de futures fonctionnalités telles que l'intégration avec les fournisseurs, la commande de matériaux ou la génération de rapports.

Client

Liens du projet

Pays

US

Technologies utilisées

  • Alembic

    Alembic

  • AWS

    AWS

  • Docker

    Docker

  • FastAPI

    FastAPI

  • JWT

    JWT

  • Lambda

    Lambda

  • MySql

    MySql

  • Python

    Python

  • React Native

    React Native

  • Redis

    Redis

  • SQLAlchemy

    SQLAlchemy