# Historique des versions

Numérotation : **MAJEUR.MINEUR.CORRECTIF** (`package.json > version`, affichée dans l'en-tête, sur la page de connexion et au démarrage).

## v2.0.0 — GESTFORM (gestionformulaires.fnce.cc)


**23/10/2026 (14)** : mode DEV - colonne « Ignorés » masquée dans le journal des chargements.
**23/10/2026 (13)** : certificat HTTPS local régénéré (il portait l'ancienne adresse IP 192.168.1.81 ; l'adresse actuelle du poste est 192.168.1.76) ; relancer `node outils/creer-certificat-local.js` quand l'adresse IP du poste change.
**23/10/2026 (12)** : base DEV - bandeau rouge « DEV » en haut des pages (connexion et application), pastille « DEV » dans l'en-tête et titre de l'onglet préfixé « [DEV] » ; l'étiquette vient de `ENV_LABEL` ou du nom de la base (se termine par `_dev`).
**23/10/2026 (11)** : base de développement locale `gestform_dev` (copie de la base réelle, données dans `..gestform-donnees-dev`) : `demarrer.bat` l'utilise par défaut, `demarrer-reel.bat` garde `gestform_reel` ; `reinitialiser-test.js` (donc `test-api.js`) refuse de s'exécuter sur `gestform_reel`.
**23/10/2026 (10)** : base réelle - « commande initiale » des fiches des 104 groupes ayant commandé = total commandé par montant (A 10 500, B 16 500, C 25 000, D autres montants) ; la première commande importée de chaque groupe est marquée « initiale ».
**23/10/2026 (9)** : base réelle - « livré » remis à 0 sur les 108 commandes ; DR DAOUKRO et DR DIMBOKRO chargées (1 500 formulaires chacune, 1 000 doublons de DR BOUNDIALI ignorés) ; DR DABOU non chargée ; DR ABIDJAN SUD 2 : 1 500 formulaires de FENACCI PORT-BOUET corrigés (code de groupe 310001 -> 3100001).
**23/10/2026 (8)** : base réelle - commandes remplacées par `commandes-f3-2026-10-23.xlsx` (108 commandes) ; formulaires F3 chargés (99 650) sauf DR DABOU, DR DAOUKRO et DR DIMBOKRO ; le chargement du dossier accepte aussi `DIPAC.xlsx` ; `outils/charger-f3.js --sauf=` pour écarter des classeurs.
**23/10/2026 (7)** : base réelle `gestform_reel` préparée (groupes et droits repris de la base de test, administrateur, 43 comptes DR/CZ, 47 commandes) ; outil `outils/importer-comptes.js` (création des comptes depuis un classeur et remplissage des codes d'activation) ; `demarrer-reel.bat` (port 3001, base réelle).
**23/10/2026 (6)** : tableau de bord - « Groupes qui commandent le plus » : retours talons = récépissés reçus par groupe, ligne « sans groupe organisé » et total général égal à la tuile « Retours talons » ; statistiques - écart = images capturées - récépissés reçus (négatif = images à capturer), en rouge dès qu'il n'est pas nul.
**23/10/2026 (5)** : Utilisateurs - droits en matrice (un droit par ligne, un groupe par colonne, enregistrement groupé) et tableau clair pour les droits d'un utilisateur (groupe / utilisateur / état) ; correction de l'affichage des cases à cocher ; manuel mis à jour.
**23/10/2026 (4)** : Comptage talons - code de paiement réduit avec la fiche en lecture seule à côté ; enregistrement automatique dès qu'un code valide est saisi ou scanné (case et bouton supprimés) ; curseur prêt pour le code suivant sans effacer les données ; synthèse du groupe limitée aux talons comptés ; filtre par code de paiement sur la liste de la séance ; manuel mis à jour.
**23/10/2026 (3)** : aide - manuel utilisateur complété (tous les menus, comptage, groupes et droits) ; le bouton « ? » est dans le menu principal et chaque personne ne voit que l'aide des menus dont elle a les droits.
**23/10/2026 (2)** : Talons - nouveau menu « Comptage talons » (avant « Capture images talons ») : même démarche que la capture, sans image ; chaque talon compté met à jour la réception automatique du groupe ; synthèse du groupe et liste de la séance sur la page ; nouveau droit « comptage » (colonnes FORM_CompteLe / FORM_ComptePar, ajoutées au démarrage ; une image capturée compte aussi le talon).
**23/10/2026** : capture - pour un talon, la zone noire est réduite à la bande du talon (format 2,07 : 1) avec 1 cm de marge en haut et en bas, le volant garde ses dimensions ; utilisateurs - « Rôle » devient « Groupe » ; création de groupes ; droits attribués à chaque groupe (appliqués aussitôt à ses membres) et à chaque utilisateur (droit ajouté, ou retiré malgré le groupe) ; nouvelles tables GROUPE_UTIL, GROUPE_DROIT, UTILISATEUR_DROIT (créées au démarrage, groupes d'origine repris des anciens rôles) ; le périmètre (zone / DR) vient du groupe. Réception des talons - superviseur demandé seulement pour les DR Abidjan (Centre 1 et 2, Nord, Sud 1 et 2) et DIPAC. Tableau de bord allégé (colonnes et zones supprimées, « Retours talons », « Formulaires à disposition », groupes : retours talons) ; « Récépissés saisis par jour » déplacé dans Talons > Statistiques. Commandes : colonne et tuile « Montant estimé » supprimées. Chargement F3 : zone « Dossier du serveur » supprimée.

**22/10/2026 (2)** : capture - pivotement de l'image (90°, mémorisé sur l'appareil) et cadrage mémorisé par type ; lecture du code-barres par la caméra (BarcodeDetector, sinon ZXing local `public/vendor`) en capture et en saisie ; HTTPS local facultatif (`certs/`, port 3443). Saisie - zone bleue compacte (code, DR, région, redevance, série) et agent de collecte en tête, champs en lecture seule bleus, formulaire en une colonne (accusé, carte, commentaire), image du talon agrandie et pivotable, bouton « Inverser les zones » (mémorisé).
**22/10/2026** : logiciel renommé GESTFORM (au lieu de GESTFOM) ; dossier `gestform`, données `gestform-donnees` ; capture des images également accordée au rôle CZ ; outil `outils/importer-recepisses.js` (import d'un export « Récépissés saisis » xlsx, simulation par défaut, `--appliquer`).

Nouvelle application, issue de « Saisie des récépissés FNCE » v1.0.4 : même charte graphique, même procédure de connexion.

**Technique**
* Base **MySQL** (au lieu de SQLite) ; schéma `sql/schema.sql` (tables du fichier `gestion_formulaires_fnce.txt` : TYPE_FORMULAIRE, TYPE_CARTE, TYPE_BENEFICIAIRE, DR, BENEFICIAIRE, FORMULAIRE), créé et alimenté automatiquement au premier démarrage.
* Tables ajoutées : UTILISATEUR, SESSION_WEB, COMMANDE, BORDEREAU, RECEPTION, CHARGEMENT. Colonnes ajoutées à FORMULAIRE : agent de collecte (FORM_AC*), saisie du talon, image du talon, traçabilité du chargement.
* BENEFICIAIRE : clé technique `Groupe_Code` (suite 9000001…) ; `BENE_Code` peut rester vide jusqu'au chargement des formulaires du groupe.

**Menus**
* **Commande F3** : enregistre de nouveaux groupes organisés (type DR = 21, sinon type Groupe = 31, sans BENE_Code).
* **Groupes organisés**, **Bordereaux** : pages précédentes adaptées à la nouvelle base.
* **Talons** : Réception talons, Capture images talons, Saisie talons (le code de paiement est la clé), Récépissés saisis, Statistiques (avancement par DR, saisies par opérateur et par jour), Export des saisies.
* **DR**, **Tableau de bord** (limité à la zone d'un CZ ou à la DR d'un directeur régional), **Utilisateurs**.
* **Chargement F3** : chargement des classeurs Excel (dossier du serveur ou fichier envoyé depuis le poste), avec analyse préalable et journal.

**Droits** : Administrateur, Superviseur, CZ (coordonnateur de zone), DR (directeur régional), Superviseur général, Opérateur de saisie — table unique dans `lib/droits.js`.

**Images des talons** : capture par scanner / appareil photo (navigateur) ou import ; fichiers `BENE_Code_FORM_Numero.jpg` rangés par DR puis groupe organisé, **chiffrés** (AES-256-GCM) ; talon ou volant ; comptage par redevance et alertes d'écart avec la réception.

**Interface** : police et zones de texte légèrement réduites ; affichage mobile / tablette sans débordement.
