359 lines
10 KiB
Markdown
359 lines
10 KiB
Markdown
# Cahier des Charges Techniques & Specifications Fonctionnelles
|
|
|
|
## Projet
|
|
|
|
**Systeme d'Information et de Logistique Evenementielle Interconnecte**
|
|
**Client :** Communaute de Communes Des Savanes (CCDS)
|
|
|
|
## 1. Architecture technique & configuration globale
|
|
|
|
### 1.1 Exigences environnementales & compatibilite
|
|
|
|
Le systeme doit fonctionner comme une plateforme web complete, sans imposer l'installation d'une application native externe aux agents techniques ou aux usagers.
|
|
|
|
Exigences :
|
|
|
|
- aucune application PWA, APK ou iOS dediee ne doit etre obligatoire ;
|
|
- toutes les interactions doivent etre possibles depuis un navigateur web standard ;
|
|
- l'interface d'administration doit etre optimisee pour bureau et tablette ;
|
|
- l'interface terrain / restitution doit etre concue en approche mobile-first pour des ecrans de 4 a 7 pouces ;
|
|
- les emails emis par la plateforme doivent etre compatibles avec Outlook, Gmail, Apple Mail, Yahoo et les principaux webmails.
|
|
|
|
### 1.2 Gestion de la securite, roles et permissions (RBAC)
|
|
|
|
La base de donnees et la logique applicative doivent implementer strictement trois niveaux d'acces.
|
|
|
|
#### Super-administrateur
|
|
|
|
- acces complet en lecture / ecriture sur l'ensemble du systeme ;
|
|
- seul role autorise a creer, suspendre ou supprimer des comptes ;
|
|
- seul role autorise a configurer l'inventaire materiel global ;
|
|
- seul role autorise a modifier les variables de pilotage du systeme ;
|
|
- seul role autorise a definir les stocks plafonds, les valeurs de remplacement et les regles sensibles.
|
|
|
|
#### Administrateur
|
|
|
|
- instruction complete des demandes associations ;
|
|
- validation / refus des dossiers ;
|
|
- affectation des services et agents techniques ;
|
|
- pilotage du calendrier, de la logistique et des retours ;
|
|
- traitement des dossiers de cautionnement et d'arbitrage en cas de litige ;
|
|
- impossibilite de modifier la structure de base de l'inventaire ou les comptes utilisateurs.
|
|
|
|
#### Utilisateur simple / agent de terrain
|
|
|
|
- acces limite a ses missions affectees ;
|
|
- interface mobile epuree ;
|
|
- consultation et cloture de ses seules missions logistiques ;
|
|
- absence d'acces aux modules globaux d'administration, stock, comptes, statistiques et reglage.
|
|
|
|
### 1.3 Journal d'audit inviolable
|
|
|
|
Le systeme doit integrer un journal d'audit en mode **append-only** :
|
|
|
|
- aucune modification d'une ligne d'audit ne doit etre possible ;
|
|
- aucune suppression d'une ligne d'audit ne doit etre possible, y compris pour le super-administrateur ;
|
|
- les ecritures doivent etre ajoutees chronologiquement uniquement.
|
|
|
|
Chaque enregistrement doit contenir au minimum :
|
|
|
|
- `timestamp` : date et heure issues exclusivement de l'horloge serveur ;
|
|
- `user_id` et `user_role` ;
|
|
- `action_type` ;
|
|
- `payload` lisible en langage clair ;
|
|
- `ip_address`.
|
|
|
|
Exemple attendu :
|
|
|
|
`Le 18/05 à 14h22, l'Admin X a accepté la demande #412`
|
|
|
|
## 2. Specifications des modules back-office
|
|
|
|
### 2.1 Tableau de bord operationnel
|
|
|
|
Le tableau de bord est l'ecran d'accueil par defaut apres authentification administrative.
|
|
|
|
Il doit fonctionner comme un centre de decision et se mettre a jour de facon dynamique sans rechargement complet de page.
|
|
|
|
Composants attendus :
|
|
|
|
#### Bandeau d'alertes logistiques
|
|
|
|
- **Alerte rouge** : nombre de restitutions en retard
|
|
Condition : `date actuelle > date restitution + 3 jours`
|
|
- **Alerte orange** : nombre de litiges / degradations non arbitres
|
|
- **Badge bleu** : nouvelles demandes en attente d'instruction
|
|
|
|
Chaque indicateur doit etre cliquable et appliquer un filtre direct sur les dossiers concernes.
|
|
|
|
#### Flux operationnel journalier
|
|
|
|
Deux colonnes :
|
|
|
|
- **Departs / matin** : mises a disposition ou livraisons du jour
|
|
- **Retours / apres-midi** : restitutions attendues au jour J
|
|
|
|
Chaque ligne doit faire apparaitre :
|
|
|
|
- l'association ;
|
|
- le type de mission ;
|
|
- le statut d'assignation ;
|
|
- un acces rapide au dossier.
|
|
|
|
#### Composant de visualisation des stocks
|
|
|
|
- graphique donut ou barres ;
|
|
- quantites disponibles / engagees / bloquees ;
|
|
- lecture simple par categorie de materiel.
|
|
|
|
#### Fil d'activite
|
|
|
|
- affichage des 5 derniers evenements du journal d'audit ;
|
|
- lecture chronologique claire ;
|
|
- acces au journal complet.
|
|
|
|
### 2.2 Module unifie "Dossier & assignation logistique"
|
|
|
|
Le systeme doit supprimer les blocages de navigation entre consultation et action.
|
|
|
|
#### Depuis la fiche dossier
|
|
|
|
La fiche complete d'une demande acceptee doit integrer un bloc :
|
|
|
|
`Assigner un service recuperateur`
|
|
|
|
Ce bloc doit permettre :
|
|
|
|
- de choisir un service ou agent via un menu relie a l'annuaire interne ;
|
|
- de valider l'assignation sans quitter la fiche ;
|
|
- de declencher le workflow de terrain.
|
|
|
|
#### Depuis l'ecran d'assignation
|
|
|
|
Un bouton secondaire :
|
|
|
|
`Voir la demande`
|
|
|
|
doit ouvrir un panneau lateral ou une drawer affichant :
|
|
|
|
- details de l'association ;
|
|
- liste complete du materiel ;
|
|
- dates ;
|
|
- lieu / manifestation ;
|
|
- informations utiles a la decision.
|
|
|
|
### 2.3 Calendrier logistique predictif
|
|
|
|
Le calendrier doit etre relie a l'inventaire reel.
|
|
|
|
#### Regle d'indexation stock
|
|
|
|
Lorsqu'une demande est validee sur une periode donnee :
|
|
|
|
- les quantites reservees doivent etre deduites du stock global ;
|
|
- cette deduction ne s'applique que sur la plage temporelle concernee.
|
|
|
|
#### Affichage visuel attendu
|
|
|
|
Chaque dossier doit produire trois phases visibles :
|
|
|
|
- **Sortie / livraison** : bleu
|
|
- **Manifestation / indisponibilite stock** : phase d'utilisation
|
|
- **Alerte restitution** : jaune
|
|
|
|
#### Interactions attendues
|
|
|
|
Au clic sur un evenement du calendrier :
|
|
|
|
- consulter l'agent ou service affecte ;
|
|
- reassigner la mission ;
|
|
- telecharger le PDF finalise si disponible.
|
|
|
|
### 2.4 Cartographie interactive & implantation territoriale
|
|
|
|
La cartographie doit etre connectee a la base de donnees et servir a la fois le grand public et l'administration.
|
|
|
|
Technologies recommandees :
|
|
|
|
- Leaflet.js
|
|
- ou Mapbox GL JS
|
|
|
|
Traitements attendus :
|
|
|
|
- geocodage automatique des adresses via `api-adresse.data.gouv.fr` ou `Nominatim`
|
|
- stockage des coordonnees geographiques
|
|
- clustering obligatoire pour eviter la surcharge visuelle
|
|
|
|
Filtres attendus :
|
|
|
|
- annuaire public par thematique ;
|
|
- vue logistique admin ;
|
|
- heatmap / densite ;
|
|
- filtres territoriaux sur Iracoubo, Kourou, Saint-Elie, Sinnamary.
|
|
|
|
## 3. Specifications du workflow mobile terrain
|
|
|
|
### 3.1 Declenchement & routage
|
|
|
|
Un traitement planifie quotidien doit verifier les dossiers.
|
|
|
|
Pour tout dossier dont la restitution theorique est a **J-4** :
|
|
|
|
- generer un jeton d'acces securise temporaire ;
|
|
- construire une URL unique ;
|
|
- injecter cette URL dans l'email du service ou agent affecte.
|
|
|
|
Exemple de forme attendue :
|
|
|
|
`https://ccds.fr/restitution/v1?token=sha256_unique_hash`
|
|
|
|
### 3.2 Interface mobile & gestion non bloquante
|
|
|
|
Lors de l'ouverture sur smartphone :
|
|
|
|
- les donnees de mise a disposition sont pre-remplies et figees ;
|
|
- l'agent ne modifie pas les donnees source de la demande ;
|
|
- le constat terrain se fait sur l'etat reel de restitution.
|
|
|
|
#### Bloc "Restitution de materiel"
|
|
|
|
Boutons radio exclusifs :
|
|
|
|
- `Conforme`
|
|
- `Non conforme / Partiel`
|
|
|
|
Comportement attendu :
|
|
|
|
- `Conforme` valide globalement le retour ;
|
|
- `Non conforme / Partiel` active obligatoirement le bloc observations.
|
|
|
|
#### Bloc "Observations contradictoires"
|
|
|
|
Cases a cocher :
|
|
|
|
- equipement manquant
|
|
- accessoires / visserie manquants
|
|
- armature deformee
|
|
- toile / bache dechiree
|
|
- impact / choc majeur
|
|
- restitution sale
|
|
- materiel humide
|
|
|
|
Des qu'une case est cochee :
|
|
|
|
- le champ texte libre devient obligatoire.
|
|
|
|
### 3.3 Double signature, horodatage et resilience GPS
|
|
|
|
#### Horodatage certifie
|
|
|
|
Le backend doit ecraser toute date / heure issue de l'appareil.
|
|
|
|
La date officielle est generee exclusivement par le serveur au moment de la soumission.
|
|
|
|
#### Gestion robuste de la geolocalisation
|
|
|
|
Le script `navigator.geolocation` doit :
|
|
|
|
- fonctionner en asynchrone ;
|
|
- comporter un timeout strict de `5000 ms` ;
|
|
- ne jamais bloquer la validation finale.
|
|
|
|
Scenarios :
|
|
|
|
- **Succes** : les coordonnees sont jointes a la soumission
|
|
- **Echec** : la valeur `Non disponible` est enregistree, mais la validation continue normalement
|
|
|
|
#### Signature tactile
|
|
|
|
Le systeme doit integrer :
|
|
|
|
- une zone de signature pour l'agent ;
|
|
- une zone de signature pour l'emprunteur ;
|
|
- les qualites associees ;
|
|
- un rendu suffisamment fluide pour un usage doigt / stylet.
|
|
|
|
### 3.4 Generation dynamique du PDF & archivage
|
|
|
|
Apres validation finale :
|
|
|
|
- le serveur compile le document officiel ;
|
|
- fusionne les donnees, signatures et metadonnees ;
|
|
- applique le logo CCDS ;
|
|
- produit un PDF A4 sur une page si le contenu le permet.
|
|
|
|
Contraintes de sortie :
|
|
|
|
- CSS imprimee calibree ;
|
|
- signatures visibles ;
|
|
- mise en page stable ;
|
|
- envoi automatique en piece jointe :
|
|
- a l'association ;
|
|
- a la DSU ;
|
|
- mise a jour du statut en base.
|
|
|
|
## 4. Protocole expeditif automatise : gestion des litiges
|
|
|
|
Si la restitution est saisie comme `Non conforme / Partiel` ou `Mauvais etat` :
|
|
|
|
### 4.1 Rupture de flux & gel logistique
|
|
|
|
Le dossier passe en :
|
|
|
|
`LITIGE / ATTENTE ARBITRAGE`
|
|
|
|
Le materiel concerne doit etre marque indisponible pour :
|
|
|
|
- bloquer son retour dans le calendrier ;
|
|
- empecher sa relocation par erreur.
|
|
|
|
### 4.2 Interface d'arbitrage financier
|
|
|
|
La fiche admin du dossier doit permettre :
|
|
|
|
- de saisir le cout d'un devis ;
|
|
- de saisir un cout interne ;
|
|
- ou d'appliquer la valeur de remplacement a neuf issue de l'inventaire.
|
|
|
|
### 4.3 Notification & cloture
|
|
|
|
Le systeme doit proposer :
|
|
|
|
- un bouton `Generer courrier de litige`
|
|
- un document pre-rempli pour notifier l'association
|
|
|
|
Le dossier ne peut etre cloture definitivement qu'apres arbitrage explicite parmi :
|
|
|
|
- retenue partielle sur caution
|
|
- encaissement total
|
|
- classement sans suite
|
|
|
|
La decision doit :
|
|
|
|
- mettre a jour le stock ;
|
|
- liberer ou non le materiel ;
|
|
- etre ecrite dans le journal d'audit.
|
|
|
|
## 5. Vision d'ensemble
|
|
|
|
La plateforme doit etre comprise comme un **ecosysteme logistique connecte et predictif**.
|
|
|
|
Elle doit permettre :
|
|
|
|
- de centraliser la gestion associative ;
|
|
- de piloter le materiel dans le temps ;
|
|
- de fluidifier les workflows terrain ;
|
|
- de proteger juridiquement et financierement la collectivite ;
|
|
- d'offrir a la direction un vrai centre de controle.
|
|
|
|
## 6. Resultat attendu
|
|
|
|
Le systeme final ne doit pas etre un simple outil de gestion administrative.
|
|
|
|
Il doit devenir :
|
|
|
|
- une plateforme de service public numerique ;
|
|
- un centre de pilotage logistique ;
|
|
- un outil de tracabilite ;
|
|
- un support de decision ;
|
|
- et un cadre fiable pour l'arbitrage, le stock et les operations terrain.
|