Project

General

Profile

Actions

Feature #1147

open
RA

Tiers réels — 2 pools (maintenance/évolutions) + flux/SLA + page /offres + jauge à 2 indicateurs

Feature #1147: Tiers réels — 2 pools (maintenance/évolutions) + flux/SLA + page /offres + jauge à 2 indicateurs

Added by Redmine Admin about 1 month ago. Updated about 1 month ago.

Status:
QA
Priority:
Normal
Assignee:
-
Start date:
06/22/2026
Due date:
% Done:

0%

Estimated time:
(Total: 0:00 h)
spec_ref:

issue:self — spec dans la description (matrice + copies + décisions)

build_status:
build_number:
ci_run_url:
scan_status:
scan_report_url:
deploy_status:
preprod_url:
deployed_at:
branch:
pr_url:
security_key:
severity:
paused:

Description

### Contexte
Le modèle de tiers livré dans l'épopée #1133 utilisait des crédits placeholder (un seul pool : 25/42/97/160). Le vrai modèle commercial OmDev a **deux pools de crédits** (maintenance + évolutions, certains illimités), un nombre de **flux simultanés**, un **SLA incident** et un **niveau humain** distincts par formule. De plus, le bouton « Demander une mise à niveau » doit ouvrir une **page /offres** présentant toutes les formules en détail.

### Matrice réelle des formules (source de vérité)
| Formule | Prix/mois | Maintenance | Évolutions | Flux | 1ʳᵉ livraison | Incident | Humain |
|---|---|---|---|---|---|---|---|
| Démarrage | 2 500 € | 100 crédits | 10 crédits | 1 | — | sans SLA contractuel (heures ouvrées) | 1 dev senior dédié |
| Maintenance | 4 200 € | illimité | 20 crédits | 1 | 48 h | P1 4 h ouvrées / P2 J+1 / P3 semaine | 1 dev senior dédié |
| Évolutions | 9 700 € | illimité | illimité | 2 | 24 h | P1 2 h / P2 8 h / P3 2 j | contact dédié + équipe senior |
| Pilotage | 16 000 € | illimité | illimité | 4 | 12 h | P1 1 h (lun-ven 9-19h) / P2 4 h / P3 1 j | CTO nommé + équipe senior |

« illimité » = pas de plafond (stocker NULL côté DB). Chaque formule inclut tout ce que contiennent les formules en dessous. Points non cumulables d'un mois sur l'autre.

### Contenu marketing par formule (pour la page /offres — vit en i18n, pas en DB)
**Démarrage (2 500 €)** — « Le socle qui fait tourner votre dispositif médical logiciel, en abonnement agile. » RUN Supervision & incidents · RUN Observabilité & tableau de bord · RUN Maintenance & dépendances · PROTECT Sécurité (socle : scan dépendances+vulnérabilités, correctifs sécurité, RGPD, registre SOUP à chaque build) · RUN Infra gérée · BUILD Évolutions (~2/mois). Cadence : maintenance proactive, sprint hebdo, 1 flux. Engagement : 100 crédits/mois (bugs, correctifs, vulnérabilités, en continu). Sans engagement, résiliable. Humain : 1 dev senior dédié.

**Maintenance (4 200 €)** — « Garder en vie le logiciel qui fait tourner votre activité. » BUILD Qualité & tests · RUN Observabilité · RUN Bug & incident (le cœur du métier) · RUN Maintenance & dépendances · PROTECT Sécurité (socle). Incident : P1 4 h ouvrées (correctif le jour ouvré même), P2 J+1, P3 semaine. 1ʳᵉ livraison 48 h. 1 flux. Maintenance illimitée + 20 crédits évolutions.

**Évolutions (9 700 €)** — « Un senior qui construit et livre à vos côtés. » + tout Maintenance. BUILD Produit & cadrage · BUILD UX/UI · BUILD Développement applicatif · BUILD Données · RUN Ingénierie de release (feature flags, canary, blue-green, rollback) · RUN DevOps & infra (CI/CD, IaC, conteneurs, cloud) · PROTECT Sécurité+ (auth, traçabilité exigences→code→test, RGPD+HDS). Incident : P1 2 h, P2 8 h, P3 2 j. 1ʳᵉ livraison 24 h. 2 flux. Maintenance + évolutions illimitées. Humain : 1 contact dédié + équipe senior.

