Commit Graph

19 Commits

Author SHA1 Message Date
Manus
caf95da1c1 Checkpoint: Migration complète vers authentification locale (JWT + bcrypt) : schéma DB (10 tables), routes tRPC (auth, users, etablissements, inventaire, capex, opex, parametres), page de login avec branding Itinova/Santinova, protection des routes, onglets Établissements et Utilisateurs branchés sur tRPC, import inventaire/établissements/utilisateurs via tRPC, 14 tests Vitest passants. 2026-06-10 12:17:07 +00:00
Manus
3145e9c84f Checkpoint: Inventaire PC distinct par année : clé budgetsi_inventaire_data_YYYY dans localStorage, ImportModal utilise l'année active (useAnnee), indicateur visuel des imports par année dans la modale, useBudgetData + Budget2027 + DsiCapex rechargent l'inventaire à chaque changement d'année 2026-06-10 08:47:32 +00:00
Manus
7c30c7b82b Checkpoint: Les 4 pages (Renouvellement PC, CAPEX-Construction, CAPEX-Synthèse, OPEX Charges) sont désormais directement accessibles sous ITINOVA sans sous-menus intermédiaires. 2026-06-05 08:27:22 +00:00
Manus
e13cb21883 Checkpoint: Suppression complète de la dépendance à data_budget.json : l'inventaire est désormais exclusivement alimenté par l'import utilisateur (localStorage budgetsi_inventaire_data). useBudgetData lit depuis localStorage, Budget2027 et DsiCapex calculent le renouvellement depuis l'inventaire importé, les pages affichent un état vide avec invitation à importer si aucun inventaire n'est présent. L'import stocke les postes complets (fixes/portables avec âge calculé) par établissement, utilise la colonne Type de matériel en priorité, et émet un événement custom pour notifier toutes les pages en temps réel. 2026-06-04 16:06:33 +00:00
Manus
af5d4fd703 Checkpoint: Ajout du support XLSX natif via la librairie SheetJS (xlsx). Un helper fileToRows() unifie la lecture CSV et XLSX : pour XLSX, lecture via arrayBuffer + XLSX.read + sheet_to_json ; pour CSV, détection du séparateur et split classique. Le parsing ISI-APP fonctionne désormais identiquement sur les deux formats. Les métadonnées d'import incluent le format détecté (isi-app ou classique). 2026-06-04 15:10:48 +00:00
Manus
b917aeaa56 Checkpoint: Correction du bug d'affichage de la modale : déplacement du rendu hors de la sidebar (overflow:hidden) via un ImportModalContext + rendu au niveau racine dans App.tsx. Mise à jour du prompt par défaut avec les règles précises du format ISI-APP réel (code depuis libellé 8 car., nom depuis entité, type fixe/portable depuis libellé, vétusté depuis date mise en service ou date achat). Mise à jour du parsing handleInventaireFile pour utiliser ces règles avec comptage fixes/portables dans le résumé. 2026-06-04 14:53:25 +00:00
Manus
e124a970a7 Checkpoint: Ajout d'un éditeur de prompt de processus d'import dans l'onglet "Inventaire postes" de la modale Imports & Données. Le prompt est affiché dans un bloc pliable/dépliable, modifiable via un textarea monospace (16 lignes), sauvegardable en localStorage (clé budgetsi_import_prompt), réinitialisable aux valeurs par défaut. Le prompt par défaut documente le format attendu, les colonnes obligatoires/optionnelles, les règles de traitement et le comportement attendu. Boutons Modifier / Enregistrer / Annuler / Réinitialiser par défaut. 2026-06-04 14:38:48 +00:00
Manus
ade7471956 Checkpoint: Import inventaire ISI-APP enrichi : le fichier CSV est maintenant parsé pour extraire automatiquement les établissements uniques (code + nom) et les enregistrer dans budgetsi_etablissements. Fusion intelligente avec les établissements existants (sans écrasement). Message de résultat détaillé (nb lignes, nb établissements détectés, nb nouveaux/mis à jour). Accepte de nombreuses variantes de nommage de colonnes (code_etab, code_etablissement, nom_etab, etablissement…). Message d'erreur explicite avec affichage des en-têtes détectés si les colonnes sont introuvables. 2026-06-04 14:28:26 +00:00
Manus
4ff5228ac3 Checkpoint: Ajout du bouton "Imports & Données" au-dessus du bouton Paramètres dans la sidebar (icône Upload, couleur indigo). Création du composant ImportModal avec 3 onglets : Inventaire postes (ISI-APP), Établissements (import CSV), Utilisateurs (import CSV). Enrichissement de la page Paramètres avec 3 onglets : Paramètres (contenu existant), Établissements (CRUD + activer/désactiver), Utilisateurs (CRUD + rattachement multi-établissements par checkboxes). 2026-06-04 14:11:08 +00:00
Manus
6b81d689b1 Checkpoint: Les sous-menus (Établissements, DSI) restent ouverts indépendamment jusqu'à clic pour les refermer. Les menus principaux (Itinova, Santinova…) continuent de fonctionner en accordéon (un seul ouvert à la fois). 2026-06-04 13:55:03 +00:00
Manus
f9ea5dbba5 Checkpoint: Correction du layout de la sidebar : la nav utilise maintenant flex: 1 1 0 avec minHeight: 0 et overflowY: auto, et l'aside a height: 100vh avec overflow: hidden. Cela garantit que le bouton Paramètres reste toujours visible en bas, même quand les sous-menus Établissements ou DSI sont ouverts et que le contenu dépasse la hauteur de l'écran. 2026-06-03 15:55:36 +00:00
Manus
9734ae9e93 Checkpoint: Le bouton Paramètres en bas de sidebar a été restylisté : icône dans un carré arrondi bg-white/10, label en font-semibold tracking-wide, opacité text-white/70 (au lieu de text-white/50), état actif avec ring-1 ring-white/30 et indicateur point blanc. Bien plus visible qu'avant. 2026-06-03 14:52:20 +00:00
Manus
919ee72411 Checkpoint: Suppression du badge redondant "Exercice XXXX" du composant AnneeSelectorBar. L'année active est déjà mise en évidence par le bouton sélectionné dans le sélecteur. Le header de CAPEX-Construction est réorganisé pour que le sélecteur et les boutons Réinitialiser/Enregistrer soient sur la même ligne sans chevauchement. 2026-06-03 13:13:16 +00:00
Manus
787928c722 Checkpoint: Sélecteur d'année global (2025, 2026, 2027+) sur Renouvellement PC, CAPEX-Construction, CAPEX-Synthèse et DSI-OPEX. Données CAPEX isolées par année en localStorage. Titres dynamiques selon l'année sélectionnée. 2026-06-03 09:49:14 +00:00
Manus
858f0dc4d9 Checkpoint: Sidebar refondée : application renommée Budget SI, menus accordéon avec couleurs distinctes (bleu Itinova, vert Santinova, violet Soins et Santé, orange St Exupéry), CAPEX-Synthèse déplacé dans Établissements, Construction BP 2027 renommé CAPEX-Construction. 2026-06-03 09:41:47 +00:00
Manus
751ac207c0 Checkpoint: Nouvelle navigation hiérarchique avec 4 menus principaux (Itinova, Santinova, Soins et Santé, St Exupéry), sous-menus dépliables (Établissements, DSI), sidebar partagée AppSidebar sur toutes les pages, et pages placeholder pour les sections à venir. 2026-06-02 20:50:23 +00:00
Manus
c4dce77ecc Checkpoint: Ajout de la vue liste (tableau) en complément de la vue vignettes — toggle Vignettes/Liste dans la barre de filtres, tableau avec tri par colonne, barres de vétusté colorées, budget en orange/vert. 2026-04-01 05:45:51 -04:00
Manus
745ea5dce6 Checkpoint: Application Budget Renouvellement SI 2027 Itinova — Version complète avec dashboard KPIs, grille des 75 établissements, panneau de détail par établissement avec tableau de synthèse et liste des équipements filtrables. 2026-04-01 03:48:42 -04:00
Manus
0f673d9ab0 Initial project bootstrap 2026-04-01 03:40:00 -04:00