Migration des composants

Utilisez cette page pour migrer un composant vers le modèle de documentation partagé. La matrice d’audit est générée à partir du front matter des composants et du Markdown source; elle reste donc à jour à mesure que les migrations sont réalisées.

Matrice d’audit#

ComposantCatégorieStatutSource consignéeManifeste
AnnonceContenuImplémentéConsignéeInclus
Articles associésNavigationImplémentéConsignéeInclus
AvatarContenuImplémentéConsignéeInclus
BadgeContenuImplémentéConsignéeInclus
Barre latérale de documentationNavigationImplémentéConsignéeInclus
Bloc de codeContenuImplémentéConsignéeInclus
BoutonActionImplémentéConsignéeInclus
CartesContenuImplémentéConsignéeInclus
ChangelogDonnéesImplémentéConsignéeInclus
Copier en MarkdownActionImplémentéConsignéeInclus
En-tête de pageMise en pageImplémentéConsignéeInclus
État du siteContenuImplémentéConsignéeInclus
Fil d’ArianeNavigationImplémentéConsignéeInclus
Groupes de boutonsActionImplémentéConsignéeInclus
Index d’ancrageNavigationImplémentéConsignéeInclus
InfobulleContenuImplémentéConsignéeInclus
Lien compagnonNavigationImplémentéConsignéeInclus
Lien d’évitementNavigationImplémentéConsignéeInclus
Liste de descriptionsDonnéesImplémentéConsignéeInclus
Liste déroulanteActionImplémentéConsignéeInclus
NavigationNavigationImplémentéConsignéeInclus
Navigation de collectionNavigationImplémentéConsignéeInclus
PaginationNavigationImplémentéConsignéeInclus
Pied de pageMise en pageImplémentéConsignéeInclus
Rangée de filtresDonnéesImplémentéConsignéeInclus
Rangée de métadonnéesDonnéesImplémentéConsignéeInclus
RechercheActionImplémentéConsignéeInclus
Retour en hautNavigationImplémentéConsignéeInclus
Sélecteur de langueNavigationImplémentéConsignéeInclus
Sélecteur de thèmeActionImplémentéConsignéeInclus
Table de donnéesDonnéesImplémentéConsignéeInclus
Vidéo intégréeContenuImplémentéConsignéeInclus

Source consignée indique si la page a une carte de preuves interface_implementation vérifiée. En attente d’implémentation est l’état attendu d’un composant spécifié : il n’a ni preuve source ni manifeste avant d’être construit. Manifeste indique si la page appelle {{< interface-manifest >}}. Aucune colonne ne déduit des détails d’implémentation; une personne responsable de la maintenance doit les vérifier dans le code source avant de les consigner.

Recette de migration#

  1. Définissez le profil principal dans les deux fichiers de langue : interface_kind: "component", interface_category et interface_status. Utilisez les valeurs définies dans data/interfaces.yml.
  2. Auditez l’implémentation. Consignez seulement les preuves vérifiées dans interface_implementation, par mécanisme. Chaque valeur est le fichier source pertinent ou une clé i18n statique. Par exemple, partial énumère le chemin d’un partial, css celui d’une feuille de style et i18n les clés utilisées directement par le composant. N’ajoutez pas de champ interface_source aux nouveaux enregistrements ni à ceux mis à jour.
  3. Ajoutez interface_consumers seulement pour les pages ou gabarits connus qui utilisent le composant. Utilisez layout pour un gabarit source; pour une page, déclarez le site cible et utilisez une clé i18n label_key lorsqu’elle se trouve sur un autre site.
  4. Ajoutez related_interfaces seulement lorsqu’un autre composant ou shortcode a une relation directe utile.
  5. Placez {{< interface-manifest >}} après le matériel d’implémentation et avant ## Accessibilité. Il rend un ### Manifeste d’interface avec le composant partagé Liste de descriptions.
  6. Vérifiez les pages anglaise et française rendues, puis mettez à jour lastmod dans les deux fichiers.

Ordre de migration#

Migrez les composants implémentés par catégorie. Commencez par la navigation puisque l’index d’ancrage établit le patron et que ses consommateurs sont déjà connus. Continuez avec les composants de données, puis d’action, de contenu et de mise en page. Laissez les composants spécifiés sans sources d’implémentation ni manifeste tant que l’implémentation n’existe pas.

Chaque composant implémenté doit utiliser la forme de carte de preuves dans les deux fichiers de langue; npm run lint:interfaces impose ce contrat et la parité bilingue. Laissez un composant spécifié sans preuves d’implémentation ni manifeste jusqu’à sa construction. L’index groupé des composants lit le champ canonique interface_category.