**Pilotage (16 000 €)** — « Le jugement senior qui pilote toute la techno, avec un CTO joignable. » + tout Évolutions & Maintenance. PROTECT Sécurité++ (SAST/DAST, IEC 62304, ISO 14971) · PROTECT Performance & scalabilité · PROTECT Coût/FinOps · ADVISE Architecture & roadmap (niveau CTO). Incident : P1 1 h (lun-ven 9-19h), P2 4 h, P3 1 j. 1ʳᵉ livraison 12 h. 4 flux. CTO nommé + équipe senior. Option déploiement souverain (HDS) dès 3 000 € une fois (sur devis).

**Légende SLA (« Comment lire les SLA »)** — Réponse = quelqu'un travaille dessus pour de vrai (pas un accusé de réception). Correctif livré = PR ouverte, relue et validée par un senior, prête à fusionner. Première livraison = premier livrable utilisable (hors incident). Flux = chantier en cours (fonctionnalité/epic/incident) ; le nombre = combien en parallèle. Sévérité : P1 prod à l'arrêt/perte de données/faille · P2 dégradation majeure · P3 mineur/cosmétique. Couverture lun-ven heures ouvrées sauf on-call précisé. Délais de réponse fermes ; délais de correctif au mieux avec effort senior continu. Prix fixe sans TJM. 100 % du code reste au client.

### Décisions produit
- **2 pools de crédits** : maintenance + évolutions, chacun entier OU illimité (NULL). `CreditBalance` suit les deux par client.
- **Jauge profil = 2 indicateurs** (maintenance + évolutions ; afficher « illimité » quand NULL, jamais « bas »).
- **Page /offres** complète : 4 formules, deux pools, flux, SLA, humain/CTO, bullets RUN/BUILD/PROTECT/ADVISE, formule actuelle mise en évidence, CTA contact/upgrade. « Demander une mise à niveau » y renvoie.

### Découpage
1. Backend — modèle tiers à 2 pools + reseed + API + ajustement/alertes par pool.
2. Frontend — page /offres + jauge 2 indicateurs + TierCard + lien upgrade + i18n.

### Critères d'acceptation (épopée)
- [ ] Les 4 formules exposent maintenance & évolutions (nombre ou illimité), flux, SLA, prix — corrigés.
- [ ] La jauge profil montre 2 indicateurs (maintenance + évolutions), « illimité » géré, jamais faux « bas » sur un pool illimité.
- [ ] La page /offres présente les 4 formules avec tous les détails ci-dessus, formule actuelle mise en évidence.
- [ ] « Demander une mise à niveau » ouvre /offres.
- [ ] La page admin et les ajustements/alertes gèrent les deux pools.
- [ ] Migration : la table tiers + credit_balances migrées et reseedées avec les vraies valeurs.


Subtasks 2 (2 open0 closed)

Feature #1148: Backend — Modèle tiers à 2 pools (maintenance/évolutions illimitables) + reseed + API + ajustement/alertes par poolQA06/22/2026

Actions
Feature #1149: Frontend — Page /offres (formules complètes), jauge profil à 2 indicateurs, TierCard, lien « Demander une mise à niveau »QA06/22/2026

Actions

RA Updated by Redmine Admin about 1 month ago Actions #1

  • Subtask #1148 added

RA Updated by Redmine Admin about 1 month ago Actions #2

  • Subtask #1149 added

RA Updated by Redmine Admin about 1 month ago Actions #3

  • Status changed from Submitted to Spec

RA Updated by Redmine Admin about 1 month ago Actions #4

  • Status changed from Spec to In development

Rollup épopée : enfant frontend #1149 passe « En développement » ; le backend #1148 est en QA. Le parent suit l'enfant le moins avancé → « En développement ».

RA Updated by Redmine Admin about 1 month ago Actions #5

  • Status changed from In development to QA

Rollup épopée : l'enfant frontend #1149 passe en QA (PR #74 vers `dev`) et le backend #1148 est déjà en QA. Les deux enfants sont au moins en QA → le parent suit l'enfant le moins avancé et passe en QA.

RA Updated by Redmine Admin about 1 month ago Actions #6

Les 2 enfants (#1148 backend 2 pools + migration 0014, #1149 frontend /offres + jauge 2 indicateurs + admin 2 pools) sont implémentés, revus (code-review + corrections), et fusionnés sur `dev` (PRs #72, #74). Gates verts (API 615, FE 648). Épopée en QA. Reste : re-validation intégrée + promotion dev→preprod→master (s'arrête à la barrière prod).

Actions

Also available in: PDF Atom