🧠 En avril, soulignons le mois de la neurodiversité️ 🎆

Vacances: Je serai fermé du 16 avril à 13h00 jusqu'au 29 avril à 9h00.

Potion Bottle Icon Manuel d'alchimie du code Potion Bottle Icon

L'interopérabilité et les formats ouverts

1 652 mots - Temps de lecture estimé: 9 minutes

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

interoperabilite-google-infobox.png

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

002-interoperabilite-wikipedia-infobox.png

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 !

![002-interoperabilite-wikipedia-infobox-template.png](images/002-interoperabilite-wikipedia-infobox-template.png

L'élément central qui permet l'interopérabilité entre diverses sources d'informations, c'est l'entité qui est identifiée par différentes notices d'autorité.

On les retrouve généralement dans le bas de la page. L'entité est référencée dans Wikidata, qui est une base de données qui sert à alimenter Wikipedia. L'entité qui représente Montréal se nomme Q340, et on peut la consulter en cliquant sur le crayon à côté des différentes sections des références.

002-interoperabilite-wikipedia-autorit.png

Le lien de la page Wikidata de Montréal: https://www.wikidata.org/wiki/Q340

Ce modèle de données est conçu pour passer à travers l'épreuve du temps et il peut être très utile pour créer des outils informatiques qui sont compatibles entre eux.

🌘 Mais ... je ne suis pas Wikipédia ni Google !

En effet ! C'est pourquoi je ne vais pas t'enseigner à créer un modèle de données sémantique pour ton entreprise ! Mais, tu peux retenir tout de même plusieurs concepts importants:

Et justement, parlant de formats de données simples, ça nous mène à la prochaine section: les formats de données ouverts

🌘 Les formats de données ouverts

Les formats de données ouverts sont des formats dont les caractéristiques pour les créer sont publiques et ne sont pas contrôlées par une seule entreprise ou un brevet. Ça veut dire qu'il est toujours possible de créer un nouveau logiciel pour lire les données si celui qui les a créées n'existe plus.

Il y a plusieurs façons de définir ce qu'est un format ouvert, mais je vais prendre la définition utilisée pour les données ouvertes, proposée par Tim Berners-Lee, le créateur du web.

5-stardeploymentschemeforopendata.png

Selon cette définition, les données ont 5 niveaux d'ouverture. Je vais te les résumer simplement !

  1. Les données sont dans un format en lecture seule, qui ne peut pas être facilement édité, mais dont les normes pour le créer et le lire sont publiées. Bref, ici, les données existent, mais elles ne sont pas utilisables par un ordinateur, en dehors de pouvoir les afficher à l'écran pour qu'on puisse les lire.

  2. Les données sont dans un format propriétaire, avec une norme mal définie ou avec peu de structure, mais éditable et lisible automatiquement par un logiciel avec des efforts parfois considérable. Les fichiers Excel, et les autres fichiers de la suite Office font partie de cette catégorie.

  3. Les fichiers dans un format ouverts. Les données structurées sont dans un format texte que l'on peut lire avec un éditeur de texte tel que le Bloc Notes de Windows, ou un éditeur de texte tel que VSCodium, la version libre de l'éditeur de code gratuit de Microsoft. C'est le niveau d'ouverture que l'on va favoriser. Les données multimédias sont dans des formats de fichiers ouverts, que je vais te présenter juste après dans la prochaine section.

  4. Les données en format sémantique, ou Resource Description Format. C'est le format qui est utilisé pour créer des métadonnées sémantiques avec les schémas normalisés de Schema.org

  5. Les données liées: ce sont des données en format sémantique inter-reliées. Tu en as vu un exemple juste en haut, lorsque je t'ai présenté Wikidata et les notices d'autorité.

🌘 Maintenant, on fait quoi avec ça ?

Ce que je veux que tu retiennes, ici, c'est d'essayer, le plus possible, d'utiliser des formats texte tels que Markdowm, CSV, JSON ou XML pour entreposer tes données. Ces formats ont une garantie plus grande d'être lisibles dans le futur, et ont aussi l'avantage d'être utilisables par la plupart des logiciels et des applications web. Dans le modèle des données ouvertes, on se trouve au niveau 3.

Pour entreposer des images, les formats ouverts les plus courants, qui entreposent les données sans perte, sont les formats PNG et TIFF pour les données en pixel (photos, images sur les réseaux sociaux) 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.

Abonne-toi au flux RSS pour ne rien manquer.

Étiquettes