À propos
Feuille de route
Lots de déploiement
- Lot 7 : Gestion des CGV
- Lot 8 : gestion des coûts et de la marge, KPI
- Lot 9 : Documentation administrateur
Historique des grandes itérations
Version 6.x
v6.1.2 — Retire le doublon « Version actuelle » sur À propos
- Retour d'usage : la mention « Version actuelle » était codée en dur dans le template, en plus de l'introduction éditable de la page — désormais déplacée par l'utilisateur dans l'introduction, elle s'affichait deux fois. Le code en dur est retiré ; cette mention se tient désormais à jour à la main comme l'encart Historique.
v6.1.1 — L'application s'appelle désormais DealMaker
- Renommage d'écran uniquement (demande explicite) : nom affiché dans le bandeau, l'onglet du navigateur, le README et le titre technique de l'application — aucun changement de code interne (classes, tables, routes).
v6.1.0 — Correctif : conflit de grilles primaires (double facturation)
- Quand deux règles indépendantes forcent chacune une grille primaire différente d'une même catégorie (ex. Archivage), le choix de l'utilisateur ne survivait pas à un simple changement de volume : le bandeau d'avertissement réapparaissait, et surtout les DEUX grilles restaient facturées simultanément quel que soit le choix affiché.
- Le choix est désormais transmis au moteur de calcul (pas seulement à l'affichage) et re-soumis automatiquement à chaque rafraîchissement, tant qu'il n'est pas changé explicitement.
v6.0.0 — Guide utilisateur intégré
- Nouveau guide public (menu « Guide ») : sommaire, Premiers pas, Concepts, Devis et offres, Questions fréquentes — entièrement administrable comme le reste des contenus du site, sans texte en dur.
- Schémas illustrant le parcours d'un chiffrage, la hiérarchie du catalogue (mode paliers/mode matrice) et la sélection de tranche « meilleur tarif ».
- Liens croisés vers le guide ajoutés dans les bulles d'aide du chiffrage, du répertoire de devis et des offres (publiques et gestion admin).
Version 5.x
v5.4.0 — Pied de page sur toutes les pages, historique administrable
- Le pied de page (jusqu'ici réservé à l'accueil) peut désormais être renseigné sur n'importe quelle page depuis Contenus du site.
- L'historique des versions ci-dessous n'est plus figé dans le code : c'est un encart par version majeure, éditable comme la feuille de route juste au-dessus.
v5.3.2 — Les noms de catalogue rejoignent la gestion des contenus
- L'écran « Catalogues » de Paramètres du site a disparu : les noms des catalogues Abonnements et Prestation (affichés dans le menu, en haut de leur page, et sur l'onglet Chiffrage en mode matrice) s'éditent désormais depuis Contenus du site, comme le titre de n'importe quelle autre page.
v5.3.1 — Arbre des contenus : le glisser-déposer persiste réellement
- Corrigé : déplacer une page ou une section dans l'arbre de /admin/contenus semblait fonctionner à l'écran mais ne persistait pas, et le menu réel ne bougeait pas — le déplacement ne s'applique plus qu'à la dépose (jamais pendant le survol), comme pour les autres arbres de l'application.
- Corrigé : le triangle de pli/dépli d'une page s'affichait décalé au-dessus de son nom plutôt qu'à côté.
v5.3.0 — Arbre des contenus : glisser-déposer corrigé, encarts visibles, ergonomie
- Les boutons « Tout déplier »/« Tout replier » fonctionnent désormais sur l'arbre de /admin/contenus.
- Les encarts d'une page sont maintenant visibles et cliquables directement dans l'arbre, sous leur page.
- Les groupes et menus déroulants (Administration, Administration globale…) s'affichent en texte simple, sans encart — réservé aux pages et aux encarts.
- Corrigé : le glisser-déposer d'une page de premier niveau (ex. Accueil) entre deux menus déroulants ne fonctionnait pas ; l'arbre affichait le titre de la page plutôt que son libellé de menu.
v5.2.0 — Le menu du site devient une administration de contenus à part entière
- L'arbre de /admin/contenus est désormais le reflet exact du menu du site (dropdown › groupe › page) : le glisser-déposer y réordonne réellement le menu, immédiatement.
- Chaque page du site a maintenant un titre unique (repris dans le menu et en haut de la page — sauf surcharge propre au menu, ex. « Sur mesure » vs « Chiffrage »), une introduction facultative et une bulle d'aide « ? », tous éditables depuis cet écran.
- Chaque page peut recevoir des encarts (comme sur l'accueil), positionnés avant ou après son contenu réel et réordonnables par glisser-déposer.
v5.1.0 — Page d'accueil dans l'arbre, réordonnancement par glisser-déposer, ménage
- La page d'accueil est désormais une page comme les autres dans l'arbre de /admin/contenus (section « Page d'accueil ») : ses textes se réordonnent par glisser-déposer, au lieu de cases à cocher parmi n'importe quel texte du site.
- Un texte qui sert de bulle d'aide à une autre page n'est plus jamais aussi affiché sur l'accueil : les deux usages sont désormais des textes distincts qui évoluent indépendamment.
- « Chiffrage Run » (page non présente dans le menu depuis longtemps) a été retiré de l'arbre des contenus — sa page reste pleinement fonctionnelle par ailleurs.
v5.0.0 — Lot 5 : administration unifiée des contenus du site
- /admin/accueil et /admin/notice fusionnés en un seul écran, /admin/contenus : titre/introduction/pied de page de l'accueil, sélection des textes qui y sont affichés, et arbre des textes d'aide par page, au même endroit. Les deux anciennes routes redirigent désormais vers ce nouvel écran.
- Convention anti-dérive : chaque texte d'aide porte désormais un identifiant technique stable (slug), posé une fois pour toutes et jamais recalculé — c'est par lui, et non plus par un identifiant de base fragile, que l'accueil retrouve les textes à afficher.
- Un texte associé à une page ne peut plus être supprimé par erreur tant qu'il reste associé (l'association doit d'abord être retirée).
Version 4.x
v4.21 — Préfixe OFF- des offres, recherche d'arbre plus précise, ergonomie du Catalogue prestation
- Une offre du Référentiel utilise désormais le préfixe OFF- (ex. OFF-2026-0001) plutôt que DEV-, pour la distinguer d'un devis client au premier coup d'œil — y compris pour les offres déjà enregistrées.
- Corrigé : dans un arbre profond (Catalogue prestation, Sélection des tâches), un titre correspondant à la recherche rendait tout son contenu visible sans filtrage, noyant le résultat sous des éléments sans rapport. Seuls les éléments qui contiennent le texte recherché, et les nœuds parents nécessaires pour y accéder, apparaissent désormais.
- Corrigé : l'arbre de la Sélection des tâches (Chiffrage) perdait son indentation dès qu'un groupe de haut niveau du Catalogue prestation existait.
- Les inputs d'ajout du Catalogue prestation (Type / Catégorie / Groupe) ont un espacement vertical régulier et le bouton "+" reste toujours sur la même ligne que son champ.
v4.20 — Correctif hiérarchie du Catalogue prestation, vocabulaire des groupes, anciennes références
- Corrigé : une catégorie du Catalogue prestation englobait à tort toutes les catégories suivantes une fois dépliée (balise non fermée introduite par le regroupement de haut niveau de la v4.19).
- Le nouveau niveau de regroupement de haut niveau du Catalogue prestation s'appelle désormais « Type » à l'écran (pas de changement de fonctionnement), pour ne plus porter le même nom que le niveau « Groupe » existant sous une catégorie. Les inputs d'ajout (Type / Catégorie / Groupe) sont légèrement décalés pour visualiser la hiérarchie.
- Les devis et dossiers déjà enregistrés avant la v4.18 (référence avec code client, ex. DEV-2026-ACM-0001) sont désormais eux aussi renommés au format actuel (DEV-2026-0001) — jusqu'ici seuls les nouveaux devis en bénéficiaient.
v4.19 — Groupes de catégories dans le Catalogue prestation
- Nouveau niveau hiérarchique au-dessus des catégories du Catalogue prestation, pour les regrouper (ex. « Projet sur mesure », « Projet PA », « Change request »). Création, renommage, suppression (déclasse ses catégories plutôt que de les bloquer), réorganisation par glisser-déposer et reclassement d'une catégorie vers un groupe : même fonctionnement que les niveaux d'arbre existants.
- La recherche dans l'arbre du Catalogue prestation et de la Sélection des tâches (Chiffrage) trouve désormais aussi le nom d'un groupe de haut niveau.
- Tant qu'aucun groupe n'est créé, l'affichage reste inchangé (pas de « Sans groupe » superflu).
v4.18 — Référence sans code client, nom des catalogues personnalisable
- La référence d'un devis (ex. DEV-2026-0001) n'intègre plus le code client — jugée plus lisible courte. Le client reste affiché séparément partout (colonne Client, "REF : nom"...).
- Nom racine des deux catalogues ("Abonnements", "Prestation") personnalisable depuis Paramètres du site — affiché dans le menu ("Catalogue {nom}") et sur leur page d'administration. Sans effet sur le nom des types de solution individuels (SaaS, Support...).
- L'onglet Chiffrage d'une partie en mode Prestation affiche désormais le nom du catalogue ("Prestation") plutôt que le nom du type de solution technique ("Services") ; les onglets Abonnements (SaaS, Support...) sont inchangés.
v4.17 — Recherche d'arbre au niveau des sous-groupes, boutons Tout déplier partout
- Corrigé : la recherche dans un arbre à sous-groupes (ex. Sélection des tâches, Catalogue prestation) trouvait le titre d'une catégorie ("Essential") mais pas celui d'un sous-groupe à l'intérieur ("SYDEV") — même correctif que la volée précédente, un niveau plus bas.
- Boutons Tout déplier/replier ajoutés sur Accueil, À propos, Historique devis et Gestion des devis, qui en étaient dépourvues alors qu'elles contiennent des encarts repliables.
v4.16 — Recherche d'arbre corrigée, icônes alignées, récap Build et client à la volée
- Corrigé : la recherche dans un arbre (Historique devis, Charger un devis, Gestion des offres, Catalogue prestation...) ne trouvait que les éléments dont une FEUILLE correspondait — chercher "OVH" ne remontait rien si aucun devis du client OVH ne contenait ce mot, alors que le nom du client lui-même y correspondait. Le titre d'une branche compte désormais lui aussi comme une correspondance, et rend tout son contenu visible.
- Icônes Tout déplier/replier alignées sur la taille du bouton d'aide « ? », partout où elles apparaissaient plus petites.
- Récapitulatif Build : affiche « Forfaitaire » quand aucune tâche n'est à jours-hommes, ou « Total jours de projet : X + Forfaitaire » quand les deux types de tâches coexistent — au lieu d'un trompeur « Total jours de projet : 0 » pour une offre entièrement forfaitaire.
- La dialogue Enregistrer d'un devis permet désormais de créer un nouveau client directement (bouton « + » à côté du champ Client), sans quitter le devis en cours.
v4.15 — Icône rouge cerclée pour la suppression définitive
- Le bouton « Supprimer définitivement » (Gestion des devis) devient une icône poubelle cerclée de rouge, teintée en rouge fixe quelle que soit la couleur d'accent configurée — au lieu d'un bouton texte plein — pour bien la distinguer de la désactivation douce (icône nue) et signaler que cette action est irréversible (retour d'usage).
v4.14 — Désactivation d'un client en cascade sur ses devis, bouton Restaurer en icône seule
- Corrigé : désactiver un client dans l'Historique devis laissait ses dossiers et versions `actif=True`, invisibles de partout comme désactivés (absents de Gestion des devis) tout en n'étant plus rattachés qu'à un client disparu — la désactivation (et la restauration) d'un client cascade désormais sur tous ses dossiers et leurs versions.
- Le bouton Restaurer (Historique devis et Gestion des devis) passe à l'icône seule, comme Ajouter/Enregistrer/Supprimer.
v4.13 — Renommages Gestion des offres / Gestion des devis / Historique devis, icône Restaurer
- Administration Offre : « Référentiel des offres » devient « Gestion des offres », « Corbeille du Répertoire » devient « Gestion des devis » — vocabulaire jugé plus clair (retour d'usage).
- Menu Offres ▾ : « Répertoire » devient « Historique devis ».
- Les boutons Restaurer (Historique devis et Gestion des devis) portent désormais une icône dédiée, comme les autres actions.
v4.12 — Répertoire de devis rendu public, corbeille dédiée, couleur d'accent partout
- Création, modification, réorganisation par glisser-déposer (changement de client) et suppression d'un client ou d'un devis dans le Répertoire sont désormais publiques (retour d'usage : « je veux laisser la main aux utilisateurs sur ce repo ») — seules la restauration en masse et la suppression définitive restent réservées à un admin.
- La suppression reste une désactivation douce, jamais définitive : les éléments désactivés apparaissent dans une nouvelle section « Supprimés » du Répertoire plutôt que de disparaître silencieusement.
- Nouvelle page d'administration « Corbeille du Répertoire » (restauration en masse ou suppression physique définitive des clients/devis/versions désactivés).
- Le nom d'un devis peut être renommé directement depuis le Répertoire (propagé à toutes ses versions) ; recherche ajoutée dans le Répertoire et dans le Catalogue prestation ; clients et devis affichés partout sous la forme « REF : nom » ; décalage visuel ajouté entre chaque niveau des arbres hiérarchiques ; boutons de l'historique des versions réalignés.
- La couleur d'accent configurée (Apparence) s'applique désormais à tous les boutons et liens du site, plus seulement au bandeau et aux icônes.
v4.11 — Choix offre sur étagère / client à l'enregistrement, recherche de tâches, sécurité de saisie
- Corrigé : un échec de validation à l'enregistrement d'un devis (ex. absence de client) faisait perdre tout le chiffrage en cours au lieu d'afficher une simple erreur — le devis en cours de saisie est désormais toujours préservé.
- La dialogue Enregistrer propose désormais un choix explicite entre devis à destination d'un client et offre sur étagère (réservée à un admin connecté), au lieu de déduire ce choix a posteriori.
- Barre de recherche réactive pour les tâches (chiffrage Services/Build et Catalogue prestation en administration), qui conserve le texte recherché lors de l'ajout d'une tâche.
- Dialogues Enregistrer/Charger du Chiffrage redessinés (mise en page uniforme) ; « Charger un devis » devient un arbre avec recherche distinguant Offres sur étagère et Devis client, affichés en « REF : nom ».
v4.10 — Volume déjà engagé facturé correctement, icônes en icône seule, couleur d'accent paramétrable
- Corrigé : un devis avec un volume déjà engagé ailleurs (Lot 4.3) facturait à tort la pleine capacité de la tranche retenue, alors qu'une partie de cette capacité est déjà couverte (et payée) par ce volume externe — seul le volume réel de CE devis, au tarif ainsi obtenu, est désormais facturé. Le détail par flux affiche ce volume déjà engagé comme une ligne à part entière (prix N/A, commentaire dédié) plutôt que dilué dans la ventilation des flux réels.
- Tous les boutons d'action restants (Calculer, Exporter, Exporter PPTX, Enregistrer, Charger, Dupliquer, Publier l'offre, Modifier, Publier/Dépublier, Ajouter un flux...) sont réduits à l'icône seule, sans texte ni fond — plus uniquement les icônes déjà réduites (Ajouter/Enregistrer/Supprimer) depuis la v4.9.
- L'élément « par défaut » d'une liste (Engagements) est signalé par une étoile pleine non cliquable plutôt qu'une colonne Oui/Non ; les autres lignes affichent l'étoile creuse, cliquable, pour le définir.
- Nouveau réglage « Apparence » (Paramètres du site) : une couleur d'accent unique, appliquée au fond du bandeau de menu, au fond du bouton d'aide « ? » et à l'accent turquoise des icônes.
- Icônes : suppression du cerclage résiduel autour des boutons d'action ; agrandies dans la barre d'actions du Chiffrage, alignées en hauteur avec le bouton d'aide.
v4.9 — Icônes uniformisées sur les boutons d'action
- Les boutons Ajouter/Enregistrer/Supprimer (partout dans l'administration) et les actions Modifier/Publier/Dépublier/Dupliquer/Ouvrir/Charger/Définir par défaut portent désormais la même famille d'icônes (fournies par l'utilisateur), au lieu d'un mélange d'emoji, de symboles texte (+) et d'une image isolée.
v4.8 — Correctif glisser-déposer, Référentiel simplifié
- Corrigé : une catégorie vide (aucune offre encore classée dedans) n'avait pas de zone visible où déposer une offre glissée — bordure en pointillés désormais affichée même vide, l'offre peut être posée dessus normalement.
- Le bucket « Sans groupe » disparaît du Référentiel des offres, jugé faire double emploi avec « Non publié » (retour d'usage) : publier une offre exige désormais une catégorie, glisser vers « Non publié » dépublie et déclasse en un seul geste.
v4.7 — Répertoire de devis versionné
- Nouvel écran public « Répertoire » (menu Offres ▾) : chaque devis client enregistré depuis /devis/flux devient une identité stable (référence, nom, statut de pipeline) sous laquelle s'accumulent des versions — hiérarchie Client > Devis > Versions, arbre à gauche/détail à droite comme le Référentiel des offres.
- Ré-enregistrer un devis déjà chargé demande désormais explicitement s'il faut mettre à jour la version en cours ou en créer une nouvelle (jamais automatique) — chaque version garde son propre instantané figé de résultat, une réouverture d'une ancienne version n'écrase jamais celles qui suivent.
- Statut de pipeline commercial (draft/shooté/won/lost), modifiable à tout moment depuis le Répertoire, unique par devis (pas par version).
- Le dialogue « Charger » de /devis/flux ne montre plus que la dernière version de chaque devis client (l'historique complet reste sur le Répertoire) — évite d'y polluer la liste au fil des versions.
v4.6 — Administration Offre en deux pages, publié/non publié distincts
- Administration Offre redevient deux pages distinctes du menu (retour d'usage : la fusion en une seule page à deux sections, posée en v4.4/v4.5, ne correspondait pas à la demande) : « Paramètres globaux » (Engagements, Clients) et « Référentiel des offres ».
- Le Référentiel des offres est reconstruit pour se comporter EXACTEMENT comme le Catalogue prestation : cliquer une catégorie affiche son détail (renommage, suppression) à droite au lieu de l'éditer directement dans l'arbre ; les catégories se réordonnent désormais par glisser-déposer (capacité qui manquait).
- « Appartenir au référentiel » et « être publié sur /offres » deviennent deux états distincts : ajouter un devis au référentiel (bouton « Ajouter au référentiel », ex « Publier sur étagère ») le fait apparaître en « Non publié » — le classer dans une catégorie ou le sortir de ce bucket le publie ; l'y glisser le dépublie sans perdre son classement, exactement comme le bucket « Inactif » des tâches du catalogue.
- Le toggle de statut brouillon/finalisé disparaît du référentiel (redondant avec publié/non publié) — le champ est conservé en base, réservé à un futur usage côté devis clients.
v4.5 — Référentiel des offres en écran maître-détail
- Administration Offre > Référentiel des offres : même patron que les catalogues (arbre à gauche, détail à droite). Sélectionner une offre dans l'arbre affiche à droite sa référence, son client, son statut, si elle est publiée comme offre, sa date de modification et le total de son dernier calcul, avec les actions Modifier/Publier ou Dépublier/Supprimer directement sur ce panneau.
- L'arbre ajoute deux buckets aux catégories : « Non classées » (offres publiées sans catégorie) et « Non publiés » (devis sur mesure, jamais publiés comme offre) — glisser une offre vers « Non publiés » la dépublie, glisser un devis non publié vers une catégorie le publie et le classe en un seul geste.
- L'ancienne liste à plat « Devis enregistrés » disparaît : parcourir tous les devis, changer leur statut, les publier/dépublier ou les supprimer se fait désormais uniquement via cet arbre et son panneau de détail.
- Client : la case correspondante, en l'état jugée pas assez convaincante par l'utilisateur, reste en attente (standby) dans Paramètres globaux sans changement fonctionnel.
v4.4 — Client intégré à la référence, Référentiel des offres
- Le dialogue « Enregistrer » de /devis/flux demande désormais aussi un client (requis, choisi dans une liste gérée en admin) — sa référence l'intègre (ex. DEV-2026-ACM-0001) et un même client ne peut plus se retrouver sous des variantes saisies à la main (« ACM » vs « ACME »). Nouvel écran Clients dans Administration Offre > Paramètres globaux.
- Nouveau Référentiel des offres (Administration Offre) : arbre de catégories libres (ex. « Plateforme Agréée » contenant l'offre « Essential »), sans rapport avec les types de solution — un devis pouvant réunir plusieurs types, le classement commercial en est indépendant. Glisser-déposer d'une offre entre catégories, comme le catalogue de tâches du Lot 3.
- Le catalogue public /offres reflète ce classement : les offres y sont groupées par catégorie plutôt qu'affichées en vrac.
- Menu « Administration Abonnements » renommé « Administration Catalogues » (vocabulaire écran uniquement).
v4.3 — Retours d'usage sur le Lot 4 : bouton Charger, volume initial en tête, « offres sur étagère »
- Bouton « Charger » sur /devis/flux : dialogue demandant une référence (ex. DEV-2026-0001), résolue côté serveur — seule façon de rouvrir un devis sans en connaître l'id numérique ni disposer du lien direct.
- Le champ « Volume déjà engagé (hors ce devis) » (Lot 4.3, volume initial cumulé) est déplacé en tout premier dans la carte « 1. Flux », avant la table des flux, pour être visible dès l'entrée dans le chiffrage — aucun changement de comportement, la facturation continue de porter uniquement sur le volume réellement saisi.
- « Offres packagées » renommées « Offres sur étagère » partout à l'écran (menu, page publique, boutons publier/dépublier) — vocabulaire uniquement, aucun renommage de classe ni de colonne en base (cf. §5.2 du cahier).
v4.2 — Lot 4.4 : administration des devis enregistrés — clôture du Lot 4
- /admin/offres liste désormais TOUS les devis enregistrés (modèles publiés et devis sur mesure confondus), avec recherche/tri côté client (référence, nom, statut) — remplace la liste plus étroite (offres publiées seulement) posée en v4.0-b.
- Bascule brouillon/finalisé, publication/dépublication comme offre, et suppression douce (le devis n'apparaît plus dans les listes ni sur /offres, mais la ligne et ses instantanés restent en base) — directement depuis cette liste, plus besoin de passer par /devis/flux pour publier une offre déjà enregistrée.
- Totaux du dernier instantané de résultat (récurrent et/ou unique) affichés par ligne, pour un premier repérage des devis significatifs sans les rouvrir un par un.
- Clôture du Lot 4 (persistance de devis, offres packagées, volume initial cumulé, administration) : cahier des charges à jour (§7ter), ligne « Sauvegarde/historique des devis en base » retirée du hors périmètre.
v4.1 — Lot 4.3 : volume initial cumulé
- Un nouveau champ « Volume déjà engagé (hors ce devis) », par partie tarifée au volume, permet de saisir un volume déjà contractualisé ailleurs (ex. flux existants chez un autre prestataire) — il s'additionne au volume de ce devis pour choisir la tranche tarifaire et le prix par document appliqué, mais n'est JAMAIS lui-même facturé : la base minimum et le hors-forfait restent calculés sur le seul volume réellement saisi. Un client déjà à 80 000 documents qui en ajoute 20 000 est ainsi tarifé à la tranche 100 000, sans être ré-évalué depuis zéro à la tranche 20 000.
- Récapitulatif et export mentionnent explicitement la tranche sélectionnée sur le volume cumulé quand un volume initial est renseigné, pour qu'aucune ambiguïté ne subsiste sur ce qui est effectivement facturé.
- Aucun effet sur un devis sans volume initial (0 par défaut) : comportement strictement identique à avant ce lot, vérifié par les tests existants inchangés.
- Reste à venir dans ce même lot : administration listant tous les devis enregistrés (pas seulement les offres publiées).
v4.0-b — Lot 4.2 : offres packagées
- Un devis enregistré peut être publié comme offre packagée par un admin connecté (bouton « Publier comme offre » sur /devis/flux une fois le devis sauvegardé) — nouveau catalogue public /offres (lien « Offres packagées » dans le menu, remplace le « Reste à venir » posé en v2.6), sans montant affiché sur les cartes (le tarif dépend du volume, ajusté au cas par cas).
- Choisir une offre depuis /offres charge une COPIE dans /devis/flux (nouveau devis non enregistré, volume et tout le reste librement ajustables) — le modèle publié n'est jamais modifié par cet usage.
- /admin/offres liste désormais les offres publiées (référence, nom, statut, date de modification), avec un lien « Modifier » qui rouvre le modèle lui-même (pour l'admin qui l'a créé) et un bouton « Dépublier » (retire l'offre du catalogue public sans supprimer le devis).
- Reste à venir dans ce même lot : volume déjà engagé pris en compte dans le choix de la tranche tarifaire, et administration listant tous les devis enregistrés (pas seulement les offres publiées).
v4.0-a — Lot 4.1 : persistance d'un devis sur mesure
- Un devis multi-flux (« Enregistrer » sur /devis/flux, sans connexion requise) peut désormais être sauvegardé et rouvert par sa référence (ex. DEV-2026-0001) — jusqu'ici, aucun devis n'était jamais enregistré en base (limite de conception explicite depuis le MVP). Le rechargement repasse exactement les mêmes données au moteur de calcul, sans aucune duplication de la logique métier.
- Bouton « Dupliquer » une fois un devis chargé : crée une copie indépendante (nouvelle référence), sans lien de parenté conservé avec l'original.
- Chaque enregistrement (création ou mise à jour) conserve un instantané figé du résultat de l'époque (totaux, tranche retenue) — une évolution ultérieure du catalogue ne peut plus changer silencieusement le montant d'un devis déjà enregistré. Base posée pour la marge/KPI par devis (Lot 8 à venir).
- Reste à venir dans ce même lot : offres packagées (gabarits réutilisables publiés depuis l'administration), volume déjà engagé pris en compte dans le choix de la tranche tarifaire, et administration listant tous les devis enregistrés.
Version 3.x
v3.0.8 — Clôture Lot 3 (bis) : conflits de règles, chiffrage multi-langue, infobulle sur les options
- Conflit de dépendance entre grilles primaires : deux règles indépendantes (ex. Transformation et Plateforme Agréée cochées ensemble) pouvaient chacune rendre obligatoire une grille primaire différente d'une même catégorie (ex. Archivage) — les deux étaient alors facturées en même temps, sans que l'écran ne le signale. Le devis multi-flux détecte désormais ce cas par flux, masque le récapitulatif tant que ce n'est pas tranché, et propose un choix explicite par bouton radio.
- Corrigé au passage : cocher une option liée à une grille primaire (ex. « Espagne ») ajoutait cette grille à la sélection au lieu de remplacer le choix déjà fait pour sa catégorie — les deux grilles restaient actives et facturées simultanément.
- Nouvelle contrainte à la création d'une règle ou d'une option (Catalogue abonnements) : un nœud atteint uniquement via une option (« pivot ») ne peut plus devenir source d'une règle de dépendance, et réciproquement — empêche de recréer le conflit ci-dessus par construction.
- Changer de langue (FR/EN) en cours de chiffrage sur `/devis/flux` ou `/devis` ne fait plus perdre la sélection en cours — le sélecteur de langue soumet le formulaire existant en arrière-plan au lieu de recharger la page à vide.
- Cocher une option liée par une règle à une tâche du catalogue Services active désormais automatiquement l'onglet Services du chiffrage, même si l'utilisateur ne l'a jamais glissé lui-même dans la zone active — la tâche devenait obligatoire sans jamais apparaître à l'écran.
- Options : nouveau champ Infobulle (comme pour les tâches du catalogue Services) pour aider à leur quantification au chiffrage — tableau d'administration redessiné (Prix unitaire/Quantité resserrés, en-tête « Quantité » groupé sur deux lignes) pour lui faire de la place.
- Divers : tooltip « Option autorisée » corrigée (les options se créent désormais depuis le panneau Règles de dépendance, plus « ci-dessous ») ; grilles « BCP - 4 à 6 process » et « BCP - 7 à 10 process » tarifées (reprennent le barème de « BCP - 1 à 3 process » divisé par 4 et 7).
v3.0.7 — Clôture Lot 3 : ergonomie du devis Services, panneau de règles Build généralisé, contenus d'aide à jour
- Devis Services (catalogue prestation) : sélection des tâches repensée — glisser-déposer ET double-clic pour ajouter une tâche (idem pour activer/désactiver un type d'abonnement en tête de page), menus de sélection repliés par défaut (état restauré après chaque recalcul, pas de repli intempestif), quantité décimale (ex. 10,5 jours), tableau des tâches du devis sans défilement horizontal ni bouton de suppression débordant.
- Référentiel EDI (devis Services) : le bouton « i » devient un bouton « Référentiel EDI » explicite, qui ouvre une fenêtre modale au premier plan (au lieu d'un encart plus bas dans la page, facile à manquer sur un long devis) — désignation et commentaire de chaque message ajoutés (commentaire en infobulle sur le code).
- Récapitulatif Services : badge « Obligatoire » sans mention de quantité (toujours 1 désormais), unité superflue retirée du total de jours, équilibre des largeurs entre l'encart Offre et le tableau des lignes retenues corrigé (plus de retour à la ligne).
- Catalogue prestation (/admin/build), onglet Règles : le tableau de règles est remplacé par le même panneau de sélection au clic que le Catalogue abonnements (v3.0.5) — mécanisme JS généralisé aux deux écrans. Notion de quantité plancher réglable retirée (toujours 1, colonne conservée mais vestigiale).
- Devis SaaS/Support : la colonne redondante affichant le nom du flux à côté de sa propre case de saisie est retirée, la case de saisie du libellé est élargie d'autant.
- Nettoyage de données : les règles d'occurrence des tâches (« Comment quantifier ? ») portaient toutes un préfixe « # » hérité d'un import Excel, sans signification dans l'application — retiré.
- Export (HTML et PowerPoint) d'une partie Services : mise en page revue — encart Offre reflété à côté du total, tableau « Détail des tâches » en pleine largeur avec le détail par profil (comme à l'écran) et la description de la tâche plutôt que sa règle de comptabilisation.
- Page d'accueil et « À propos » repensées pour l'autonomie d'un commercial : le mode d'emploi de l'accueil, resté à la version Run mono-flux, est réécrit pour l'écran de devis multi-flux actuel (abonnements SaaS/Support et Services). La logique de calcul (auparavant sur « À propos ») y est déplacée et condensée aux deux modes de facturation ; la feuille de route des lots à venir (auparavant sur l'accueil) migre sur « À propos » à sa place. Les textes d'aide des écrans d'administration sont mis à jour (vocabulaire Abonnement/Nœud, quatre onglets du Catalogue prestation dont le Référentiel EDI).
v3.0.6 — Catalogue prestation fusionné en une liste unique, référentiel EDI par tâche
- Catalogue prestation (/admin/build) : les deux types de solution 'matrice' qui coexistaient (Projet/Build et Services/Prestations, chacun avec son propre arbre et sa propre partie de devis) sont fusionnés en une seule liste de tâches globale, classée en catégories et groupes mais sans niveau « type » — même principe d'arbre entièrement déplié que le Catalogue abonnements. Fusion des données faite par migration automatique au démarrage (additive : le type retiré est désactivé, jamais supprimé).
- Conséquence côté devis : les tâches ex-Build et ex-Prestations apparaissent désormais dans un seul onglet et un seul total, au lieu de deux séparés.
- Référentiel EDI : l'interrupteur, jusque-là porté par le type (« afficher le référentiel dans cette partie »), descend au niveau de la tâche — l'encart s'affiche au devis dès qu'une tâche cochée porte ce réglage. Corrige au passage un encart qui restait replié par défaut, donc facile à manquer.
- Vocabulaire : « Catalogue de tâches » devient « Liste de tâches », dans l'administration comme au devis.
v3.0.5 — Catalogue solutions renommé « abonnements », panneau de règles au clic, toasts
- Vocabulaire : « Solution(s) » devient « Abonnement(s) » dans tout le Catalogue solutions (menu, titres, boutons, messages) — changement de libellés uniquement, aucun renommage de classe ou de table.
- Paramètres d'un type d'abonnement : Métrique (placeholder au lieu d'un texte figé), Abrév., Périodicité (« Annuelle », sans « fixe ») et Tarification regroupés et bien alignés.
- Règles de dépendance (détail d'un type d'abonnement) : le tableau de règles est remplacé par un panneau toujours affiché — cliquer un trait du diagramme sélectionne le lien, encadre les deux nœuds, et permet d'ajuster le genre (REQUIERT/INCLUS SANS SURCOÛT, avec légende de traits plein/pointillé) ou de le supprimer (bouton ou touche Suppr). Rappel des contraintes en liste à puces.
- Correctif : dans un devis, la durée d'un nœud auto-sélectionné par une règle de dépendance revenait à sa valeur par défaut au lieu de garder la valeur saisie.
- Messages d'erreur/validation : affichés en toast temporaire (surimpression, disparition automatique) au lieu d'un bandeau en haut de page pouvant passer inaperçu après défilement.
v3.0.4 — Retrait de l'unité de tâche, détail par profil au récap, carte « Offre »
- Le champ « Unité » d'une tâche (ex. « par map ») disparaît : retour terrain, c'était redondant avec la règle d'occurrence (« 1 par map », « 1 par projet »… déjà portés par cette dernière). Partout où l'unité s'affichait (devis, récapitulatif, exports), elle est remplacée par le motif « désignation - Comptabilisation : {règle d'occurrence} » ; dans le catalogue à gauche (tâches pas encore ajoutées au devis, où la place manque), une icône « ? » donne la règle en infobulle native au survol.
- Le récapitulatif d'une partie Prestation détaille désormais les jours par profil (une colonne par profil actif) au lieu d'un seul total « Jours ».
- La carte de gauche du récapitulatif Prestation, jusque-là intitulée « Abonnement » par erreur (une prestation est un montant unique, pas un abonnement — copié-collé du récap Run), s'appelle maintenant « Offre ».
v3.0.3 — Types réordonnables dans Catalogue solutions, règle d'occurrence enfin éditable
- Catalogue solutions (/admin/solutions) : les Types se réordonnent désormais par glisser-déposer dans l'arbre, comme c'était déjà le cas pour les Types du Catalogue prestation — même mécanisme de zone de dépose en pointillés.
- Catalogue prestation (/admin/build) : la règle d'occurrence d'une tâche (« comment quantifier ? », ex. « #1 par Projet ») devient une colonne à part entière, directement éditable — elle était jusque-là cachée derrière une icône « # » en infobulle au survol, rendue inutilisable en pratique par le correctif de défilement de la v3.0.2 (le contenu de l'infobulle se retrouvait tronqué par le conteneur). L'Unité (libellé d'affichage au devis, ex. « par map » — sans rapport avec l'abonnement retiré en v3.0.2) reste éditable, dans sa propre colonne.
v3.0.2 — Retrait du double tarif, plafond forfaitaire des tâches, arbre Type complet
- Retrait du mécanisme « double tarif / abonnement » (v3.0-a) : retour terrain, l'abonnement est en réalité une manière de vendre un ENSEMBLE de tâches (offre packagée à venir, Lot 4), pas une propriété d'une tâche individuelle. La case « Avec abonnement » et le second tarif par tâche disparaissent du devis et de l'administration (colonnes de base conservées mais plus utilisées, convention additive).
- Nouvelle mécanique de coût d'une tâche : une tâche peut désormais porter à la fois des jours-homme (par profil, à TJM) et un montant forfaitaire — le forfait doit alors rester strictement inférieur au montant calculé par jours-homme (contrôlé à la saisie), et c'est le plus petit des deux qui est facturé. Les jours-homme restent visibles dans le récapitulatif et les exports (nouvelle colonne « Jours ») même quand c'est le forfait qui est facturé, pour que le client voie les ressources engagées.
- Catalogue prestation (/admin/build) : le Type de solution devient un vrai nœud de l'arbre, création/suppression directement dedans, réordonnable par glisser-déposer comme les catégories/groupes. L'association du référentiel EDI à un type devient un réglage explicite (case à cocher) plutôt qu'une détection par le nom du type.
v3.0.1 — Dette technique : tests regles_build, fixture TestClient, nettoyage catalogue
- engine/regles_build.py (résolution des règles Run → Build) reçoit enfin ses tests dédiés — dernier module engine/ qui en était encore dépourvu.
- Nouvelle fixture pytest `client` (TestClient FastAPI sur une base SQLite temporaire, jamais pricing.db) et premiers tests fumigènes HTTP : pages publiques, connexion admin puis les six écrans d'administration, soumission d'un devis multi-flux minimal et de son export.
- Nettoyage prudent, au démarrage, de données de test résiduelles identifiées dans le catalogue Run de production (catégorie « build » minuscule, sa grille « taches », l'option « test ») — supprimées uniquement après vérification exacte (nom et absence de tarif), sinon un avertissement est journalisé plutôt que de risquer une suppression incorrecte.
v3.0 — Prestations unitaires (type matrice à double tarif) + référentiel EDI
- Les Prestations unitaires n'ont pas de module séparé : ce sont des tâches forfaitaires d'un nouveau type de solution « Prestations » (mode 'matrice'), au même titre que Build — le module Build (Lot 2) devient ainsi le module générique « catalogue × quantité », multi-types (cf. version 3.0-a).
- Catalogue Prestations importé (seed_prestations.csv) : 2 catégories (Prestations Sterling, Prestations iXPath), 30 tâches forfaitaires avec leur unité d'affichage (« par map », « par agrément »…) — y compris les lignes « sur devis » à 0 €, importées telles quelles comme rappel. Double tarif livré (v3.0-a) mais laissé INACTIF sur ce type : la notion d'abonnement pour les Prestations sera portée par les packages du Lot 4.
- Nouveau référentiel MessageEDI (36 messages importés depuis seed_edi.csv) : quatrième vue « Référentiel EDI » dans /admin/build — table plate triable et filtrable côté client, CRUD complet.
- Devis : un encart repliable « Référentiel EDI » (même filtrage côté client) apparaît dans la partie Prestations, pour aider à choisir la bonne ligne du catalogue (consultation seule, aucune sélection automatique de tâche).
v3.0-a — Module matrice multi-types, double tarif
- Généralisation du module Build : ce n'est plus « le module Build », mais un module générique « catalogue × quantité » (mode 'matrice') utilisable par plusieurs types de solution en parallèle (ex. Build ET, à venir, Prestations). Le catalogue de tâches (categorie_taches) est désormais rattaché à un type de solution précis.
- Administration Build (/admin/build, vue Catalogue) : sélecteur de type de solution en tête (masqué s'il n'existe qu'un seul type 'matrice') — chaque type a son propre arbre catégories › groupes › tâches, invisible de celui d'un autre type. Un lien « Paramètres du type » renvoie vers son unique réglage propre à ce mode dans Catalogue solutions.
- Double tarif (capacité livrée, inactive par défaut) : un type de solution 'matrice' peut activer une case « Double tarif (standard / abonnement) » (Catalogue solutions, détail du type) ; ses tâches forfaitaires reçoivent alors un second champ « Tarif abonnement » en administration, et le devis affiche une case « Avec abonnement » qui bascule le tarif appliqué pour toute la partie.
- Tâches : nouveau champ « Unité » (ex. « par map », « par heure ») affiché entre parenthèses à côté de la désignation, à l'écran comme dans les exports HTML et PowerPoint — un simple libellé, sans effet sur le calcul.
- Correctif de fond : la sélection des tâches d'une partie matrice n'était pas filtrée par type de solution — avec un second type 'matrice' introduit plus tard, chaque partie afficherait à tort les tâches de tous les types confondus. Corrigé avant qu'un second type n'existe.
Version 2.x
v2.7.0 — Catalogue solutions unifié, règles centralisées au type
- L'écran Solutions devient « Catalogue solutions » : sélectionner un Type de solution dans l'arbre affiche désormais son détail complet (paramètres, tranches, options globales, règles de dépendance) directement à droite — l'écran « Type et facturation » est supprimé, tout est réuni ici. On ajoute un Type avec le même geste que l'ajout d'une Solution, directement dans l'arbre.
- Sélectionner un Nœud n'affiche plus que son propre détail (les cartes de la Solution disparaissent) ; le contrôle d'ajout d'un nœud devient une ligne discrète au lieu d'un encart séparé ; le rappel de son Type de solution est retiré (déjà visible dans l'arbre).
- Vocabulaire des nœuds : « Principale »/« Optionnelle » devient « Primaire »/« Secondaire » (accord de genre correct, un nœud étant masculin).
- Remise à plat des règles : elles se gèrent désormais uniquement au niveau du Type (plus dans le détail d'un nœud). Un nœud primaire est exclusif avec les autres primaires de sa solution — une règle de dépendance ne peut donc plus en relier deux de la même solution ; un nœud secondaire n'apparaît plus dans le constructeur de règles (il ne peut ni en recevoir, ni héberger d'option). Les options (ex-surcoûts) ne peuvent lier un nœud primaire qu'à un nœud d'une autre solution ; on les crée par le « + » du nœud primaire (juste un nom, pas encore liées), puis on glisse le nœud cible sur la puce de l'option pour la lier — elles s'affichent imbriquées sous leur nœud, dans le même arbre que les règles.
- Écran de devis multi-flux (Sur mesure) : les options d'un même nœud deviennent exclusives entre elles (cocher l'une décoche automatiquement les autres).
- Catalogue prestation : colonne Désignation resserrée, règle d'occurrence déplacée derrière une icône « # » en infobulle au survol (au lieu d'un bloc dépliable qui poussait la ligne), boutons Enregistrer/Supprimer empilés pour regagner de la largeur au profit de la Description.
v2.8.0 — Nœuds réordonnables et déplaçables par glisser-déposer
- Dans le Catalogue solutions, un nœud se réordonne désormais par glisser-déposer au sein de sa solution, et se déplace vers une AUTRE solution du même type en le déposant dans sa zone (même geste que le déplacement d'une tâche dans le Catalogue prestation).
- Une solution entière peut être déposée sur un autre Type dans l'arbre pour en changer — seulement si elle n'a encore aucun nœud (un nœud existant fige le type de solution de ses tarifs, le changer sous lui invaliderait ses prix).
- Glisser-déposer des nœuds/solutions fiabilisé après retour terrain : la zone de dépose effective était trop étroite pour être exploitable une fois une solution dépliée avec ses nœuds visibles (seul le titre repliable réagissait) ; le calcul de la position de dépose est aussi désormais figé au relâchement plutôt que recalculé en direct pendant le survol, qui pouvait interrompre le glisser natif du navigateur en cours de geste.
v2.6.5 — Textes d'aide refondu en arbre maître-détail
- L'écran Textes d'aide abandonne la liste à plat de toutes les cartes au profit d'un arbre à gauche reprenant le plan de navigation du site (mêmes groupes que le menu), une page par feuille — un badge signale une page sans texte associé.
- Sélectionner une page affiche à droite son texte existant, ou directement un formulaire de création pré-rattaché à cette page si elle n'en a pas encore.
- Nouveau bucket « Textes libres » pour les textes non associés à une page (utilisés uniquement dans la sélection de la page d'accueil).
v2.6.4 — Solutions refondu en arbre maître-détail
- L'écran Solutions abandonne les onglets horizontaux et le grand menu déroulant de type au profit d'un arbre à gauche (même idiome que le Catalogue prestation) : Type de solution > Solution > Nœud. Sélectionner une branche affiche son détail à droite.
- Créer une solution ou un nœud ne demande plus de choisir un type dans un menu : le type est déduit de la branche actuellement sélectionnée dans l'arbre.
- Les solutions se réordonnent par glisser-déposer au sein de leur type (le type lui-même reste géré dans Type et facturation).
v2.6.3 — Devis : options sans retour à la ligne
- Écran de devis, case à cocher d'une option + son champ de quantité : ne passent plus jamais sur deux lignes même si la désignation est longue, et l'input de quantité est plus compact.
v2.6.2 — Correctif : arbre du catalogue qui se redéployait
- Cliquer une catégorie ou un groupe dans le catalogue de tâches provoquait un rechargement classique de la page (au lieu de la navigation en arrière-plan habituelle) : un gestionnaire de clic générique, destiné à empêcher qu'un lien de sélection dans un en-tête repliable replie/déplie aussi cet en-tête, bloquait par erreur la navigation fluide site-wide pour ces liens précis. L'arbre revenait donc systématiquement à l'état entièrement déplié (rendu par défaut du serveur) après un tel clic, perdant tous les replis en cours.
v2.6.1 — Correctif catalogue Build dupliqué + retouches
- Correctif de fond : renommer le type de solution en mode Oneshot (ex. « Build » → « Prestation ») pouvait provoquer, au démarrage suivant, un second import complet du catalogue (profils, catégories, tâches, règles Run → Build) — le contrôle d'idempotence portait sur le nom du type plutôt que sur la présence du catalogue. Catalogue de production dédoublonné (sauvegarde préalable de la base).
- Un seul type de solution en mode Oneshot est désormais autorisé à la fois (le catalogue de tâches est global, pas propre à chaque type) : option grisée dans Type et facturation avec message explicite si un autre type l'utilise déjà.
- Catalogue prestation : colonne « Montant forfaitaire » renommée « Forfait (€) », inputs jours par profil élargis, règle d'occurrence repliée affichée en ligne à côté de la désignation (au lieu de forcer un retour à la ligne permanent).
- Paramètres du site : retrait du rappel « Tranches de volume » (redondant avec le menu Administration Solutions).
v2.6 — Offres : engagements déplacés, Paramètres du site
- Nouvelle entrée « Administration Offre » dans le menu : reprend les Engagements (déplacés depuis l'ancienne Administration globale, contenu et logique inchangés) et affiche une section « Offres packagées » à venir.
- « Administration globale » devient « Paramètres du site » (/admin/parametres, ex /admin/global) : ne garde que la sécurité (code d'accès) et la langue par défaut.
- L'entrée de menu « Devis » devient « Offres » (menu déroulant) : un lien « Sur mesure » pointant vers l'écran de devis multi-flux existant, inchangé, et une ligne « Reste à venir » — la structuration complète des offres packagées est un chantier futur distinct.
v2.5 — Catalogue prestation : retouches d'ergonomie
- Création d'un groupe : un seul champ + bouton au-dessus de l'arbre entier (dans la catégorie actuellement sélectionnée), au lieu d'un contrôle répété sous chaque catégorie dépliée.
- Un groupe peut désormais être glissé sur une autre catégorie pour en changer — ses tâches suivent automatiquement, sans changer de groupe.
- Règle d'occurrence repliée par défaut derrière une icône « ? » sous la désignation de la tâche (dépliée automatiquement si déjà renseignée) pour désencombrer le tableau de détail.
v2.4 — Réorganisation Administration Solutions
- Menu Administration réorganisé en deux groupes : « Administration globale » (Page d'accueil, Textes d'aide, Administration globale) et « Administration Solutions » (Type et facturation, Solutions, Catalogue prestation).
- « Administration par catégorie » devient « Solutions » (/admin/solutions) et « Administration des tranches » devient « Type et facturation » (/admin/type-facturation) — vocabulaire à l'écran seulement, aucune donnée renommée en base.
- Une Solution (ex-catégorie) doit désormais choisir son Type de solution à sa création ; un Nœud (ex-grille) hérite ce type de sa Solution plutôt que de le redemander — l'écran Solutions regroupe ses onglets par type.
- Sur l'écran Type et facturation, la métrique remplace l'unité, le mode de facturation s'affiche « Récurrent »/« Oneshot » (au lieu de « Paliers »/« Matrice »), et un rappel non modifiable « Période : par an » apparaît pour un type récurrent.
v2.3 — Catalogue de tâches en arbre unifié et navigation fluide
- Catalogue de tâches (/admin/build) : les onglets horizontaux de catégorie et la carte séparée « Paramètres de la catégorie » disparaissent au profit d'un seul arbre — catégories, groupes puis tâches — où l'on ajoute, renomme, déplace (glisser-déposer) et supprime directement une catégorie ou un groupe ; sélectionner n'importe quel élément affiche sa liste de tâches en mode édition à droite, comme avant pour un groupe.
- Le détail de droite du catalogue est désormais toujours affiché en tableau, y compris pour une seule tâche sélectionnée (l'ancien formulaire vertical spécifique disparaît).
- Suppression d'un groupe non vide : confirmation demandée, puis ses tâches deviennent « Sans groupe » plutôt que de bloquer la suppression.
- Navigation interne fluide sur tout le site : cliquer un lien ou valider un formulaire (créer, enregistrer, supprimer, sélectionner un élément d'un arbre) ne recharge plus la page entière et ne remet plus le défilement en haut — seul le contenu change, en arrière-plan, avec conservation de la position. Les exports de fichiers (PowerPoint, HTML) restent des téléchargements classiques.
- Les boutons « Tout déplier »/« Tout replier » deviennent des icônes triangle (▼/▲), cohérentes avec le reste des boutons d'action réduits à un symbole.
v2.2 — Build : liste de tâches à plat et règles Run → Build
- Le module Build abandonne la notion de Projet vendable (montage par glisser-déposer) au profit d'une liste de tâches à plat, sélectionnées directement au devis, classées par catégorie de catalogue — le regroupement commercial en offres reviendra sous une forme dédiée dans une évolution future.
- Nouvelles règles de dépendance Run → Build : une grille ou une option sélectionnée dans une partie Run du devis peut désormais imposer une quantité plancher — éventuellement facturée à 0 € — sur une tâche Build de la même affaire (ex. la grille « IPaaS » impose la tâche « Paramétrage IPaaS » × 2), administrables dans un nouvel onglet « Règles » de /admin/build.
- Sur le devis, une tâche imposée par une règle porte un badge (« Obligatoire » ou « inclus — sans surcoût ») et sa quantité plancher est pré-remplie, sans jamais verrouiller le champ.
- Récapitulatif et exports (écran, HTML, PowerPoint) mis à jour : sous-totaux par catégorie de catalogue plutôt que par Projet, plus aucune mention de forfait/inclusion.
- Administration des règles Run → Build repensée en builder graphique à deux colonnes : sources (grilles/options) à gauche, tâches à droite, classées en arbres repliables, une puce par ligne ; glisser une source sur une tâche (ou une tâche sur une source, dans les deux sens) crée la règle, genre et quantité s'ajustent ensuite en ligne dans le tableau. Les règles existantes sont tracées comme des liens visuels entre les deux arbres (en plus du badge de comptage sur chaque puce).
- Même builder à deux colonnes pour les règles de dépendance entre grilles (module Run, /admin/tranches) : les deux longs menus déroulants sont remplacés par un arbre glisser-déposer avec liens visuels, dans un sens comme dans l'autre.
- Chaque arbre de glisser-déposer (règles Build, règles Run, catalogue de tâches) peut être entièrement déplié ou replié d'un clic.
- Sur le devis, la partie Build affiche désormais un arbre déroulant à deux niveaux — catégorie de catalogue puis groupe — au lieu d'une simple ligne de sous-en-tête, pour replier indépendamment chaque groupe de tâches.
- Sélection des tâches Build repensée en deux panneaux : le catalogue complet (glissable) à gauche, les tâches déjà incluses dans le devis à droite — la quantité ne se saisit qu'une fois la tâche ajoutée, au lieu d'afficher d'emblée les 107 tâches avec une quantité à zéro.
- Boutons d'action (Ajouter/Enregistrer/Supprimer) réduits à des icônes (+ / 💾 / poubelle) dans tous les écrans d'administration, pour désencombrer les tableaux répétitifs — le libellé complet reste accessible au survol.
- Zone de dépôt visible pendant un glisser-déposer (contour en pointillés) généralisée à tous les onglets réordonnables de l'administration (types de solution, catégories, catalogue de tâches), plus seulement aux parties du devis.
- Les groupes de tâches (ex. « KickOff Meetings ») deviennent une entité gérée à part entière : créés, renommés et réordonnés depuis « Paramètres de la catégorie » (glisser-déposer), au lieu d'un simple texte ressaisi sur chaque tâche.
- Catalogue de tâches (/admin/build) repensé en écran maître-détail : un arbre à gauche (groupes puis tâches, une par ligne, glisser-déposer entre groupes), le détail d'édition à droite (une tâche sélectionnée, ou la liste éditable d'un groupe entier). La case « Actif » disparaît : désactiver une tâche revient à la glisser dans le bucket « Inactif » de l'arbre, qui mémorise son groupe pour une réactivation ultérieure.
- Colonnes resserrées (jours par profil, montant) et arbres des builders de règles rétrécis pour laisser plus de place visuelle aux liens tracés entre les deux colonnes.
v2.1 — Refonte Build : catalogue de tâches et Projets
- Le module Build distingue désormais un catalogue de tâches (classé par catégorie produit, ex. Initialisation, Conception) d'un Projet vendable : un Projet pioche librement dans ce catalogue, par glisser-déposer, une même tâche pouvant être réutilisée dans plusieurs Projets.
- Un Projet est soit un forfait à prix fixe (ses tâches sont couvertes, avec une quantité incluse indicative), soit un projet sur-mesure (chaque tâche devient une ligne de devis à quantité libre) — remplace la précédente combinaison catégorie + forfait, qui mélangeait les deux notions.
- Nouvel écran « Catalogue de tâches » dans l'administration Build : désignation, description et règle d'occurrence toujours visibles (plus d'infobulle), jours par profil affichés en grille (une colonne par profil, comme les grilles de prix du module Run).
- Sur le devis, une carte par Projet actif (case à cocher pour l'inclure) plutôt qu'une carte par catégorie ; le TJM n'est plus modifiable au devis (toujours le TJM par défaut du profil, réglable uniquement en administration).
- Base existante migrée automatiquement et sans perte : chaque ancienne catégorie Build devient une catégorie de catalogue, chaque forfait devient un Projet avec ses inclusions reprises telles quelles.
v2.0 — Module Build
- Nouveau module Build : chiffrage de projet en matrice tâches × profils (Directeur de projet, Chef de projet, Expert, Développeur), avec des forfaits à inclusions (ex. « Package Essential ») qui couvrent gratuitement une quantité de certaines tâches — l'au-delà reste facturé.
- Intégré comme une nouvelle PARTIE de l'écran de devis existant (/devis/flux), au même titre que les parties Documents ou Forfaits horaires : un type de solution en mode « Matrice » y apparaît avec sa propre couleur d'accent, sans flux, sans volume, sans tranche et sans engagement — un montant unique, non récurrent, seulement ajusté par la remise globale.
- Nouvelle administration Build (/admin/build) : profils (TJM par défaut), et pour chaque catégorie Build ses tâches (jours par profil ou montant forfaitaire, groupées par sous-en-tête) et ses forfaits à inclusions.
- Catalogue initial importé : 107 tâches réparties en 8 catégories (Initialisation, Conception fonctionnelle et technique, Réalisation, Tests, Déploiement, Pilotage...), plus les catégories « Offre Essential » et « Build Web portal SaaS ».
- Export HTML et PowerPoint du devis multi-flux : une diapositive dédiée par partie Build ayant un résultat (montant unique, jours de projet, lignes retenues), jamais additionnée aux montants récurrents des autres parties.
Version 1.x
v1.5 — Types de solution
- « Types de tranche » devient « Types de solution » dans toute l'interface d'administration et de devis — même modèle de données, vocabulaire aligné sur l'arrivée prochaine du module Build (un type de solution en mode « Matrice » n'aura pas de tranches de volume).
- Chaque type de solution a désormais un mode de facturation (« Paliers », comportement actuel de tranches de volume, ou « Matrice », géré dans une future administration Build) et une couleur d'accent optionnelle, appliquée avec sobriété sur son onglet, la bordure de ses cartes et l'en-tête de son récapitulatif sur l'écran de devis.
- Correctif : la ligne « Support inclus » avait cessé de s'afficher dans le récapitulatif à l'écran du devis multi-flux (la variable utilisée ne portait pas le bon champ) ; elle réapparaît, alignée sur l'export qui l'affichait déjà correctement.
v1.4 — Export PowerPoint natif et types de tranche affinés
- Export PowerPoint natif (.pptx) du devis multi-flux, en plus de l'export HTML : un vrai fichier PowerPoint éditable (formes natives), une diapositive par type de tranche inclus, même contenu que l'export HTML.
- Chaque type de tranche a désormais sa propre abréviation d'unité (ex. « h » pour « heure ») utilisée partout où l'unité suit un nombre, et une colonne « bonus » (heures de support) activable ou masquable — non pertinente pour tous les types.
- Options globales scopées par type de tranche : une option (ex. « Support prioritaire ») n'apparaît plus que dans les devis du type auquel elle est destinée. Une option peut aussi avoir sa quantité figée (non modifiable au devis).
- Écrans d'administration réorganisés : la gestion des tranches, des options globales et des règles de dépendance est désormais entièrement regroupée par type de tranche dans /admin/tranches ; /admin/global se recentre sur les engagements, la sécurité et la langue.
- Sur le devis multi-flux, une grille rendue gratuite par une règle est désormais signalée par flux (et non plus par colonne) : la même grille peut être facturée pour un flux et incluse sans surcoût pour un autre.
- Le devis multi-flux devient l'unique entrée « Devis » du menu principal ; le devis mono-flux (Devis Run) reste pleinement fonctionnel mais n'a plus de lien dans le menu (accessible par URL directe, ou via le renvoi en tête du guide du devis multi-flux).
v1.3 — Devis multi-flux et types de tranche indépendants
- Nouvel écran « Devis » (/devis/flux), indépendant du devis Run existant : chiffre un abonnement en détaillant plusieurs flux (ex. plusieurs pays ou filiales), chacun avec son propre volume et sa propre sélection de catégories/grilles, répartis automatiquement sur les tranches.
- Types de tranche indépendants (administrables dans /admin/tranches) : plusieurs grilles de tranches parallèles, chacune avec sa propre unité — le devis multi-flux peut inclure plusieurs types en même temps, chacun dans sa propre partie avec son propre total (pas de total combiné).
- Catalogue de surcoûts : un surcout est désormais relié à une autre grille du même type de tranche plutôt qu'à une valeur fixe — son prix suit directement le tarif de la grille liée à la tranche comparée (le devis Run existant continue d'utiliser une valeur fixe, inchangé).
- Export du devis multi-flux au format « diapositives » (une par type de tranche, gabarit PowerPoint 16:9) : tarif retenu, éléments inclus, ventilation par flux, et comparaison visuelle avec le forfait inférieur et le forfait supérieur (badge « Offre recommandée » si ce dernier reste proche en prix).
- Détail de calcul interne affiché sur le devis multi-flux : chaque montant de la base forfaitaire est justifié ligne par ligne (volume × part × prix par document, par flux).
v1.2 — Application bilingue français / anglais
- Sélecteur de langue (drapeau) toujours visible dans le menu, et langue par défaut proposée aux nouveaux visiteurs configurable dans l'administration globale.
- Contenu métier traduisible partout (catégories, grilles, options, surcoûts, textes d'aide, page d'accueil) via un champ unique à onglets FR/EN, avec repli automatique sur le français si l'anglais n'est pas renseigné.
- Écran de devis et export HTML entièrement bilingues : libellés, phrases générées (règles de dépendance, détail des volumes), et formatage des nombres adapté à la langue (1 234,56 € en français, 1,234.56 € en anglais).
- Interface d'administration elle-même traduite (menus, boutons, info-bulles, page de connexion), en plus du contenu qu'elle permet de saisir.
- Actions de page (replier/déplier tous les encarts, calculer/exporter) regroupées à côté du titre, toujours visibles même formulaire replié.
v1.1 — Volumes partiels et options par grille
- Une grille peut recevoir un volume propre, distinct du volume annuel total (au prorata dans le tableau des tranches).
- Options nommées par grille (catalogue géré en admin : désignation, valeur), cochables au devis avec un volume propre — remplace la saisie libre d'un surcoût.
- Récapitulatif des choix enrichi : volume et part (%) affichés pour chaque grille, sous-liste imbriquée pour les options et grilles secondaires plutôt qu'une phrase à rallonge.
- Volume d'une grille rendue obligatoire par une règle de dépendance verrouillé automatiquement sur celui de la grille qui l'impose.
- Tous les encarts de l'application (accueil, admin, devis) sont repliables individuellement, y compris chaque catégorie de l'écran de devis.
- Mentions clarifiées sur le tableau récapitulatif : calcul au prorata des volumes/parts, prix par document présenté comme une moyenne indicative.
v1.0 — Version 1 — mise en production
- Écran de devis Run : deux dispositions (Vue 1 standard, Vue 2 avec récapitulatif toujours visible et formulaire repliable façon barre latérale).
- Tableau récapitulatif compacté : entêtes raccourcies, sélection groupée des tranches à exporter.
- Menu Administration regroupé en un seul sous-menu déroulant.
- Durée d'une grille optionnelle alignée automatiquement sur celle de la grille principale de sa catégorie.
- Page « À propos » et mise sous contrôle de version du projet.
Version 0.x
v0.7 — Aide contextuelle et ergonomie du devis
- Bouton d'aide « ? » et bulles d'aide administrables sur chaque page.
- Page d'accueil reconstruite autour de textes d'aide sélectionnables et ordonnables.
- Infobulles sur les grilles et les entêtes du tableau récapitulatif, encarts du devis repliables.
v0.6 — Refonte du modèle catégories / grilles
- Les grilles (et non plus les catégories) portent le rôle, la durée paramétrable et le surcoût.
- Règles de dépendance entre grilles (REQUIERT / INCLUS SANS SURCOÛT).
- Options globales en plus des options propres à chaque catégorie.
v0.3 — Déploiement et sécurité
- Authentification par code d'accès partagé pour les pages d'administration.
- Déploiement sur NAS Synology via Docker, redirection automatique HTTP → HTTPS derrière le reverse proxy.
v0.1 — Lot 1 — module Run
- Moteur de calcul du devis Run (volumes, tranches, engagement, remise).
- Écran de devis et pages d'administration globale / catégories.