CommuneConnecte
Plateforme collaborative pour organiser les dossiers et les échanges d'une commune.
9
rôles applicatifs documentés
8
vues documentées
5
modules métier

Contexte
Les services communaux peuvent rencontrer des difficultés pour partager les dossiers, suivre les validations et conserver l'historique des actions. CommuneConnecte propose un espace centralisé pour organiser les documents et faciliter la collaboration entre les services. Le projet a été réalisé et présenté lors de la porte ouverte de la mention Automatisme et Informatique de l'Université de Vakinankaratra.
Mon rôle
J'ai coordonné une équipe de quatre personnes et participé à la conception de l'architecture, du modèle de données, des règles d'accès, des flux API et des écrans d'administration.
Architecture
01
React
Interface administrative dense, organisee pour la consultation repetee.
02
Express API
Routes métier pour dossiers, utilisateurs, rapports et messages.
03
RBAC
Controle des actions selon agent, responsable de service et administrateur.
04
Prisma + MySQL
Modele relationnel clair, migrations et requetes typees.
05
Audit logs
Historique des changements pour renforcer confiance et traçabilite.
06
Socket.io + LiveKit
Messagerie, présence et réunions temps réel raccordées au serveur applicatif.
Flux principal
- 1
Créer
Un agent soumet un dossier dans son périmètre.
- 2
Autoriser
L'API vérifie le rôle et la permission.
- 3
Valider
Le service métier contrôle la transition demandée.
- 4
Persister
Prisma applique l'écriture transactionnelle.
- 5
Tracer
Le journal d'audit conserve l'auteur et l'action.
Décisions et compromis
RBAC centralisé côté API
Pourquoi
Garantir les règles même lorsque l'interface est contournée.
Compromis
La matrice de permissions doit rester synchronisée avec les modules.
Journal d'audit séparé
Pourquoi
Conserver une trace lisible des mutations sensibles.
Compromis
Augmente le stockage et exige une politique de rétention.
Défis rencontrés
Problème
Gérer des droits différents sans dupliquer la logique métier dans chaque écran.
Solution
Centralisation des permissions par role et validation cote API avant toute mutation sensible.
Problème
Rendre une application administrative riche lisible pour des usages quotidiens.
Solution
Navigation stable, tableaux scannables, et separation claire entre administration, rapports, messages et notifications.
Fonctionnalités clés
- Tableaux de bord agent et administrateur
- Gestion des utilisateurs et roles
- Rapports, pièces jointes et détails de dossier
- Messagerie et reunions internes
- Journal d'audit administrateur
- Messagerie temps reel avec Socket.io
- Visioconference integree avec LiveKit
Pistes d'amélioration
Ajouter signature electronique, notifications WhatsApp et workflow d'approbation configurable.
Limites actuelles
- Les gains de temps doivent être validés pendant un déploiement pilote.
- La signature électronique et les notifications externes ne sont pas encore intégrées.