Profil S4 : scorecard de réversibilité¶
Version 0.3 · 31 octobre 2026 · draft · PDF
La scorecard du profil S4 (Sovereign S3) répond à une question simple : combien de temps faut-il pour sortir d'un service de stockage objet, avec quelles contraintes et avec quelles pertes ? Elle traduit les contrats comportementaux du profil (contrats) en critères et en mesures, que les scénarios de test (scénarios) évaluent. Sa structure a été retenue par l'atelier OpenInterop du 9 octobre 2026 consacré à la réversibilité du stockage objet ; les seuils et plusieurs méthodes restent à valider par le groupe de travail (section 6).
Le CTK S4, implémentation des scénarios CTK-01 à CTK-05 (CTK S4), évalue aujourd'hui tous les critères de la première étape, trois des cinq critères de la seconde (A6, A7, A8) et publie trois des onze mesures. Les tableaux des sections 2 et 3 indiquent, pour chaque critère et chaque mesure, le scénario qui l'évalue dans le CTK S4.
1. Principes¶
1.1 Trois blocs, aucun score composite¶
Les huit métriques de départ (délai, débit, intégrité, métadonnées, portabilité, dépendances, automatisation, coût) sont de natures différentes. La scorecard les répartit en trois blocs, restitués séparément :
| Bloc | Nature | Règle | Exemples |
|---|---|---|---|
| A. Critères obligatoires | Tout ou rien | Seuil fixé par le profil ; un seul échec fait échouer la conformité au niveau de profil revendiqué | Complétude, intégrité, métadonnées obligatoires, droits d'accès, portabilité fonctionnelle |
| B. Mesures publiées | Mesure | Publiée avec ses conditions ; l'acheteur fixe ses propres seuils | Durée totale, débit utile, reprise, délai de listage |
| C. Contexte | Information | Publié, comparable, non noté | Coût et conditions, part automatisable, effort humain, dépendances résiduelles hors profil |
Cette répartition applique la règle de la doctrine OpenInterop (doctrine, §5.2). La conformité exige que tous les critères obligatoires du périmètre revendiqué soient satisfaits, sans compensation entre critères. Les mesures sont publiées à part, avec leurs conditions. Aucune moyenne pondérée ne fonde un verdict de conformité : un excellent débit ne compense ni un objet manquant, ni un contenu corrompu, ni un accès interdit devenu autorisé. Le bloc B informe l'acheteur, qui fixe ses seuils selon son besoin ; le bloc C éclaire le choix sans le trancher. L'atelier a jugé prématurés un score global pondéré et un seuil universel de débit.
1.2 Comparabilité¶
Une métrique n'est comparable entre fournisseurs que si les conditions de mesure sont fixées. La scorecard est donc indissociable d'une méthode de mesure normalisée :
- Jeux de données de référence fixés et publiés, générés de façon déterministe à partir d'une graine (cf. scénarios, §2). Le CTK S4 produit les mêmes octets pour une même graine, à trois volumes : essai rapide, volume fonctionnel (10 000 objets, 10 Go) et volume de charge (100 000 objets, 1 To).
- Client de référence : outil, version et paramètres (parallélisme, taille des parts, reprises) fixés. Les essais du CTK S4 ont montré la nécessité de ce point. Depuis janvier 2025, le client AWS pour Python (boto3) valide par défaut des sommes de contrôle CRC et rejette la réponse de Garage pour un objet multipartie. Le client de référence du CTK S4 désactive donc ces calculs hors des cas où l'API les exige ; il vérifie lui-même l'intégrité par SHA-256.
- Environnement identique : mêmes régions, mêmes quotas, même chemin réseau.
- Réseau non limitant : le client est placé de sorte que le réseau ne soit pas le goulot (même région, ou lien de capacité supérieure au débit mesuré). La capacité du lien est mesurée et publiée avec le résultat.
- Durée minimale des mesures de débit (30 minutes proposées) pour neutraliser les effets de rafale.
- Répétition : au moins trois exécutions, dont on publie la médiane et la dispersion.
- Horodatage et versions : date, région, version du profil, version du CTK. Le rapport du CTK S4 contient ces éléments, ainsi que l'empreinte du manifeste de référence et la commande qui rejoue l'exécution.
1.3 Limites de la comparaison¶
| Métrique | Comparable entre fournisseurs ? | Condition |
|---|---|---|
| Délai d'export | Non en valeur brute | Dépend du volume, du réseau et du client. Comparable seulement s'il est dérivé du débit soutenable (B1) et du délai de mise à disposition (B4, B5) pour un volume donné |
| Débit | Oui, sous conditions | Méthode normalisée, réseau non limitant |
| Intégrité | Oui | Obligatoire, 0 écart |
| Métadonnées | Oui | Obligatoire, sur la liste du niveau de profil |
| Portabilité (réimport) | Oui | Cible de référence fixée |
| Portabilité fonctionnelle | Oui | Application témoin et suite de tests fixées |
| Droits d'accès | Oui | Matrice d'accès fixée ; comparaison par effet sur les accès |
| Dépendances | Oui | Liste fermée de questions |
| Automatisation | Oui, approximativement | Grille d'étapes fixée |
| Coût / complexité | Coût : oui ; complexité : faiblement | Coût calculable pour un scénario type ; complexité estimée en effort humain sur une grille |
2. Bloc A : critères obligatoires¶
Chaque critère est évalué sur le périmètre revendiqué par le fournisseur : niveau Core en V0, les niveaux Versioned, Governance et Extended relevant des périmètres avancés. Les critères entrent en vigueur par étapes. La première étape reprend les cinq critères retenus par l'atelier : complétude (A1), intégrité (A2), métadonnées (A3, A4), droits d'accès (A10) et portabilité fonctionnelle (A11). Les cinq autres (A5 à A9), qui découlent des contrats du profil, s'ajouteront dans une étape suivante ; d'ici là, le CTK peut les évaluer à titre informatif.
La colonne « Scénarios » renvoie à la spécification ; la colonne « CTK S4 » indique les scénarios qui évaluent le critère dans l'implémentation actuelle.
| ID | Critère | Étape | Métrique | Seuil | Contrats | Scénarios | CTK S4 |
|---|---|---|---|---|---|---|---|
| A1 | Complétude | 1 | Objets récupérés / objets attendus | 100 % | EXP-01, EXP-02 | CTK-01, CTK-04 | CTK-01, CTK-04 |
| A2 | Intégrité | 1 | Objets dont taille et empreinte correspondent / objets attendus | 100 % | INT-01, INT-02 | CTK-02, CTK-04 | CTK-02, CTK-04 |
| A3 | Métadonnées reproductibles | 1 | Champs obligatoires conformes / champs obligatoires attendus | 100 % | MET-01, MET-02, MET-03 | CTK-03 | CTK-03 |
| A4 | Métadonnées non reproductibles | 1 | Exactitude des valeurs d'origine transportées par le manifeste | 100 % | MET-04, MET-05 | CTK-03 | CTK-03 |
| A5 | Configuration | 2 | Éléments de configuration exportés / actifs | 100 % | EXP-04 | CTK-01 | Non évalué |
| A6 | Comportement d'interface | 2 | Doublons / omissions de pagination ; conformité des erreurs ; clés restituées | 0 / 100 % / 100 % | API-01 à API-04 | CTK-01, CTK-04 | CTK-01 (pagination et clés ; erreurs non évaluées) |
| A7 | Réimport | 2 | Écarts manifeste source / manifeste cible | 0 | REC-01, REC-03 | CTK-01, CTK-03 | CTK-01 |
| A8 | Indépendance | 2 | Fonctions nécessaires restant liées à la source pour l'usage testé | Aucune | REC-02 | CTK-05 | CTK-05 |
| A9 | Automatisation | 2 | Interventions manuelles pendant l'exécution nominale, après préparation | 0 | API-05 | CTK-01 | Non évalué |
| A10 | Droits d'accès | 1 | Cas d'accès autorisés et interdits correctement appliqués / cas prévus ; exposition publique involontaire | 100 % ; aucune | MET-06, SEC-01 | CTK-03 | CTK-03 (si une matrice d'accès est fournie) |
| A11 | Portabilité fonctionnelle | 1 | Tests applicatifs réussis sur la cible après révocation des accès à la source / tests prévus | 100 % | REC-04 | CTK-05 | CTK-05 |
Dans le CTK S4, A4 est vérifié par le transport des valeurs Last-Modified et ETag d'origine en métadonnées utilisateur sur la cible. A8 n'est évalué que si l'on fournit les anciens identifiants de l'application, révoqués avant l'exécution ; la source doit alors les refuser. A5 (export de la configuration des buckets) et A9 (absence d'intervention manuelle) ne font pas encore l'objet d'un verdict.
Verdict du bloc A. Chaque critère reçoit l'un des quatre verdicts de la doctrine :
CONFORME: le seuil est atteint sur le périmètre testé ;NON CONFORME: le seuil n'est pas atteint ; le rapport donne les éléments de preuve (objets en écart, extraits du rapport du CTK) ;NON APPLICABLE: le critère est hors du périmètre revendiqué ou n'a pas été demandé ;NON CONCLUANT: l'environnement de test a fait défaut (service injoignable, identifiants refusés) ; l'exécution est à refaire.
Le bloc est conforme si aucun critère n'est non conforme ni non concluant ; un seul critère non conforme rend le bloc non conforme.
Une fonction revendiquée mais absente donne un verdict non conforme. Les premiers essais du CTK S4 l'illustrent : Garage v1.0.1 satisfait les critères évalués au niveau Core, sauf A11 : il ignore les lectures conditionnelles (If-Match), que l'application témoin vérifie. Une exécution qui revendique les étiquettes d'objet échoue en outre sur A3, car GetObjectTagging n'y est pas implémenté. Sur Ceph RGW v19.2.7 (moteur de stockage autonome dbstore), la lecture d'un objet multipartie dont la dernière partie fait un octet ne se termine jamais ; les exécutions complètes n'aboutissent donc pas et RGW n'a pas encore de verdict.
3. Bloc B : mesures publiées¶
Les mesures sont publiées avec leurs conditions ; le seuil dépend du profil du client. La méthode « valeur déclarée par le fournisseur, puis vérifiée par le CTK » reste une option du scénario CTK-06 (performance de la migration), dont le contenu est à définir par le groupe de travail. Le CTK S4 n'implémente pas CTK-06 ni les scénarios avancés CTK-X1 à CTK-X4 : il ne publie donc aujourd'hui que B9, B10 et B11, à titre informatif.
| ID | Mesure | Unité | Méthode | Contrat | Scénario | CTK S4 | Statut |
|---|---|---|---|---|---|---|---|
| B1 | Débit d'export soutenable par bucket | Gbit/s | Lecture parallèle de DS-L, fenêtre ≥ 30 min, médiane de 3 exécutions | PERF-01, PERF-03 | CTK-06 | Non évalué | Déclaré puis vérifié (tolérance à fixer) |
| B2 | Débit d'export soutenable par compte (plusieurs buckets) | Gbit/s | Idem, sur N buckets en parallèle | PERF-01 | CTK-06 | Non évalué | Idem |
| B3 | Limite de requêtes de lecture (par préfixe ou bucket) | requêtes/s | Montée en charge progressive sur DS-S jusqu'aux premières réponses de limitation | PERF-02 | CTK-06 | Non évalué | Idem |
| B4 | Délai de listage complet | s pour 10⁶ objets | Listage de DS-S, extrapolation documentée | PERF-04 | CTK-X1 | Non évalué | Publié |
| B5 | Délai de production du manifeste | min pour 10⁶ objets | Demande de manifeste sur DS-S | EXP-03 | CTK-X2 | Non évalué | Publié |
| B6 | Délai de restauration des classes froides | h | Restauration en masse d'un échantillon | EXP-05 | CTK-X4 | Non évalué | Périmètre avancé |
| B7 | Parallélisme maximal sans dégradation | connexions | Courbe débit / parallélisme, taux d'erreurs sous un seuil | PERF-03 | CTK-06 | Non évalué | Publié |
| B8 | Délai de déploiement d'un export assisté | jours ouvrés | Déclaratif | EXP-06 | Aucun | Sans objet | Déclaré |
| B9 | Reprise | délai, octets retransmis, interventions | Incidents définis injectés pendant la migration | REP-01 | CTK-04 | CTK-04 (coupures de connexion) | Publié ; seuil à calibrer après les premiers essais |
| B10 | Durée totale | h | Du lancement à la validation finale sur la cible, décomposée en inventaire, transfert, vérification et reconstruction | PERF-01 | CTK-05 | CTK-05 | Publié ; seuil selon le profil du client |
| B11 | Débit utile | Gbit/s | Octets uniques validés / durée de la phase de transfert | PERF-01 | CTK-05 | CTK-05 | Publié avec les conditions |
Statut de chaque valeur.
PUBLIÉ: mesure publiée avec ses conditions ;TENUouNON TENU: valeur déclarée comparée à la mesure, si CTK-06 retient cette méthode ;NON DÉCLARÉ,NON MESURÉ. L'absence de déclaration est elle-même une information publiée.
Grandeur dérivée pour l'acheteur : délai d'export estimé pour un volume V et un nombre d'objets N :
Exemple indicatif : 200 To, 50 millions d'objets, B1 = 10 Gbit/s, B3 = 2 000 req/s → max(44 h, 7 h) ≈ 44 h de transfert, hors listage et restauration. La formule aide à lire les mesures et n'engage pas le fournisseur ; elle suppose que le réseau du client n'est pas limitant.
4. Bloc C : contexte¶
Le bloc C relève de déclarations et de relevés ; aucun élément n'est évalué par le CTK S4.
| ID | Élément | Forme | Source |
|---|---|---|---|
| C1 | Coût de sortie pour un scénario type (ex. 100 To, 10⁷ objets, classe standard) | € et conditions d'éligibilité à la gratuité | Grille tarifaire publiée ; à partir du 12 janvier 2027, 0 € de frais de changement attendu (Data Act, art. 29) |
| C2 | Coût de restauration des classes froides | € / To | Grille tarifaire |
| C3 | Part automatisable du processus de sortie | Proportion des étapes de la grille ci-dessous automatisables | Déclaration et CTK-01 |
| C4 | Coût et effort observés | Frais observés, ressources consommées et heures humaines, avec leur décomposition | Relevé lors des essais, confronté aux déclarations |
| C5 | Dépendances résiduelles hors profil | Liste (ex. notifications vers un service propriétaire, règles de cycle de vie non exportables, fonctions de requête in situ) | Déclaration et revue |
| C6 | Niveau de profil revendiqué | Core / Versioned / Governance / Extended | Déclaration de conformité |
| C7 | Délais contractuels | Préavis, transition, récupération, effacement | Contrat type (ORG-02, ORG-04) |
Grille d'étapes pour l'automatisation (C3)¶
| # | Étape | Automatisable ? |
|---|---|---|
| 1 | Obtenir des identifiants d'accès programmatique avec droits de lecture complets | oui / non |
| 2 | Énumérer les buckets | oui / non |
| 3 | Exporter la configuration de chaque bucket | oui / non |
| 4 | Obtenir le manifeste | oui / non |
| 5 | Restaurer les objets en classe froide | oui / non / sans objet |
| 6 | Transférer les objets (et versions) | oui / non |
| 7 | Vérifier l'intégrité | oui / non |
| 8 | Demander la clôture et l'effacement | oui / non |
| 9 | Obtenir l'attestation d'effacement | oui / non |
5. Fiche de profil fournisseur¶
La scorecard est restituée sous forme d'une fiche par service et par région. Les valeurs du gabarit ci-dessous sont fictives. Il indique le niveau de preuve (§5.3 de la doctrine) : autoévaluation par le fournisseur, vérification par un acheteur ou un tiers, essai croisé organisé par OpenInterop. Seul l'essai croisé ouvre droit au badge de conformité délivré par l'autorité technique.
Fiche de réversibilité S4 : <Fournisseur> / <Service> / <Région>
Profil : S4 V0.1 CTK : v0.x Date : AAAA-MM-JJ
Niveau revendiqué : Versioned Preuve : vérification
A. Critères obligatoires Verdict : CONFORME (Versioned)
A1 Complétude ............ OK A7 Réimport (Garage) ..... OK
A2 Intégrité ............. OK A8 Indépendance .......... OK
A3 Métadonnées ........... OK A9 Automatisation ........ OK
A4 Manifeste ............. OK A10 Droits d'accès ....... OK
A5 Configuration ......... OK A11 Tests applicatifs .... OK
A6 Interface ............. OK
B. Mesures publiées
B4 Listage 10⁶ objets .... 95 s PUBLIÉ
B6 Restauration froide ... NON DÉCLARÉ
B9 Reprise ............... 3 incidents, 0 intervention PUBLIÉ
B10 Durée totale ......... 6 h 40 (volume de charge, lien 10 Gbit/s) PUBLIÉ
B11 Débit utile .......... 8,9 Gbit/s PUBLIÉ
C. Contexte
C1 Coût sortie 100 To .... 0 € (sur demande, fermeture du compte)
C3 Automatisation ........ 8/9 étapes (attestation d'effacement manuelle)
C5 Dépendances ........... notifications d'événements (format propriétaire)
Rapport CTK détaillé : <lien> Empreinte du rapport : <sha256>
La fiche est une preuve technique. Son usage dans un contrat demande une rédaction propre, objet de la proposition d'annexe contractuelle prévue en décembre 2026.
Paliers¶
La fiche cloud prévoit un indicateur d'interopérabilité cloud (fiche cloud, chantier CL4) ; la doctrine prévoit un indicateur calculé à partir des rapports de conformité (§5.4). Si des paliers sont retenus, ils se définissent par des conditions cumulatives, jamais par une moyenne :
| Palier | Condition |
|---|---|
| Bronze | Bloc A conforme au niveau Core |
| Argent | Bloc A conforme au niveau Versioned ou Governance ; B1, B3 et B4 publiés |
| Or | Argent, plus manifeste fourni par le fournisseur (B5 publié), C3 = 100 % et export assisté documenté (B8) |
6. Points ouverts¶
Les points suivants restent à trancher par le groupe de travail. Les dates proposées par l'atelier en fixent le cadre : TechSprint début novembre 2026, essais croisés fin novembre, profil V0.1 et proposition d'annexe contractuelle en décembre 2026.
- Calendrier de la seconde étape (A5 à A9) et éventuelle révision de leurs seuils après les premiers essais croisés.
- Liste des champs obligatoires et transformations admises (A3), dont le caractère obligatoire des étiquettes d'objet au niveau Core.
- Format de la matrice d'accès et correspondances entre modèles IAM (A10). Le CTK S4 accepte une matrice d'identités et de cas attendus, qui sert de proposition.
- Seuils de reprise (B9), à calibrer après les essais croisés ; incidents à ajouter aux coupures de connexion (erreurs serveur, expiration des identifiants).
- Contenu de CTK-06 : méthode de mesure des débits (B1 à B3, B7) et, si la méthode « déclaré puis vérifié » est retenue, tolérances entre valeur déclarée et valeur mesurée.
- Cible de référence pour le réimport (A7) : Garage couvre le niveau Core ; Ceph RGW, plus complet, doit d'abord être validé sur un déploiement où le défaut de lecture multipartie ne se produit pas.
- Scénario type pour le calcul du coût (C1) et méthode de relevé de l'effort (C4).
- Définition des paliers et articulation avec l'indicateur d'interopérabilité cloud.