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.
- Liens
- Code source
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.

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.



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.

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.

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.
| Composant | Technologie | Rôle |
|---|---|---|
| Application mobile | Flutter, Drift, Riverpod | Saisie hors ligne et synchronisation |
| Back-office web | Next.js 14, React Query, Tailwind CSS | Création, suivi, exports et comptes |
| API | NestJS 12, Prisma | Authentification, interventions, photos, synchronisation |
| Base de données | PostgreSQL | Comptes, interventions et métadonnées des photos |
| Photos | Système de fichiers | Stockage derrière une interface remplaçable |
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.