3.2 KiB
3.2 KiB
RLA API — Gestion des Marchés Tunisie Telecom Zone Sud
Stack cible : Node.js Express + Baserow + Docker (NAS 192.168.100.33) URL prod : https://rla.bolbol.tn Fichiers existants : index.html, config.js uniquement
Règles strictes (abonnement Pro limité en tokens)
- Lire UNIQUEMENT les fichiers demandés explicitement
- 1 tâche par session, pas de mélange de modules
- Ne jamais réécrire ce qui fonctionne déjà
- Réponses courtes et précises, sans blabla
- Travailler fichier par fichier
MCP disponibles
- baserow : http://192.168.100.33 (données marchés RLA)
- portainer : http://192.168.100.33:9000 (déploiement Docker)
Architecture frontend (index.html)
- Fichier unique SPA — HTML + CSS + JS inline
- API REST :
/api/auth/login,/api/marches,/api/stats,/api/pilotage-proactif,/api/pipeline,/api/users,/api/logs,/api/export/:format - JWT stocké en localStorage (
rla_jwt) - Thème persisté en localStorage (
rla_theme) - Rôles :
user(lecture, régions restreintes) ·admin(pipeline) ·superadmin(users, logs, exports)
Champs API normalisés via normalizeMarche(r)
Appeler normalizeMarche(r) à la réception — ensuite utiliser uniquement :
r.id_marche,r.region,r.taux_phy(number),r.tot_marche(number),r.date_debut,r.date_fin,r.observation(string)
Régions Zone Sud — source unique
Défini dans CONFIG.ALL_REGIONS (config.js). Ne pas dupliquer dans le HTML.
Accès via la variable globale ALL_REGIONS (initialisée depuis CONFIG).
Changelog v4 — 2026-04-18
Bugs corrigés
logo-TT.png/Nabil.Derouiche.jpgabsents → remplacés parlogo-RLA.svg+ avatar initiales- Thème par défaut :
loadTheme()utilise désormaisCONFIG.DEFAULT_THEME(plus d'incohérence avec config.js) showSlide(): active uniquement lesbtn-slide-N, pas les boutons export (ancien bug d'index)- Filtre entrepreneur "En Service" : se réinitialise quand la région change (
onServiceRegionChange) - Variable
const nowinutilisée supprimée
Améliorations
- normalizeMarche() : préprocesseur centralisé des champs API multi-noms
- ALL_REGIONS centralisé dans config.js, injecté partout via
buildRegionOptions() - 2 graphiques région dans Vue Générale : avancement moyen + marchés actifs par région (bar charts)
- Taille de page configurable : sélecteur 10/25/50/100 dans la pagination
- Icônes de tri actives : fa-sort-up / fa-sort-down + classe CSS sur colonne active
- Filtres période sur liste Marchés (date début / date fin) + bouton reset
- Filtre région + état dans slide Pilotage Proactif
- Modal édition utilisateur : modifier rôle, région, mot de passe (PATCH /api/users/:id)
- Toast de confirmation pour suppression utilisateur (remplace
confirm()natif) - Gestion session expirée : 401 → toast warning + déconnexion automatique après 1,5s
- Titre onglet dynamique :
⚠️ N alertes — Marchés RLAsi alertes actives - Toast unifié (error / success / warning) remplace errorToast mono-usage
- Footer : avatar initiales SVG remplace image absente
- Touche Escape ferme le modal édition