Manus
193f7ce32a
Checkpoint: Ajout du secours de stockage réservé aux PDF de paie chiffrés : lorsque Forge est indisponible en recette, les octets AES-256-GCM sont stockés dans un volume hôte Docker persistant, jamais dans l'image ni la base. Import, réindexation et consultation passent par cette même abstraction, avec test de round-trip sans Forge. Compose transmet la clé AES et monte le volume dédié. Validation complète : 56 tests, TypeScript, build et format YAML.
Validation applicative / TypeScript, tests et build (push) Successful in 2m9s
2026-08-29 23:19:21 +00:00
Manus
7698e9f680
Checkpoint: Correctif d'environnement recette : docker-compose transmet désormais explicitement PAYROLL_ENCRYPTION_KEY au service applicatif. La clé AES est déjà configurée de façon sécurisée dans le fichier d'environnement recette, sans affichage de sa valeur. pnpm verify passe après cette correction : TypeScript, 55 tests et build.
Validation applicative / TypeScript, tests et build (push) Successful in 1m50s
2026-08-29 23:02:19 +00:00
Manus
82de3181df
Checkpoint: Fenêtre administrateur Salaires finalisée : import multipart limité, chiffrement AES-256-GCM avant stockage persistant hors conteneur, métadonnées/index métier minimisés en base, consultation PDF déchiffrée côté serveur avec no-store, filtres année/mois et comparaison M-1 expliquée. Réindexation sûre des archives partielles sans écrasement du PDF. Validation réelle sur deux liasses mensuelles : index partiel signalé sans invention de données, comparaison affichée et lecture après redémarrage. 55 tests Vitest, TypeScript et build de production validés.
Validation applicative / TypeScript, tests et build (push) Failing after 1m54s
2026-08-29 22:40:59 +00:00
Manus
8a58f2c2bd
Checkpoint: Déploiement recette validé de la Masse salariale, avec CI/CD Gitea et redéploiement Blue-Green du commit 0a00e70. Les wordmarks de connexion sont désormais intégrés à l'interface pour éviter les erreurs de ressources manus-storage sur la recette.
2026-08-27 16:09:49 +00:00
Manus
0a00e70a9f
fix: rendre les wordmarks de connexion indépendants du stockage
Validation applicative / TypeScript, tests et build (push) Successful in 1m35s
2026-08-27 16:02:12 +00:00
Manus
fe2a266d2d
chore: tracer le rétablissement SSH recette
Validation applicative / TypeScript, tests et build (push) Successful in 1m36s
2026-08-27 15:52:14 +00:00
Manus
15d67924ca
chore: tracer le déploiement recette masse salariale
2026-08-27 13:34:51 +00:00
Manus
da407db4de
Checkpoint: Ajout du module Masse salariale SANTINOVA : tables de salariés, rémunérations et évolutions manuelles sécurisées par rôle administrateur ; import contrôlé des bulletins 2025 et janvier–août 2026 ; écran tableau 2025–2027 ; tests d'autorisations, d'agrégats et des quatre états UI ; documentation des sources et de la politique d'import.
2026-08-27 13:10:47 +00:00
Manus
2f4b1f2e8e
Checkpoint: Déploiement Gitea de recette validé : workflow CI rendu autonome vis-à-vis de GitHub (checkout Gitea interne), signature webhook corrigée, validation CI réussie et redéploiement Blue-Green terminé avec le commit ec597da.
2026-08-27 11:11:10 +00:00
Manus
79411a6801
fix(ci): valider depuis Gitea interne
2026-08-27 10:57:05 +00:00
Manus
3b52527fd0
chore: tracer le déploiement de recette
Validation applicative / TypeScript, tests et build (push) Failing after 4s
2026-08-27 10:26:54 +00:00
Manus
eec1c4e9f7
chore: synchroniser le CI Gitea et fiabiliser le build Docker
2026-08-27 10:19:39 +00:00
Manus
9a1b9f0ac6
Checkpoint: Correction de l'échec de build cloud : remplacement de l'installation globale flottante de pnpm par Corepack 0.31.0 et pnpm 10.4.1 verrouillé par packageManager, compatible avec pnpm-lock.yaml. Installation figée, TypeScript, 22 tests et build de production vérifiés localement.
2026-08-27 09:51:28 +00:00
Manus
07b96c03c1
Checkpoint: Finalisation du suivi de l'audit : les trois évolutions futures restent documentées comme hors périmètre, sans développement ajouté.
2026-08-17 20:51:21 +00:00
Manus
615dd46059
Checkpoint: Audit de robustesse et maintenabilité : calcul dynamique des tendances OPEX par véritable année N-1, filtrage/validation centralisés des codes établissement, transactions d'import et d'écriture, contraintes uniques CAPEX/OPEX avec déduplication, suppression effective de postes OPEX, nettoyage des gabarits et scripts morts, chargement différé XLSX, documentation métier et 22 tests passants.
2026-08-17 20:50:33 +00:00
Manus
31cdb257fb
Checkpoint: Menu latéral : nom utilisateur déplacé tout en bas avec espace libre avant, ajout du menu Tableau de bord Finance sous OPEX (Charges), création de la page dédiée avec accès au dossier OneDrive Windows.
2026-06-12 10:28:47 +00:00
Manus
60fd2b891e
Checkpoint: Suppression des 6 lignes parasites en BDD (Infogérance, Sécurité, Applicatifs HEP, Applicatifs SMR, Téléphonie, TOTAL) + filtre PARASITE_PATTERNS dans handleFileImport pour empêcher leur réinsertion lors d'un import Excel.
2026-06-11 08:48:10 +00:00
Manus
0e1cab9f6c
Checkpoint: Bug corrigé : ajout contrainte UNIQUE (annee, etablissementCode) sur opex_bases_repartition + déduplication des lignes existantes — le clic ne crée plus de doublon. Nouvelle fonctionnalité : colonne "Tout manuel" (toggle) dans l'onglet Clés de répartition — quand activé pour un établissement, le calcul prorata est ignoré et seuls les montants saisis manuellement dans la vue Établissements sont utilisés. Badge ambre visible dans les deux vues.
2026-06-11 07:57:02 +00:00
Manus
cfeb5196db
Checkpoint: Corrections des deux lacunes identifiées dans l'onglet "Clés de répartition" de DSI OPEX :
...
1. Loading/error state : ClesRepartitionView reçoit désormais isLoadingBases et isErrorBases depuis la requête trpc.opex.getBasesRepartition.useQuery(). Affiche un spinner pendant le chargement et un message d'erreur si la requête échoue (au lieu d'un tableau vide trompeur).
2. Import fichier amélioré : détection intelligente de la feuille (mots-clés OPEX/DSI/répartition/base, insensible aux accents), recherche de l'en-tête dans les 15 premières lignes, normalisation des accents pour la détection des colonnes, message d'erreur détaillé avec les colonnes détectées, toast informatif si plusieurs feuilles présentes.
14 tests Vitest passants. 0 erreur TypeScript.
2026-06-11 07:24:34 +00:00
Manus
841ff1bd09
Checkpoint: Ajout de l'onglet 'Clés de répartition' dans DSI OPEX : tableau éditable avec base de répartition standard et base /HEP par établissement, import fichier Excel/CSV, info année (OPEX N → base N-2). Calcul automatique du poste SAAS DUI Pôle HEP branché sur la colonne /HEP. Nouvelle table opex_bases_repartition avec colonne baseRepartitionHep. Seed 2026 : 64 établissements dont 19 HEP. 14 tests passants, 0 erreur TypeScript.
2026-06-11 07:20:24 +00:00
Manus
020156d62c
Checkpoint: Migration complète localStorage → BDD : useBudgetData, ParametresContext, Budget2027, DsiCapex, DsiOpex, ImportModal (indicateur inventaires + suppression double-écriture). Ajout procédures tRPC : inventaire.listMeta, inventaire.getStats, opex.initFromSource, opex.deleteAll, opex.cloneFromN1. 14 tests Vitest passants. 0 erreur TypeScript.
2026-06-10 12:49:29 +00:00
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