{
  "source": {
    "repository": "https://github.com/APIOpsCycles/apiops-cycles-method-data",
    "commit": "4418d7ccff492f591957f0e53fd9d476354041d7"
  },
  "locales": [
    "en",
    "fi",
    "fr",
    "de",
    "pt"
  ],
  "defaultLocale": "en",
  "translations": {
    "fr": {
      "apiBusinessModelCanvas": {
        "id": "apiBusinessModelCanvas",
        "title": "API Business Model Canvas",
        "purpose": "Quelle sera la viabilité et la réutilisabilité de cette API ? Existe-t-il un modèle métier justifié du point de vue coût-bénéfice ?",
        "howToUse": "Résumer la proposition de valeur d’une API à partir de l’API Value Proposition Canvas, puis suivre la séquence numérotée.",
        "layout": {
          "columns": 5,
          "rows": 3
        },
        "metadata": {
          "source": "APIOps Cycles",
          "license": "CC-BY-SA 4.0",
          "authors": [
            "Alexander Osterwalder",
            "Osaango Ltd"
          ],
          "website": "www.apiopscycles.com"
        },
        "footer": "",
        "canvasCreatorUrl": "https://canvascreator.apiopscycles.com/?canvas=apiBusinessModelCanvas&locale=fr",
        "importExportTemplate": {
          "templateId": "apiBusinessModelCanvas",
          "locale": "fr",
          "metadata": {
            "source": "APIOps Cycles",
            "license": "CC-BY-SA 4.0",
            "authors": [
              "Alexander Osterwalder",
              "Osaango Ltd"
            ],
            "website": "www.apiopscycles.com",
            "date": "2026-07-24T13:03:14.645Z"
          },
          "sections": [
            {
              "sectionId": "keyPartners",
              "stickyNotes": []
            },
            {
              "sectionId": "keyActivities",
              "stickyNotes": []
            },
            {
              "sectionId": "keyResources",
              "stickyNotes": []
            },
            {
              "sectionId": "apiValueProposition",
              "stickyNotes": []
            },
            {
              "sectionId": "developerRelations",
              "stickyNotes": []
            },
            {
              "sectionId": "channels",
              "stickyNotes": []
            },
            {
              "sectionId": "apiConsumerSegments",
              "stickyNotes": []
            },
            {
              "sectionId": "costs",
              "stickyNotes": []
            },
            {
              "sectionId": "benefits",
              "stickyNotes": []
            }
          ],
          "footer": ""
        },
        "sections": [
          {
            "id": "apiValueProposition",
            "title": "Proposition de valeur de l’API",
            "description": "Commencez par une note adhésive indiquant le nom de l’API ou de la famille d’API, puis notez la valeur ajoutée que l’API offre aux utilisateurs API.",
            "gridPosition": {
              "column": 2,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 2
            },
            "fillOrder": 1,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#C0EB6A",
            "defaultNoteIntent": "benefit"
          },
          {
            "id": "apiConsumerSegments",
            "title": "Segments d’utilisateurs API",
            "description": "Quelles sont les audiences cibles pour l’API?",
            "gridPosition": {
              "column": 4,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 2
            },
            "fillOrder": 2,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "developerRelations",
            "title": "Relations développeurs",
            "description": "Comment le fournisseur d’API atteint-il et soutient-il les utilisateurs API?",
            "gridPosition": {
              "column": 3,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 3,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "channels",
            "title": "Canaux",
            "description": "Par quels mécanismes les utilisateurs API interagissent-ils avec l’API?",
            "gridPosition": {
              "column": 3,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 4,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "keyResources",
            "title": "Ressources clés",
            "description": "Quels actifs stratégiques uniques le fournisseur d’API doit-il acquérir ou développer?",
            "gridPosition": {
              "column": 1,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 5,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "keyActivities",
            "title": "Activités clés",
            "description": "Quelles sont les actions les plus importantes que le fournisseur d’API doit entreprendre pour réussir?",
            "gridPosition": {
              "column": 1,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 6,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "keyPartners",
            "title": "Partenaires clés",
            "description": "Qui sont les principales parties prenantes impliquées?",
            "gridPosition": {
              "column": 0,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 2
            },
            "fillOrder": 7,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "benefits",
            "title": "Avantages",
            "description": "Quels sont les avantages significatifs ou les sources de revenus générés par l’API?",
            "gridPosition": {
              "column": 2.5,
              "row": 2,
              "colSpan": 2.5,
              "rowSpan": 1
            },
            "fillOrder": 8,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#C0EB6A",
            "defaultNoteIntent": "benefit"
          },
          {
            "id": "costs",
            "title": "Coûts",
            "description": "Quels sont les coûts importants liés à la création, au déploiement et à l'exploitation de l’API?",
            "gridPosition": {
              "column": 0,
              "row": 2,
              "colSpan": 2.5,
              "rowSpan": 1
            },
            "fillOrder": 9,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#FFAFAF",
            "defaultNoteIntent": "negative"
          }
        ]
      },
      "apiValuePropositionCanvas": {
        "id": "apiValuePropositionCanvas",
        "title": "API Value Proposition Canvas",
        "purpose": "Comment le parcours client est-il lié aux API ? Quels irritants et gains des utilisateurs finaux et des utilisateurs API doivent être traités ?",
        "howToUse": "Décrire la perspective des utilisateurs finaux, en commençant par leurs tâches, puis leurs irritants et gains ainsi que ceux des utilisateurs API, et enfin les produits et fonctionnalités API.",
        "layout": {
          "columns": 4,
          "rows": 3
        },
        "metadata": {
          "source": "APIOps Cycles",
          "license": "CC-BY-SA 4.0",
          "authors": [
            "Alexander Osterwalder",
            "Osaango Ltd"
          ],
          "website": "www.apiopscycles.com"
        },
        "footer": "",
        "canvasCreatorUrl": "https://canvascreator.apiopscycles.com/?canvas=apiValuePropositionCanvas&locale=fr",
        "importExportTemplate": {
          "templateId": "apiValuePropositionCanvas",
          "locale": "fr",
          "metadata": {
            "source": "APIOps Cycles",
            "license": "CC-BY-SA 4.0",
            "authors": [
              "Alexander Osterwalder",
              "Osaango Ltd"
            ],
            "website": "www.apiopscycles.com",
            "date": "2026-07-24T13:03:14.646Z"
          },
          "sections": [
            {
              "sectionId": "tasks",
              "stickyNotes": []
            },
            {
              "sectionId": "gainEnablingFeatures",
              "stickyNotes": []
            },
            {
              "sectionId": "painRelievingFeatures",
              "stickyNotes": []
            },
            {
              "sectionId": "apiProducts",
              "stickyNotes": []
            }
          ],
          "footer": ""
        },
        "sections": [
          {
            "id": "tasks",
            "title": "Tâches",
            "description": "Que cherchent à accomplir les clients ou utilisateurs finaux ?",
            "gridPosition": {
              "column": 0,
              "row": 0,
              "colSpan": 4,
              "rowSpan": 1
            },
            "fillOrder": 1,
            "highlight": true,
            "journeySteps": true,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "gainEnablingFeatures",
            "title": "Fonctionnalités génératrices de gains",
            "description": "Quelles fonctionnalités aident les utilisateurs finaux et les utilisateurs API à obtenir les gains attendus ?",
            "gridPosition": {
              "column": 0,
              "row": 1,
              "colSpan": 2,
              "rowSpan": 1
            },
            "fillOrder": 2,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#C0EB6A",
            "defaultNoteIntent": "benefit"
          },
          {
            "id": "painRelievingFeatures",
            "title": "Fonctionnalités qui réduisent les irritants",
            "description": "Quelles fonctionnalités aident les utilisateurs finaux et les utilisateurs API à réduire les irritants ?",
            "gridPosition": {
              "column": 2,
              "row": 1,
              "colSpan": 2,
              "rowSpan": 1
            },
            "fillOrder": 3,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#C0EB6A",
            "defaultNoteIntent": "benefit"
          },
          {
            "id": "apiProducts",
            "title": "Produits API",
            "description": "Quels produits et fonctionnalités API répondent aux tâches, peines et gains?",
            "gridPosition": {
              "column": 0,
              "row": 2,
              "colSpan": 4,
              "rowSpan": 1
            },
            "fillOrder": 4,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          }
        ]
      },
      "businessImpactCanvas": {
        "id": "businessImpactCanvas",
        "title": "Business Impact Canvas",
        "purpose": "Quels impacts métier une défaillance ou un mauvais comportement de la capacité ou de l’interface peut-il avoir ?",
        "howToUse": "Évaluer les impacts potentiels sur la disponibilité, la sécurité, les données et les opérations avant de figer le mode de mise en œuvre.",
        "layout": {
          "columns": 3,
          "rows": 2
        },
        "metadata": {
          "source": "APIOps Cycles",
          "license": "CC-BY-SA 4.0",
          "authors": [
            "Osaango Ltd"
          ],
          "website": "www.apiopscycles.com"
        },
        "footer": "",
        "canvasCreatorUrl": "https://canvascreator.apiopscycles.com/?canvas=businessImpactCanvas&locale=fr",
        "importExportTemplate": {
          "templateId": "businessImpactCanvas",
          "locale": "fr",
          "metadata": {
            "source": "APIOps Cycles",
            "license": "CC-BY-SA 4.0",
            "authors": [
              "Osaango Ltd"
            ],
            "website": "www.apiopscycles.com",
            "date": "2026-07-24T13:03:14.648Z"
          },
          "sections": [
            {
              "sectionId": "availabilityRisks",
              "stickyNotes": []
            },
            {
              "sectionId": "securityRisks",
              "stickyNotes": []
            },
            {
              "sectionId": "dataRisks",
              "stickyNotes": []
            },
            {
              "sectionId": "mitigateAvailabilityRisks",
              "stickyNotes": []
            },
            {
              "sectionId": "mitigateSecurityRisks",
              "stickyNotes": []
            },
            {
              "sectionId": "mitigateDataRisks",
              "stickyNotes": []
            }
          ],
          "footer": ""
        },
        "sections": [
          {
            "id": "availabilityRisks",
            "title": "Risques de disponibilité",
            "description": "Quels sont les risques potentiels pour la disponibilité de l’API?",
            "gridPosition": {
              "column": 0,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 1,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#FFAFAF",
            "defaultNoteIntent": "negative"
          },
          {
            "id": "mitigateAvailabilityRisks",
            "title": "Atténuer les risques de disponibilité",
            "description": "Comment le fournisseur d’API peut-il atténuer les risques de disponibilité?",
            "gridPosition": {
              "column": 0,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 2,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "securityRisks",
            "title": "Risques de sécurité",
            "description": "Quels sont les risques de sécurité potentiels associés à l’API?",
            "gridPosition": {
              "column": 1,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 3,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#FFAFAF",
            "defaultNoteIntent": "negative"
          },
          {
            "id": "mitigateSecurityRisks",
            "title": "Atténuer les risques de sécurité",
            "description": "Comment le fournisseur d’API peut-il atténuer les risques de sécurité?",
            "gridPosition": {
              "column": 1,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 4,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "dataRisks",
            "title": "Risques liés aux données",
            "description": "Quels sont les risques potententiels pour l'intégrité ou la protection des données?",
            "gridPosition": {
              "column": 2,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 5,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#FFAFAF",
            "defaultNoteIntent": "negative"
          },
          {
            "id": "mitigateDataRisks",
            "title": "Atténuer les risques liés aux données",
            "description": "Comment le fournisseur d’API peut-il atténuer les risques liés aux données?",
            "gridPosition": {
              "column": 2,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 6,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          }
        ]
      },
      "capacityCanvas": {
        "id": "capacityCanvas",
        "title": "Capacity Canvas",
        "purpose": "Quelle capacité est nécessaire pour soutenir l’usage de la capacité ou de l’interface ?",
        "howToUse": "Analyser les exigences de capacité actuelles et futures pour la capacité ou l’interface.",
        "layout": {
          "columns": 3,
          "rows": 3
        },
        "metadata": {
          "source": "APIOps Cycles",
          "license": "CC-BY-SA 4.0",
          "authors": [
            "Osaango Ltd"
          ],
          "website": "www.apiopscycles.com"
        },
        "footer": "",
        "canvasCreatorUrl": "https://canvascreator.apiopscycles.com/?canvas=capacityCanvas&locale=fr",
        "importExportTemplate": {
          "templateId": "capacityCanvas",
          "locale": "fr",
          "metadata": {
            "source": "APIOps Cycles",
            "license": "CC-BY-SA 4.0",
            "authors": [
              "Osaango Ltd"
            ],
            "website": "www.apiopscycles.com",
            "date": "2026-07-24T13:03:14.649Z"
          },
          "sections": [
            {
              "sectionId": "currentBusinessVolumes",
              "stickyNotes": []
            },
            {
              "sectionId": "futureConsumptionTrends",
              "stickyNotes": []
            },
            {
              "sectionId": "peakLoadAndAvailabilityRequirements",
              "stickyNotes": []
            },
            {
              "sectionId": "cachingStrategies",
              "stickyNotes": []
            },
            {
              "sectionId": "rateLimitingStrategies",
              "stickyNotes": []
            },
            {
              "sectionId": "scalingStrategies",
              "stickyNotes": []
            }
          ],
          "footer": ""
        },
        "sections": [
          {
            "id": "currentBusinessVolumes",
            "title": "Volumes d'activité actuels",
            "description": "Quels sont les volumes d'affaires et taux de transaction actuels?",
            "gridPosition": {
              "column": 0,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 1,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "futureConsumptionTrends",
            "title": "Tendances de consommation futures",
            "description": "Quelles sont les tendances de consommation anticipées?",
            "gridPosition": {
              "column": 1,
              "row": 0,
              "colSpan": 2,
              "rowSpan": 1
            },
            "fillOrder": 2,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "peakLoadAndAvailabilityRequirements",
            "title": "Exigences de charge maximale et de disponibilité",
            "description": "Quelles sont les exigences de charge maximale et de disponibilité?",
            "gridPosition": {
              "column": 0,
              "row": 1,
              "colSpan": 3,
              "rowSpan": 1
            },
            "fillOrder": 3,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "cachingStrategies",
            "title": "Stratégies de mise en cache",
            "description": "Quelles stratégies de mise en cache peuvent être utilisées pour optimiser les performances?",
            "gridPosition": {
              "column": 0,
              "row": 2,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 4,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "rateLimitingStrategies",
            "title": "Stratégies de limitation de débit",
            "description": "Quelles stratégies de limitation de débit peuvent être utilisées pour gérer la consommation?",
            "gridPosition": {
              "column": 1,
              "row": 2,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 5,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "scalingStrategies",
            "title": "Stratégies de montée en charge",
            "description": "Quelles stratégies d'évolutivité peuvent être utilisées pour accompagner la croissance?",
            "gridPosition": {
              "column": 2,
              "row": 2,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 6,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          }
        ]
      },
      "customerJourneyCanvas": {
        "id": "customerJourneyCanvas",
        "title": "Customer Journey Canvas",
        "purpose": "Quel parcours client ou partenaire crée le besoin de capacité ou d’interface ?",
        "howToUse": "Décrire un parcours réel de client, partenaire ou utilisateur, et non l’usage de l’API elle-même. Ce parcours révèle les irritants, objectifs et contextes qui aident à définir les exigences de capacité et d’interface.",
        "layout": {
          "columns": 5,
          "rows": 4
        },
        "metadata": {
          "source": "APIOps Cycles",
          "license": "CC-BY-SA 4.0",
          "authors": [
            "Osaango Ltd"
          ],
          "website": "www.apiopscycles.com"
        },
        "footer": "",
        "canvasCreatorUrl": "https://canvascreator.apiopscycles.com/?canvas=customerJourneyCanvas&locale=fr",
        "importExportTemplate": {
          "templateId": "customerJourneyCanvas",
          "locale": "fr",
          "metadata": {
            "source": "APIOps Cycles",
            "license": "CC-BY-SA 4.0",
            "authors": [
              "Osaango Ltd"
            ],
            "website": "www.apiopscycles.com",
            "date": "2026-07-24T13:03:14.651Z"
          },
          "sections": [
            {
              "sectionId": "customerDiscoversNeed",
              "stickyNotes": []
            },
            {
              "sectionId": "persona",
              "stickyNotes": []
            },
            {
              "sectionId": "pains",
              "stickyNotes": []
            },
            {
              "sectionId": "journeySteps",
              "stickyNotes": []
            },
            {
              "sectionId": "customerNeedIsResolved",
              "stickyNotes": []
            },
            {
              "sectionId": "gains",
              "stickyNotes": []
            },
            {
              "sectionId": "inputsOutputs",
              "stickyNotes": []
            },
            {
              "sectionId": "interactionProcessingRules",
              "stickyNotes": []
            }
          ],
          "footer": ""
        },
        "sections": [
          {
            "id": "persona",
            "title": "Persona",
            "description": "Qui est le client type qui vit ce parcours?",
            "gridPosition": {
              "column": 1,
              "row": 0,
              "colSpan": 3,
              "rowSpan": 1
            },
            "fillOrder": 1,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "customerDiscoversNeed",
            "title": "Le client découvre le besoin",
            "description": "Comment le client reconnaît-il son besoin ou son problème?",
            "gridPosition": {
              "column": 0,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 2,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "customerNeedIsResolved",
            "title": "Le besoin du client est résolu",
            "description": "Comment le besoin du client est-il finalement résolu?",
            "gridPosition": {
              "column": 4,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 3,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#C0EB6A",
            "defaultNoteIntent": "benefit"
          },
          {
            "id": "journeySteps",
            "title": "Étapes du parcours",
            "description": "Quelles sont les étapes suivies par le client dans son parcours?",
            "gridPosition": {
              "column": 1,
              "row": 1,
              "colSpan": 3,
              "rowSpan": 2
            },
            "fillOrder": 4,
            "highlight": false,
            "journeySteps": true,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "pains",
            "title": "Douleurs",
            "description": "Quels sont les irritants ou défis du client?",
            "gridPosition": {
              "column": 0,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 2
            },
            "fillOrder": 5,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#FFAFAF",
            "defaultNoteIntent": "negative"
          },
          {
            "id": "gains",
            "title": "Gains",
            "description": "Quels sont les gains ou bénéfices pour le client?",
            "gridPosition": {
              "column": 4,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 2
            },
            "fillOrder": 6,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#C0EB6A",
            "defaultNoteIntent": "benefit"
          },
          {
            "id": "inputsOutputs",
            "title": "Entrées et sorties",
            "description": "Quelles sont les entrées et les sorties à chaque étape?",
            "gridPosition": {
              "column": 0.5,
              "row": 3,
              "colSpan": 2,
              "rowSpan": 1
            },
            "fillOrder": 7,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "interactionProcessingRules",
            "title": "Règles d'interaction et de traitement",
            "description": "Quelles sont les règles d'interaction et de traitement à chaque étape?",
            "gridPosition": {
              "column": 2.5,
              "row": 3,
              "colSpan": 2,
              "rowSpan": 1
            },
            "fillOrder": 8,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          }
        ]
      },
      "domainCanvas": {
        "id": "domainCanvas",
        "title": "Domain Canvas",
        "purpose": "Quels concepts, entités et règles de domaine métier la capacité ou l’interface doit-elle respecter ?",
        "howToUse": "Définir le modèle de domaine métier pour la capacité ou l’interface, y compris entités, attributs et relations.",
        "layout": {
          "columns": 2,
          "rows": 4
        },
        "metadata": {
          "source": "APIOps Cycles",
          "license": "CC-BY-SA 4.0",
          "authors": [
            "Osaango Ltd"
          ],
          "website": "www.apiopscycles.com"
        },
        "footer": "",
        "canvasCreatorUrl": "https://canvascreator.apiopscycles.com/?canvas=domainCanvas&locale=fr",
        "importExportTemplate": {
          "templateId": "domainCanvas",
          "locale": "fr",
          "metadata": {
            "source": "APIOps Cycles",
            "license": "CC-BY-SA 4.0",
            "authors": [
              "Osaango Ltd"
            ],
            "website": "www.apiopscycles.com",
            "date": "2026-07-24T13:03:14.656Z"
          },
          "sections": [
            {
              "sectionId": "selectedCustomerJourneySteps",
              "stickyNotes": []
            },
            {
              "sectionId": "coreEntitiesAndBusinessMeaning",
              "stickyNotes": []
            },
            {
              "sectionId": "attributesAndBusinessImportance",
              "stickyNotes": []
            },
            {
              "sectionId": "relationshipsBetweenEntities",
              "stickyNotes": []
            },
            {
              "sectionId": "businessComplianceAndIntegrityRules",
              "stickyNotes": []
            },
            {
              "sectionId": "securityAndPrivacyConsiderations",
              "stickyNotes": []
            }
          ],
          "footer": ""
        },
        "sections": [
          {
            "id": "selectedCustomerJourneySteps",
            "title": "Étapes du parcours client sélectionnées",
            "description": "Quelles étapes du parcours client sont pertinentes pour ce domaine?",
            "gridPosition": {
              "column": 0,
              "row": 0,
              "colSpan": 2,
              "rowSpan": 1
            },
            "fillOrder": 1,
            "highlight": true,
            "journeySteps": true,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "coreEntitiesAndBusinessMeaning",
            "title": "Entités principales et signification métier",
            "description": "Quelles sont les entités principales et leur signification métier?",
            "gridPosition": {
              "column": 0,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 2,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "attributesAndBusinessImportance",
            "title": "Attributs et importance métier",
            "description": "Quels sont les attributs clés de chaque entité et leur importance métier?",
            "gridPosition": {
              "column": 1,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 2
            },
            "fillOrder": 3,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "relationshipsBetweenEntities",
            "title": "Relations entre les entités",
            "description": "Quelles sont les relations entre les entités?",
            "gridPosition": {
              "column": 0,
              "row": 2,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 4,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "businessComplianceAndIntegrityRules",
            "title": "Règles métier, conformité et intégrité",
            "description": "Quelles sont les règles métier, de conformité et d'intégrité liées aux entités?",
            "gridPosition": {
              "column": 0,
              "row": 3,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 5,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "securityAndPrivacyConsiderations",
            "title": "Considérations de sécurité et de confidentialité",
            "description": "Quelles sont les considérations de sécurité et de confidentialité liées aux entités?",
            "gridPosition": {
              "column": 1,
              "row": 3,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 6,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#FFAFAF",
            "defaultNoteIntent": "negative"
          }
        ]
      },
      "eventCanvas": {
        "id": "eventCanvas",
        "title": "Event Canvas",
        "purpose": "Quels événements sont pertinents pour la capacité ou l’interface, et comment sont-ils traités ?",
        "howToUse": "Définir les événements, leurs déclencheurs et la logique de traitement pour la capacité ou l’interface.",
        "layout": {
          "columns": 4,
          "rows": 3
        },
        "metadata": {
          "source": "APIOps Cycles",
          "license": "CC-BY-SA 4.0",
          "authors": [
            "Osaango Ltd"
          ],
          "website": "www.apiopscycles.com"
        },
        "footer": "",
        "canvasCreatorUrl": "https://canvascreator.apiopscycles.com/?canvas=eventCanvas&locale=fr",
        "importExportTemplate": {
          "templateId": "eventCanvas",
          "locale": "fr",
          "metadata": {
            "source": "APIOps Cycles",
            "license": "CC-BY-SA 4.0",
            "authors": [
              "Osaango Ltd"
            ],
            "website": "www.apiopscycles.com",
            "date": "2026-07-24T13:03:14.658Z"
          },
          "sections": [
            {
              "sectionId": "userTaskTrigger",
              "stickyNotes": []
            },
            {
              "sectionId": "inputEventPayload",
              "stickyNotes": []
            },
            {
              "sectionId": "processingLogic",
              "stickyNotes": []
            },
            {
              "sectionId": "outputEventResult",
              "stickyNotes": []
            }
          ],
          "footer": ""
        },
        "sections": [
          {
            "id": "userTaskTrigger",
            "title": "Tâche utilisateur / Déclencheur",
            "description": "Quelle action utilisateur ou événement système déclenche cette opération d'événement?",
            "gridPosition": {
              "column": 0,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 1,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "inputEventPayload",
            "title": "Entrée / Charge utile de l'événement",
            "description": "Quelles données sont incluses dans la charge utile de l'événement entrant? Spécifiez les attributs clés.",
            "gridPosition": {
              "column": 0,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 2
            },
            "fillOrder": 2,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "processingLogic",
            "title": "Traitement / Logique",
            "description": "Décrivez la logique de traitement systèmes backend, y compris les validations, transformations ou décisions de routage.",
            "gridPosition": {
              "column": 1,
              "row": 1,
              "colSpan": 2,
              "rowSpan": 2
            },
            "fillOrder": 3,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "outputEventResult",
            "title": "Sortie / Résultat de l'événement",
            "description": "Quel événement ou accusé de réception est produit? Incluez les attributs de la charge utile de sortie.",
            "gridPosition": {
              "column": 3,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 2
            },
            "fillOrder": 4,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#C0EB6A",
            "defaultNoteIntent": "benefit"
          }
        ]
      },
      "interactionCanvas": {
        "id": "interactionCanvas",
        "title": "Interaction Canvas",
        "purpose": "Quels types d’interactions cette capacité ou interface doit-elle prendre en charge avant de choisir une conception propre au protocole ?",
        "howToUse": "Identifier les styles d’interaction réellement nécessaires et ceux qui sont hors périmètre. Utiliser ce canvas pour clarifier l’intention avant de mapper le résultat vers REST, événements ou GraphQL.",
        "layout": {
          "columns": 4,
          "rows": 3
        },
        "metadata": {
          "source": "APIOps Cycles",
          "license": "CC-BY-SA 4.0",
          "authors": [
            "Osaango Ltd"
          ],
          "website": "www.apiopscycles.com"
        },
        "footer": "",
        "canvasCreatorUrl": "https://canvascreator.apiopscycles.com/?canvas=interactionCanvas&locale=fr",
        "importExportTemplate": {
          "templateId": "interactionCanvas",
          "locale": "fr",
          "metadata": {
            "source": "APIOps Cycles",
            "license": "CC-BY-SA 4.0",
            "authors": [
              "Osaango Ltd"
            ],
            "website": "www.apiopscycles.com",
            "date": "2026-07-24T13:03:14.660Z"
          },
          "sections": [
            {
              "sectionId": "crudInteractions",
              "stickyNotes": []
            },
            {
              "sectionId": "crudInputOutputModels",
              "stickyNotes": []
            },
            {
              "sectionId": "crudProcessingValidation",
              "stickyNotes": []
            },
            {
              "sectionId": "queryDrivenInteractions",
              "stickyNotes": []
            },
            {
              "sectionId": "queryDrivenInputOutputModels",
              "stickyNotes": []
            },
            {
              "sectionId": "queryDrivenProcessingValidation",
              "stickyNotes": []
            },
            {
              "sectionId": "commandDrivenInteractions",
              "stickyNotes": []
            },
            {
              "sectionId": "commandDrivenInputOutputModels",
              "stickyNotes": []
            },
            {
              "sectionId": "commandDrivenProcessingValidation",
              "stickyNotes": []
            },
            {
              "sectionId": "eventDrivenInteractions",
              "stickyNotes": []
            },
            {
              "sectionId": "eventDrivenInputOutputModels",
              "stickyNotes": []
            },
            {
              "sectionId": "eventDrivenProcessingValidation",
              "stickyNotes": []
            }
          ],
          "footer": ""
        },
        "sections": [
          {
            "id": "crudInteractions",
            "title": "Interactions CRUD",
            "description": "Quelles interactions CRUD (Create, Read, Update, Delete) sont-elles nécessaires ici?",
            "gridPosition": {
              "column": 0,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 1,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "crudInputOutputModels",
            "title": "Modèles d'entrée et de sortie CRUD",
            "description": "Quels sont les modèles d'entrée et de sortie pour les interactions CRUD, si ce style est nécessaire ?",
            "gridPosition": {
              "column": 0,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 2,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "crudProcessingValidation",
            "title": "Traitement et validation CRUD",
            "description": "QQuelles sont les règles de traitement et de validation pour les interactions CRUD, si ce style est nécessaire ?",
            "gridPosition": {
              "column": 0,
              "row": 2,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 3,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "queryDrivenInteractions",
            "title": "Interactions pilotées par requêtes",
            "description": "Quelles interactions de lecture ou de requête sont nécessaires pour répondre aux questions des utilisateurs ?",
            "gridPosition": {
              "column": 1,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 4,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "queryDrivenInputOutputModels",
            "title": "Modèles d'entrée et de sortie pilotés par les requêtes",
            "description": "Quels sont les modèles d'entrée et de sortie pour les interactions pilotées par les requêtes ?",
            "gridPosition": {
              "column": 1,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 5,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "queryDrivenProcessingValidation",
            "title": "Traitement et validation pilotés par les requêtes",
            "description": "Quelles sont les règles de traitement et de validation pour les interactions pilotées par les requêtes ?",
            "gridPosition": {
              "column": 1,
              "row": 2,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 6,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "commandDrivenInteractions",
            "title": "Interactions pilotées par commandes",
            "description": "Quelles commandes modifiant l'état sont nécessaires, le cas échéant ?",
            "gridPosition": {
              "column": 2,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 7,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "commandDrivenInputOutputModels",
            "title": "Modèles d'entrée et de sortie pilotés par commande",
            "description": "Quels sont les modèles d'entrée et de sortie pour les interactions pilotées par commande, si ce style est nécessaire ?",
            "gridPosition": {
              "column": 2,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 8,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "commandDrivenProcessingValidation",
            "title": "Traitement et validation pilotés par les commandes",
            "description": "Quelles sont les règles de traitement et de validation pour les interactions pilotées par les commandes, si ce style est nécessaire ?",
            "gridPosition": {
              "column": 2,
              "row": 2,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 9,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "eventDrivenInteractions",
            "title": "Interactions pilotées par les événements",
            "description": "Quels événements doivent être publiés ou consommés, le cas échéant ?",
            "gridPosition": {
              "column": 3,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 10,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "eventDrivenInputOutputModels",
            "title": "Modèles d'entrée et de sortie pilotés par les événements",
            "description": "Modèles d'entrée et de sortie pilotés par les événements",
            "gridPosition": {
              "column": 3,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 11,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "eventDrivenProcessingValidation",
            "title": "Traitement et validation pilotés par les événements",
            "description": "Quelles sont les règles de traitement et de validation pour les interactions pilotées par les événements, si ce style est requis ?",
            "gridPosition": {
              "column": 3,
              "row": 2,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 12,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          }
        ]
      },
      "locationsCanvas": {
        "id": "locationsCanvas",
        "title": "Locations Canvas",
        "purpose": "Quelles frontières géopolitiques, réglementaires, réseau et de confiance affectent cette capacité ou interface ?",
        "howToUse": "Identifier où les utilisateurs, fournisseurs et systèmes dépendants opèrent dans les réseaux internes, réseaux partenaires, Internet public et régions réglementées. Décrire les implications sur la latence, la confiance, la conformité et la connectivité.",
        "layout": {
          "columns": 4,
          "rows": 2
        },
        "metadata": {
          "source": "APIOps Cycles",
          "license": "CC-BY-SA 4.0",
          "authors": [
            "Osaango Ltd"
          ],
          "website": "www.apiopscycles.com"
        },
        "footer": "",
        "canvasCreatorUrl": "https://canvascreator.apiopscycles.com/?canvas=locationsCanvas&locale=fr",
        "importExportTemplate": {
          "templateId": "locationsCanvas",
          "locale": "fr",
          "metadata": {
            "source": "APIOps Cycles",
            "license": "CC-BY-SA 4.0",
            "authors": [
              "Osaango Ltd"
            ],
            "website": "www.apiopscycles.com",
            "date": "2026-07-24T13:03:14.661Z"
          },
          "sections": [
            {
              "sectionId": "locationGroups",
              "stickyNotes": []
            },
            {
              "sectionId": "locationGroupCharacteristics",
              "stickyNotes": []
            },
            {
              "sectionId": "locations",
              "stickyNotes": []
            },
            {
              "sectionId": "locationCharacteristics",
              "stickyNotes": []
            },
            {
              "sectionId": "locationDistances",
              "stickyNotes": []
            },
            {
              "sectionId": "locationDistanceCharacteristics",
              "stickyNotes": []
            },
            {
              "sectionId": "locationEndpoints",
              "stickyNotes": []
            },
            {
              "sectionId": "locationEndpointCharacteristics",
              "stickyNotes": []
            }
          ],
          "footer": ""
        },
        "sections": [
          {
            "id": "locationGroups",
            "title": "Groupes de localisation / de confiance",
            "description": "Quels sont les groupes géopolitiques, réglementaires, de réseau ou de confiance pertinents ?",
            "gridPosition": {
              "column": 0,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 1,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "locationGroupCharacteristics",
            "title": "Caractéristiques des groupes",
            "description": "uelles sont les caractéristiques de ces groupes, telles que la localisation, le niveau de confiance ou l'exposition réseau ?",
            "gridPosition": {
              "column": 0,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 2,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "locations",
            "title": "Emplacements / Zones pertinents",
            "description": "Quels sont les emplacements, zones ou environnements pertinents au sein de chaque groupe ?",
            "gridPosition": {
              "column": 1,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 3,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "locationCharacteristics",
            "title": "Caractéristiques des emplacements / zones",
            "description": "Quelles sont les caractéristiques de ces emplacements ou zones, telles que la propriété, la région ou l'exposition ?",
            "gridPosition": {
              "column": 1,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 4,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "locationDistances",
            "title": "Distances réseau / réglementaires",
            "description": "Quelles sont les distances en termes de latence, de confiance, de réglementation ou de connectivité entre les emplacements ?",
            "gridPosition": {
              "column": 2,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 5,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#FFAFAF",
            "defaultNoteIntent": "negative"
          },
          {
            "id": "locationDistanceCharacteristics",
            "title": "Caractéristiques des distance",
            "description": "Quelles sont les caractéristiques de ces distances, telles que la sensibilité à la latence, les contraintes de résidence ou les limites de confiance ?",
            "gridPosition": {
              "column": 2,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 6,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "locationEndpoints",
            "title": "Points de terminaison de connectivité",
            "description": "Quels sont les points de terminaison ou interfaces de connectivité associés aux emplacements ?",
            "gridPosition": {
              "column": 3,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 7,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "locationEndpointCharacteristics",
            "title": "Caractéristiques d'accès aux points de terminaison",
            "description": "Quelles sont les caractéristiques de ces points de terminaison, telles que l'exposition, le protocole, la sécurité ou les restrictions d'accès ?",
            "gridPosition": {
              "column": 3,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 8,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          }
        ]
      },
      "restCanvas": {
        "id": "restCanvas",
        "title": "REST Canvas",
        "purpose": "Comment concevoir l’API selon les principes RESTful ?",
        "howToUse": "Définissez les ressources de l’API, les verbes et les exemples de requêtes et réponses.",
        "layout": {
          "columns": 4,
          "rows": 3
        },
        "metadata": {
          "source": "APIOps Cycles",
          "license": "CC-BY-SA 4.0",
          "authors": [
            "Osaango Ltd"
          ],
          "website": "www.apiopscycles.com"
        },
        "footer": "",
        "canvasCreatorUrl": "https://canvascreator.apiopscycles.com/?canvas=restCanvas&locale=fr",
        "importExportTemplate": {
          "templateId": "restCanvas",
          "locale": "fr",
          "metadata": {
            "source": "APIOps Cycles",
            "license": "CC-BY-SA 4.0",
            "authors": [
              "Osaango Ltd"
            ],
            "website": "www.apiopscycles.com",
            "date": "2026-07-24T13:03:14.663Z"
          },
          "sections": [
            {
              "sectionId": "apiResources",
              "stickyNotes": []
            },
            {
              "sectionId": "apiResourceModel",
              "stickyNotes": []
            },
            {
              "sectionId": "apiVerbs",
              "stickyNotes": []
            },
            {
              "sectionId": "apiVerbExample",
              "stickyNotes": []
            }
          ],
          "footer": ""
        },
        "sections": [
          {
            "id": "apiResources",
            "title": "Ressources API",
            "description": "Quelles sont les ressources clés exposées par l’API?",
            "gridPosition": {
              "column": 0,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 1,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "apiResourceModel",
            "title": "Modèle de ressource API",
            "description": "Quelle est la structure du modèle de ressources de l’API?",
            "gridPosition": {
              "column": 0,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 2
            },
            "fillOrder": 2,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "apiVerbs",
            "title": "Verbes API",
            "description": "Quels verbes HTTP sont utilisés pour interagir avec les ressources de l’API?",
            "gridPosition": {
              "column": 1,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 3,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "apiVerbExample",
            "title": "Exemple de verbe API",
            "description": "Fournissez un exemple de requête et de réponse API pour chaque verbe.",
            "gridPosition": {
              "column": 1,
              "row": 1,
              "colSpan": 3,
              "rowSpan": 2
            },
            "fillOrder": 4,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          }
        ]
      },
      "graphqlCanvas": {
        "id": "graphqlCanvas",
        "title": "GraphQL Canvas",
        "purpose": "Comment concevoir l’API selon les principes GraphQL ?",
        "howToUse": "Définir les types clés, requêtes, mutations et contraintes pour l’API GraphQL.",
        "layout": {
          "columns": 4,
          "rows": 3
        },
        "metadata": {
          "source": "APIOps Cycles",
          "license": "CC-BY-SA 4.0",
          "authors": [
            "Osaango Ltd"
          ],
          "website": "www.apiopscycles.com"
        },
        "footer": "",
        "canvasCreatorUrl": "https://canvascreator.apiopscycles.com/?canvas=graphqlCanvas&locale=fr",
        "importExportTemplate": {
          "templateId": "graphqlCanvas",
          "locale": "fr",
          "metadata": {
            "source": "APIOps Cycles",
            "license": "CC-BY-SA 4.0",
            "authors": [
              "Osaango Ltd"
            ],
            "website": "www.apiopscycles.com",
            "date": "2026-07-24T13:03:14.665Z"
          },
          "sections": [
            {
              "sectionId": "apiName",
              "stickyNotes": []
            },
            {
              "sectionId": "consumerGoals",
              "stickyNotes": []
            },
            {
              "sectionId": "keyTypes",
              "stickyNotes": []
            },
            {
              "sectionId": "relationships",
              "stickyNotes": []
            },
            {
              "sectionId": "queries",
              "stickyNotes": []
            },
            {
              "sectionId": "mutations",
              "stickyNotes": []
            },
            {
              "sectionId": "subscriptions",
              "stickyNotes": []
            },
            {
              "sectionId": "authorizationRules",
              "stickyNotes": []
            },
            {
              "sectionId": "consumerConstraints",
              "stickyNotes": []
            },
            {
              "sectionId": "openQuestions",
              "stickyNotes": []
            }
          ],
          "footer": ""
        },
        "sections": [
          {
            "id": "apiName",
            "title": "Nom de l’API",
            "description": "Quel est le nom de l’API GraphQL ou du point de terminaison ?",
            "gridPosition": {
              "column": 0,
              "row": 0,
              "colSpan": 2,
              "rowSpan": 1
            },
            "fillOrder": 1,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#FFF399",
            "defaultNoteIntent": "default"
          },
          {
            "id": "consumerGoals",
            "title": "Objectifs des utilisateurs",
            "description": "Quels problèmes les utilisateurs de l’API cherchent-ils à résoudre ? Quelles données leur sont nécessaires ?",
            "gridPosition": {
              "column": 2,
              "row": 0,
              "colSpan": 2,
              "rowSpan": 1
            },
            "fillOrder": 2,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#C0EB6A",
            "defaultNoteIntent": "benefit"
          },
          {
            "id": "keyTypes",
            "title": "Types clés",
            "description": "Quels sont les types principaux exposés (ex. Utilisateur, Commande, Produit) ?",
            "gridPosition": {
              "column": 0,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 3,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "relationships",
            "title": "Relations",
            "description": "Comment les types sont-ils liés dans les requêtes imbriquées ?",
            "gridPosition": {
              "column": 1,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 4,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "queries",
            "title": "Requêtes",
            "description": "Quelles requêtes courantes doivent être prises en charge ?",
            "gridPosition": {
              "column": 2,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 5,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "mutations",
            "title": "Mutations",
            "description": "Quelles opérations vont modifier les données (ex. créer, mettre à jour, supprimer) ?",
            "gridPosition": {
              "column": 3,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 6,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "subscriptions",
            "title": "Abonnements",
            "description": "Existe-t-il des mises à jour en temps réel ou des événements auxquels les utilisateurs peuvent s'abonner ?",
            "gridPosition": {
              "column": 0,
              "row": 2,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 7,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "authorizationRules",
            "title": "Règles d'autorisation",
            "description": "Qui peut accéder à quels champs ou types ?",
            "gridPosition": {
              "column": 1,
              "row": 2,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 8,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#FFAFAF",
            "defaultNoteIntent": "negative"
          },
          {
            "id": "consumerConstraints",
            "title": "Contraintes des utilisateurs",
            "description": "Y a-t-il des contraintes de pagination, de filtrage ou de limitation du débit ?",
            "gridPosition": {
              "column": 2,
              "row": 2,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 9,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#FFAFAF",
            "defaultNoteIntent": "negative"
          },
          {
            "id": "openQuestions",
            "title": "Notes / Questions ouvertes",
            "description": "Y a-t-il des décisions en attente ou des considérations d’intégration ?",
            "gridPosition": {
              "column": 3,
              "row": 2,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 10,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#FFF399",
            "defaultNoteIntent": "default"
          }
        ]
      },
      "capabilityValuePropositionCanvas": {
        "id": "capabilityValuePropositionCanvas",
        "title": "Capability Value Proposition Canvas",
        "purpose": "Quelle capacité réutilisable créerait de la valeur pour les utilisateurs sans décider encore si elle doit être mise à disposition sous forme d’API, d’événement, de fichier, de flux, de produit de données ou d’un autre mode de mise en œuvre ?",
        "howToUse": "Partir des tâches et résultats attendus des utilisateurs. Capturer les fonctionnalités de capacité qui créent des gains et réduisent les irritants, puis décrire les capacités réutilisables candidates sans nommer la technologie trop tôt.",
        "layout": {
          "columns": 4,
          "rows": 3
        },
        "metadata": {
          "source": "APIOps Cycles",
          "license": "CC-BY-SA 4.0",
          "authors": [
            "Osaango Ltd"
          ],
          "website": "www.apiopscycles.com"
        },
        "footer": "",
        "canvasCreatorUrl": "https://canvascreator.apiopscycles.com/?canvas=capabilityValuePropositionCanvas&locale=fr",
        "importExportTemplate": {
          "templateId": "capabilityValuePropositionCanvas",
          "locale": "fr",
          "metadata": {
            "source": "APIOps Cycles",
            "license": "CC-BY-SA 4.0",
            "authors": [
              "Osaango Ltd"
            ],
            "website": "www.apiopscycles.com",
            "date": "2026-07-24T13:03:14.666Z"
          },
          "sections": [
            {
              "sectionId": "consumerTasks",
              "stickyNotes": []
            },
            {
              "sectionId": "gainEnablingCapabilities",
              "stickyNotes": []
            },
            {
              "sectionId": "painRelievingCapabilities",
              "stickyNotes": []
            },
            {
              "sectionId": "reusableCapabilities",
              "stickyNotes": []
            }
          ],
          "footer": ""
        },
        "sections": [
          {
            "id": "consumerTasks",
            "title": "Tâches et résultats des utilisateurs",
            "description": "Que cherchent à accomplir les utilisateurs, partenaires, systèmes ou équipes ?",
            "gridPosition": {
              "column": 0,
              "row": 0,
              "colSpan": 4,
              "rowSpan": 1
            },
            "fillOrder": 1,
            "highlight": true,
            "journeySteps": true,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "gainEnablingCapabilities",
            "title": "Fonctionnalités de capacité génératrices de gains",
            "description": "Quelles fonctionnalités de capacité aideraient les utilisateurs à obtenir de meilleurs résultats, plus de rapidité, d’automatisation, d’insights, de portée ou de conformité ?",
            "gridPosition": {
              "column": 0,
              "row": 1,
              "colSpan": 2,
              "rowSpan": 1
            },
            "fillOrder": 2,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#C0EB6A",
            "defaultNoteIntent": "benefit"
          },
          {
            "id": "painRelievingCapabilities",
            "title": "Fonctionnalités de capacité qui réduisent les irritants",
            "description": "Quelles fonctionnalités de capacité supprimeraient les frictions, le travail manuel, les erreurs, les retards, les risques ou l’incertitude pour les utilisateurs ?",
            "gridPosition": {
              "column": 2,
              "row": 1,
              "colSpan": 2,
              "rowSpan": 1
            },
            "fillOrder": 3,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#C0EB6A",
            "defaultNoteIntent": "benefit"
          },
          {
            "id": "reusableCapabilities",
            "title": "Capacités réutilisables",
            "description": "Quelles capacités métier ou données réutilisables pourraient répondre à ces tâches, gains et irritants pour plusieurs utilisateurs ou cas d’usage ?",
            "gridPosition": {
              "column": 0,
              "row": 2,
              "colSpan": 4,
              "rowSpan": 1
            },
            "fillOrder": 4,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          }
        ]
      },
      "capabilityBusinessModelCanvas": {
        "id": "capabilityBusinessModelCanvas",
        "title": "Capability Business Model Canvas",
        "purpose": "Dans quelle mesure cette capacité d’intégration doit-elle être viable, réutilisable, financée, possédée, accompagnée et découvrable ?",
        "howToUse": "Résumer la proposition de valeur de la capacité, identifier les utilisateurs et canaux d’engagement, puis cartographier propriété, activités, ressources, partenaires, bénéfices et coûts.",
        "layout": {
          "columns": 5,
          "rows": 3
        },
        "metadata": {
          "source": "APIOps Cycles",
          "license": "CC-BY-SA 4.0",
          "authors": [
            "Osaango Ltd"
          ],
          "website": "www.apiopscycles.com"
        },
        "footer": "",
        "canvasCreatorUrl": "https://canvascreator.apiopscycles.com/?canvas=capabilityBusinessModelCanvas&locale=fr",
        "importExportTemplate": {
          "templateId": "capabilityBusinessModelCanvas",
          "locale": "fr",
          "metadata": {
            "source": "APIOps Cycles",
            "license": "CC-BY-SA 4.0",
            "authors": [
              "Osaango Ltd"
            ],
            "website": "www.apiopscycles.com",
            "date": "2026-07-24T13:03:14.667Z"
          },
          "sections": [
            {
              "sectionId": "keyPartners",
              "stickyNotes": []
            },
            {
              "sectionId": "keyActivities",
              "stickyNotes": []
            },
            {
              "sectionId": "keyResources",
              "stickyNotes": []
            },
            {
              "sectionId": "capabilityValueProposition",
              "stickyNotes": []
            },
            {
              "sectionId": "consumerEngagement",
              "stickyNotes": []
            },
            {
              "sectionId": "channels",
              "stickyNotes": []
            },
            {
              "sectionId": "capabilityConsumerSegments",
              "stickyNotes": []
            },
            {
              "sectionId": "costs",
              "stickyNotes": []
            },
            {
              "sectionId": "benefits",
              "stickyNotes": []
            }
          ],
          "footer": ""
        },
        "sections": [
          {
            "id": "capabilityValueProposition",
            "title": "Proposition de valeur de la capacité",
            "description": "Quelle valeur cette capacité réutilisable apporte-t-elle aux utilisateurs et à l’organisation ou à l’écosystème ?",
            "gridPosition": {
              "column": 2,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 2
            },
            "fillOrder": 1,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#C0EB6A",
            "defaultNoteIntent": "benefit"
          },
          {
            "id": "capabilityConsumerSegments",
            "title": "Segments d’utilisateurs de la capacité",
            "description": "Qui sont les utilisateurs actuels et potentiels de la capacité, y compris équipes, partenaires, systèmes, produits ou utilisateurs de données ?",
            "gridPosition": {
              "column": 4,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 2
            },
            "fillOrder": 2,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "consumerEngagement",
            "title": "Engagement des utilisateurs",
            "description": "Comment les utilisateurs découvriront-ils, évalueront-ils, demanderont-ils, onboarderont-ils, obtiendront-ils du support et donneront-ils du feedback sur la capacité ?",
            "gridPosition": {
              "column": 3,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 3,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "channels",
            "title": "Canaux",
            "description": "Par quels catalogues, portails, marketplaces, sites de documentation, parcours de support ou processus de gouvernance les utilisateurs interagiront-ils avec la capacité ?",
            "gridPosition": {
              "column": 3,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 4,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "keyResources",
            "title": "Ressources clés",
            "description": "Quels systèmes, actifs de données, plateformes, personnes, standards, financements et capacités opérationnelles sont nécessaires ?",
            "gridPosition": {
              "column": 1,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 5,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "keyActivities",
            "title": "Activités clés",
            "description": "Que doivent faire le responsable de la capacité et les producteurs pour concevoir, mettre à disposition, gouverner, accompagner et améliorer la capacité ?",
            "gridPosition": {
              "column": 1,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 6,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "keyPartners",
            "title": "Partenaires clés",
            "description": "Quels partenaires métier, technologie, données, sécurité, juridique, plateforme ou externes sont nécessaires pour faire fonctionner la capacité ?",
            "gridPosition": {
              "column": 0,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 2
            },
            "fillOrder": 7,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "benefits",
            "title": "Bénéfices",
            "description": "Quels bénéfices métier, opérationnels, écosystémiques, de réutilisation, de conformité ou de coût justifient la capacité ?",
            "gridPosition": {
              "column": 2.5,
              "row": 2,
              "colSpan": 2.5,
              "rowSpan": 1
            },
            "fillOrder": 8,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#C0EB6A",
            "defaultNoteIntent": "benefit"
          },
          {
            "id": "costs",
            "title": "Coûts",
            "description": "Quels sont les coûts significatifs de construction, d’exploitation, de gouvernance, de support et d’évolution de la capacité ?",
            "gridPosition": {
              "column": 0,
              "row": 2,
              "colSpan": 2.5,
              "rowSpan": 1
            },
            "fillOrder": 9,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#FFAFAF",
            "defaultNoteIntent": "negative"
          }
        ]
      },
      "consumerExperienceRequirementsCanvas": {
        "id": "consumerExperienceRequirementsCanvas",
        "title": "Consumer Experience Requirements Canvas",
        "purpose": "Quelles exigences d’expérience et non fonctionnelles les utilisateurs doivent-ils préciser avant de décider de la meilleure architecture d’intégration ?",
        "howToUse": "Utiliser ce canvas comme tableau d’exigences indépendant de la technologie. Capturer les attentes et contraintes des utilisateurs, puis utiliser les implications d’architecture pour choisir API, événements, fichiers, flux, produits de données ou un autre mode de mise en œuvre.",
        "layout": {
          "columns": 4,
          "rows": 3
        },
        "metadata": {
          "source": "APIOps Cycles",
          "license": "CC-BY-SA 4.0",
          "authors": [
            "Osaango Ltd"
          ],
          "website": "www.apiopscycles.com"
        },
        "footer": "",
        "canvasCreatorUrl": "https://canvascreator.apiopscycles.com/?canvas=consumerExperienceRequirementsCanvas&locale=fr",
        "importExportTemplate": {
          "templateId": "consumerExperienceRequirementsCanvas",
          "locale": "fr",
          "metadata": {
            "source": "APIOps Cycles",
            "license": "CC-BY-SA 4.0",
            "authors": [
              "Osaango Ltd"
            ],
            "website": "www.apiopscycles.com",
            "date": "2026-07-24T13:03:14.669Z"
          },
          "sections": [
            {
              "sectionId": "consumerGoals",
              "stickyNotes": []
            },
            {
              "sectionId": "availabilityAndTimeliness",
              "stickyNotes": []
            },
            {
              "sectionId": "volumeAndPerformance",
              "stickyNotes": []
            },
            {
              "sectionId": "dataQualityAndConsistency",
              "stickyNotes": []
            },
            {
              "sectionId": "securityPrivacyAndCompliance",
              "stickyNotes": []
            },
            {
              "sectionId": "onboardingAndAccess",
              "stickyNotes": []
            },
            {
              "sectionId": "changeAndVersioning",
              "stickyNotes": []
            },
            {
              "sectionId": "observabilityAndSupport",
              "stickyNotes": []
            },
            {
              "sectionId": "recoveryAndContinuity",
              "stickyNotes": []
            },
            {
              "sectionId": "architectureImplications",
              "stickyNotes": []
            }
          ],
          "footer": ""
        },
        "sections": [
          {
            "id": "consumerGoals",
            "title": "Objectifs des utilisateurs",
            "description": "Quels sont les objectifs métier, de workflow, de décision, d’automatisation ou d’usage des données des utilisateurs ?",
            "gridPosition": {
              "column": 0,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 1,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#C0EB6A",
            "defaultNoteIntent": "benefit"
          },
          {
            "id": "availabilityAndTimeliness",
            "title": "Disponibilité et fraîcheur",
            "description": "Quand la capacité doit-elle être disponible, quelle fraîcheur d’information est nécessaire et quelles fenêtres de latence ou de mise à disposition comptent ?",
            "gridPosition": {
              "column": 1,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 2,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "volumeAndPerformance",
            "title": "Volume et performance",
            "description": "Quels volumes de requêtes, événements, enregistrements, fichiers, lots, utilisateurs ou transactions la capacité doit-elle supporter aujourd’hui et demain ?",
            "gridPosition": {
              "column": 2,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 3,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "dataQualityAndConsistency",
            "title": "Qualité et cohérence des données",
            "description": "Quelles attentes les utilisateurs ont-ils en matière d’exactitude, complétude, cohérence, ordre, déduplication, rapprochement ou validation ?",
            "gridPosition": {
              "column": 3,
              "row": 0,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 4,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          },
          {
            "id": "securityPrivacyAndCompliance",
            "title": "Sécurité, protection des données et conformité",
            "description": "Quelles contraintes d’identité, d’autorisation, de confidentialité, de résidence, de consentement, de conservation, d’audit ou de réglementation s’appliquent ?",
            "gridPosition": {
              "column": 0,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 5,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#FFAFAF",
            "defaultNoteIntent": "negative"
          },
          {
            "id": "onboardingAndAccess",
            "title": "Onboarding et accès",
            "description": "Comment les utilisateurs doivent-ils trouver, demander, tester, obtenir l’approbation et commencer à utiliser la capacité ?",
            "gridPosition": {
              "column": 1,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 6,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "changeAndVersioning",
            "title": "Changement et versionnement",
            "description": "Quelle tolérance au changement les utilisateurs ont-ils, et quelles attentes de préavis, compatibilité, migration ou versionnement s’appliquent ?",
            "gridPosition": {
              "column": 2,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 7,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#FFAFAF",
            "defaultNoteIntent": "negative"
          },
          {
            "id": "observabilityAndSupport",
            "title": "Observabilité et support",
            "description": "De quelle surveillance, information de statut, traçabilité, visibilité sur la qualité des données, support, propriété et communication d’incident les utilisateurs ont-ils besoin ?",
            "gridPosition": {
              "column": 3,
              "row": 1,
              "colSpan": 1,
              "rowSpan": 1
            },
            "fillOrder": 8,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "recoveryAndContinuity",
            "title": "Reprise et continuité",
            "description": "Quelles attentes de replay, retry, rapprochement, sauvegarde, fallback, continuité ou reprise manuelle doivent être prises en charge ?",
            "gridPosition": {
              "column": 0,
              "row": 2,
              "colSpan": 2,
              "rowSpan": 1
            },
            "fillOrder": 9,
            "highlight": false,
            "journeySteps": false,
            "defaultNoteColor": "#7DC9E7",
            "defaultNoteIntent": "task"
          },
          {
            "id": "architectureImplications",
            "title": "Implications d’architecture",
            "description": "Que signifient ces exigences pour les styles d’architecture possibles, tels que API, événements, fichiers, flux, produits de données ou intégration directe ?",
            "gridPosition": {
              "column": 2,
              "row": 2,
              "colSpan": 2,
              "rowSpan": 1
            },
            "fillOrder": 10,
            "highlight": true,
            "journeySteps": false,
            "defaultNoteColor": "#DFDDC5",
            "defaultNoteIntent": "neutral"
          }
        ]
      }
    }
  }
}
