Système Agents¶
Le système agents de Urbafix comprend deux composants principaux :
- Application Mobile : Application Android native pour les agents terrain
- Gestion Backoffice : Interface d'administration pour créer et gérer les comptes agents
Gestion Backoffice¶
Interface web permettant aux administrateurs de créer et gérer les comptes agents.
| Caractéristique | Valeur |
|---|---|
| URL | /agents.php |
| Permissions | Admin, Gestionnaire |
| API | /api/admin/agents/* |
Fonctionnalités :
- ✅ Création de comptes agents avec génération automatique de mot de passe
- ✅ Modification des informations agent (nom, rôle, statut)
- ✅ Réinitialisation de mot de passe
- ✅ Activation/Désactivation de comptes
- ✅ Filtres et recherche
- ✅ Gestion des permissions par rôle
📖 Documentation complète de la gestion backoffice
Application Mobile Android¶
Application Android native pour les agents de collectivités permettant la gestion terrain des incidents signalés par les citoyens via Urbafix.
Vue d'ensemble¶
| Caractéristique | Valeur |
|---|---|
| Package | fr.urbafix.agents |
| Min SDK | 26 (Android 8.0) |
| Target SDK | 34 (Android 14) |
| Langage | Kotlin 1.9.20 |
| UI | Jetpack Compose (Material3) |
Fonctionnalités principales¶
Authentification¶
- Connexion par email/mot de passe
- Tokens JWT (access 1h, refresh 7j)
- Stockage sécurisé (EncryptedSharedPreferences)
- Verrouillage par code PIN (4 chiffres) aux reprises de l'app, sans re-saisie des identifiants
- Effacement de la session après 5 échecs de PIN consécutifs
- Déconnexion avec invalidation des tokens
Notifications push¶
- Enregistrement UnifiedPush (distributeur recommandé : ntfy)
- Notification à l'affectation d'un incident à l'agent
- Permission
POST_NOTIFICATIONSdemandée au premier lancement, indépendamment du suivi de position
Tableau de bord¶
- Statistiques en temps réel
- Compteurs par statut (nouveau, assigné, en cours, attente, résolu, clos)
- Compteur des incidents assignés à l'agent, tuile cliquable → bascule vers l'onglet Incidents avec le filtre "Assigné à moi" pré-appliqué
- Liste des 5 derniers incidents
Gestion des incidents¶
- Liste complète des incidents de la collectivité
- Filtrage par statut (dont ATTENTE), priorité et "Assigné à moi"
- Recherche textuelle (adresse, description)
- Mise en avant visuelle des incidents assignés à l'agent (liste et carte)
- Pull-to-refresh
Statut ATTENTE¶
- Motif obligatoire (
motifs_attente, configurable par mairie) + note libre + intervenant contacté optionnel - Relance automatique côté serveur si le délai configuré par la mairie est dépassé (
scripts/relance_attente.php, cron horaire) - Historique des périodes de mise en attente fusionné dans le fil de l'incident
Priorité éditable¶
- Modification de la priorité par l'agent depuis la fiche incident, conditionnée au réglage
mairies.priorite_agents_autorise - Revalidation systématique côté serveur (le flag client n'est qu'un indice UI)
Carnet de contacts (intervenants)¶
- Onglet "Contacts" : liste des intervenants actifs de la mairie (ou de toutes les mairies de la collectivité pour un agent EPCI)
- Sélecteur d'intervenant contacté proposé lors du passage en statut ATTENTE
Détail d'incident¶
- Vue complète avec mini-carte (point de l'incident) et bouton "S'y rendre" (ouverture de l'application de navigation installée ; message si aucune n'est disponible)
- Équipe assignée : plusieurs agents par incident, avec un référent désigné
- Galerie photos
- Liste des commentaires
- Modification du statut et de la priorité
- Ajout de commentaires (publics ou internes)
- Ajout de photos d'intervention
Carte¶
- Affichage des incidents sur OpenStreetMap
- Marqueurs colorés par priorité
- Géolocalisation de l'agent
- Click sur marqueur pour voir le détail
Mode hors-ligne¶
- Base de données locale SQLCipher
- File d'attente des actions
- Synchronisation automatique (WorkManager, 15 min)
- Indicateur visuel du mode offline
Types de collectivités¶
L'application supporte différents types de collectivités territoriales :
| Type | Description |
|---|---|
MAIRIE |
Commune |
COMMUNAUTE_COMMUNES |
Communauté de communes |
COMMUNAUTE_AGGLOMERATION |
Communauté d'agglomération |
METROPOLE |
Métropole |
DEPARTEMENT |
Conseil départemental |
REGION |
Conseil régional |