Backoffice¶
⬇️ Télécharger cette page en Markdown
Introduction¶
Documentation de l'interface d'administration web pour les agents municipaux.
Contenu¶
Interface administration¶
Pages principales : incident_detail (layout 2 colonnes), citoyens (liste expansible, modal), groupes (critères multi-usagers).
Système de permissions¶
Rôles, services municipaux, filtrage par type d'incident, voir_tous_incidents.
Authentification collectivité (EPCI)¶
Accès multi-villes, dashboard multi-communes, services intercommunaux, géocodage.
Inscription des mairies¶
Flux d'auto-inscription en 3 étapes : vérification commune, validation par email, création du compte administrateur.
Pages Principales¶
| Page | URL | Rôle |
|---|---|---|
| Dashboard | /index.php |
Vue d'ensemble |
| Incidents | /incidents.php |
Liste et gestion |
| Détail incident | /incident_detail.php |
Vue 2 colonnes actions |
| Groupes | /groupes.php |
Signalements regroupés |
| Usagers | /citoyens.php |
Gestion citoyens |
| Types | /types.php |
Configuration catégories |
| Services | /services.php |
Départements municipaux |
| Utilisateurs | /users.php |
Gestion admins |
| Mairie | /mairie.php |
Configuration commune |
Authentification¶
// Requis sur chaque page admin
session_start();
if (!isset($_SESSION['user_id'])) {
header('Location: login.php');
exit;
}
Système de Permissions¶
Rôles¶
| Rôle | Permissions |
|---|---|
| admin | Accès total |
| gestionnaire | Lecture + modification incidents |
| lecteur | Lecture seule |
Filtrage par Service¶
$user = Auth::getUser();
if ($user['voir_tous_incidents']) {
// Voir TOUS les incidents
$typeIds = null;
} else {
// Voir uniquement incidents des types gérés par son service
$typeIds = Auth::getAccessibleTypeIds();
}
$incidents = IncidentService::listIncidents($filters, $typeIds);
Navigation Rapide¶
| Document | Description |
|---|---|
| Interface | Pages et fonctionnalités |
| Permissions | Rôles et accès |
| Collectivités | Authentification EPCI multi-villes |
| Inscription mairies | Flux d'auto-inscription par email |