Dans cette leçon, je vais te présenter le concept de l'interopérabilité et les formats ouverts. Ici, on ne parle pas de configuration à faire dans nos logiciels, mais plutôt de choix de sauvegarde de nos fichiers, et de choix de logiciels.
C'est un élément super important à considérer pour s'assurer de l'intégrité et de l'accessibilité de nos données. Tu te rappelles, le I et le A de C.I.A. !
🌘 C'est quoi, l'interopérabilité ?
L'interopérabilité, c'est la capacité qu'a un logiciel de pouvoir fonctionner avec les données produites par un autre logiciel. Elle peut se faire par un format de données commun, par des métadonnées ou par une interface de programmation (les API tels qu'utilisées par des services d'intégrations comme Zapier)
Justement, Zapier est un outil qui existe parce qu'il n'y a pas d'interopérabilité par défaut sur le web. Très peu de services web utilisent des schémas de données normalisés (appelés parfois ontologies) et il faut donc créer des ponts entre les logiciels.
Heureusement, la plupart des services peuvent produire ou recevoir le format de données JSON ou XML au travers de leur service web. C'est un premier élément d'interopérabilité, être capable de lire le format de données.
Exemple de JSON:
{
"employees": [
{
"name": "Shyam",
"email": "shyamjaiswal@gmail.com"
},
{
"name": "Bob",
"email": "bob32@gmail.com"
},
{
"name": "Jai",
"email": "jai87@gmail.com"
}
]
}
Exemple de XML:
<employees>
<employee>
<name>Shyam</name>
<email>shyamjaiswal@gmail.com</email>
</employee>
<employee>
<name>Bob</name>
<email>bob32@gmail.com</email>
</employee>
<employee>
<name>Jai</name>
<email>jai87@gmail.com</email>
</employee>
</employees>
L'autre élément important, c'est d'avoir les mêmes champs, avec les mêmes noms et la même signification. Par exemple, si un formulaire a un champ Nom, et un second a des champs Prénom et Nom, il peut y avoir confusion.
Est-ce que le premier contient François Pelletier, ou seulement François, ou encore Pelletier ?
Comment se fait la correspondance avec le deuxième fichier ? Ce n'est pas évident, et c'est une source d'erreurs fréquente si on ne définit pas des métadonnées, ou une description uniforme des champs. Ça m'est même arrivé récemment, où de l'argent qui m'était destiné allait être envoyé à une autre personne avec le même nom que moi !
Tu ne veux surtout pas que ça arrive à ta clientèle ! C'est pourquoi il faut mettre en place une gouvernance de données, pour s'assurer que les bons champs contiennent les bonnes informations !
Si tu mets en place des intégrations avec des outils tels que Zapier, c'est une chose à faire particulièrement attention, parce que les interfaces de programmation utilisent souvent des termes différents !
Pour avoir une bonne idée comment créer des champs de données avec des noms standardisés (et sauver beaucoup de temps), n'hésite pas à consulter le site Schema.org.
C'est un site qui regroupe de nombreux schémas de données pour décrire presque n'importe quoi. Par exemple, ta clientèle est composée de plusieurs personnes, et il y a un schéma Person !
Si tu fais du SEO, ça devrait t'intéresser aussi, parce que le SEO aime vraiment les données bien structurées !
Je t'en parle justement sur la prochaine page !
🌘 Schémas et données sémantiques
Les schémas sont notamment utilisés par Google pour créer du contenu de recherche riche, par Wikipédia pour normaliser les boîtes de données (InfoBox) à droite des pages, et par le web sémantique, aussi connu sous le nom de Web 3.0 (à ne pas confondre avec le web3 qui désigne le domaine des applications basées sur les systèmes de chaînes de blocs)
Voici un exemple de recherche riche sur Google. À droite, on remarque une information normalisée basée sur l'entité normalisée Montréal: https://www.google.com/search?q=montreal
Sur Wikipedia, les données sur Montréal sont normalisées sous la forme d'une InfoBox: https://fr.wikipedia.org/wiki/Montr%C3%A9al
Cette Infobox est construite sur le modèle Municipalité du Canada: https://fr.wikipedia.org/wiki/Mod%C3%A8le:Infobox_Municipalit%C3%A9_du_Canada
Je t'invite à aller voir la documentation de chacun des champs, c'est un bel exemple de gouvernance de données !
 et SVG pour les données vectorielles (dessins pouvant être mis à l'échelle, comme ton logo, par exemple). Pour l'audio, les formats FLAC, OGG et MP3 sont ouverts, et pour la vidéo, les formats WebM et Matroska le sont aussi.
Pour une liste à jour de formats de fichiers recommandés, je vais te référer au Référentiel Général d’Interopérabilité développé par le gouvernement Français: https://www.numerique.gouv.fr/publications/interoperabilite/
Va à la fin du document (7.1 de la V2) pour avoir des tableaux sommaires avec les formats standards reconnus.