Développement full-stack

Interveo

Suivi d'interventions techniques pour PME du bâtiment : application mobile hors ligne pour les techniciens, back-office web pour le directeur, le responsable technique...

Résumé

Le besoin
Dans les PME du bâtiment, les techniciens font souvent leurs rapports d’intervention dans des groupes WhatsApp, où messages, photos et comptes rendus se mélangent et se perdent vite : il devient difficile de retrouver qui a fait quoi, quand et chez quel client.
Ce que j'ai fait
Une application mobile pour les techniciens, un back-office web pour le directeur.
Le résultat
Une intervention suivie de bout en bout : créée au bureau, réalisée sur le terrain même sans réseau, puis consultée avec son compte rendu et ses photos.

Voir une intervention du début à la fin

Une même intervention de bout en bout : le directeur la crée sur le web, le technicien la complète sur son téléphone avec un texte et deux photos (au moin une avant intervention et une après intervention), puis le directeur consulte le compte rendu. La démonstration est tournée en local.

Le directeur crée l'intervention

Depuis le back-office, le directeur renseigne le client, l'adresse, le téléphone, le motif, le type d'équipement, la date et le technicien. L'intervention arrive ensuite sur le téléphone de celui-ci.

Création d'une intervention dans le back-office
Création d'une intervention dans le back-office

Le technicien la réalise sur son téléphone

Sur son téléphone, le technicien retrouve l'intervention dans sa liste, saisit le problème constaté et les travaux réalisés, ajoute des photos avant et après, puis la clôture. Tout est enregistré sur l'appareil au fil de la saisie, sans bouton Enregistrer, et part au serveur dès que le réseau est de retour.

Liste des interventions
Liste des interventions
Texte et photos avant et après
Texte et photos avant et après
Compte rendu synchronisé
Compte rendu synchronisé

Le directeur retrouve ses interventions

Le directeur retrouve toutes les interventions dans une liste qu'il peut filtrer et dans laquelle il peut rechercher. Il peut exporter la liste en CSV et gérer les comptes des techniciens.

Liste des interventions du back-office
Liste des interventions du back-office

Le compte rendu avec les photos avant et après

Après la synchronisation, le directeur retrouve le texte et les photos avant et après, qu'il ouvre en plein écran. Une intervention se télécharge aussi en PDF.

Détail d'une intervention réalisée, avec photos avant et après
Détail d'une intervention réalisée, avec photos avant et après

Une API pour deux interfaces

Une API NestJS unique, consommée par le back-office web et par l'application mobile. L'architecture suit un monolithe modulaire en couches (contrôleur, service, domaine, repository), choisi plutôt qu'une architecture hexagonale ou événementielle.

Les photos passent par une interface de stockage dont l'implémentation peut être remplacée sans toucher au métier. Le diagramme reprend le modèle C4 : contexte, conteneurs et composants de l'API, de l'application mobile et du back-office.

ComposantTechnologieRôle
Application mobileFlutter, Drift, RiverpodSaisie hors ligne et synchronisation
Back-office webNext.js 14, React Query, Tailwind CSSCréation, suivi, exports et comptes
APINestJS 12, PrismaAuthentification, interventions, photos, synchronisation
Base de donnéesPostgreSQLComptes, interventions et métadonnées des photos
PhotosSystème de fichiersStockage derrière une interface remplaçable
Les composants d'Interveo
Architecture d'Interveo modélisée en notation C4

Hors ligne, sans rien perdre

Le mobile lit toujours sa base locale (Drift). Au retour du réseau, il envoie d'abord les clôtures et les photos, puis récupère les nouveautés par delta. Si le directeur a annulé une intervention entre-temps, l'annulation l'emporte et le technicien en est prévenu.

Tout le code et les décisions sont publics

Chacune des trois applications (API, back-office web, application mobile) a son dépôt public, avec le code complet, une fiche d'architecture validée (ADR) et un journal d'architecture daté. L'API publie aussi son contrat OpenAPI et le diagramme C4 ci-dessus.

Pour essayer Interveo chez soi, le README du dépôt de l'API explique comment lancer l'API, le back-office et la base de données avec `docker compose up`, et celui du dépôt mobile comment installer l'application depuis ses Releases pour la brancher à cette API locale. Le lien du résumé, en haut de page, mène aux dépôts GitHub où chacun peut voir ce qui l'intéresse.