Date de publication :

25/01/2022

Modifié le :

02/05/2023

Comprendre le numérique : initiation aux bases de données

Reseau des agents de développement numérique - Wiki

Série Comprendre le numérique

Résumé de l’atelier-conférence de Christian Roy ?
A10S
unchristianroy.com

Nombreux sont les organismes qui gèrent et partagent une quantité d’informations substantielle pour assurer le fonctionnement quotidien de leurs services et en bout de piste assurer l’atteinte de leur mission. Ces informations sont habituellement organisées dans une base de données (ou, ne le souhaitons pas, dans des fichiers Excel). Mais, une base de données qu’est-ce au juste?

Le Réseau des Agents de développement numérique a invité Christian Roy, cofondateur de A10S.ca pour tenir un atelier-conférence. Le but de cet exercice était de permettre aux non-spécialistes en technologies de l’information de comprendre les concepts clés pour être éventuellement capables de travailler avec des experts.es à la mise en place ou la refonte d’une base de données.

Initiation aux bases de donnée - Graphique des divers concepts associés
A10S

Qu’est-ce qu’une base de données?

En fait, dans le langage courant, une « base de données » est une polysémie référant à plusieurs choses qui s’avèrent assez différentes :

Vocabulaire commun

Composantes des données et hiérarchie des données.

Une base de données contient des fichiers. Ce sont ces derniers qui contiennent les données proprement dites. Ceci dit, il est maintenant plus commun d’utiliser le terme table ou jeu de données pour désigner ce qui se retrouve dans une base de données.

Ensuite, on dira qu’une table contient des enregistrements; par exemple : spectacle.

Les enregistrements contiennent à leur tour des éléments que l’on nomme des champs. Toujours avec l’exemple de l’enregistrement spectacle, nous pourrions trouver des champs comme la date, la salle ou l’heure.

En introduction, il était évoqué qu’un système de gestion de base de données (SGBD) diffère de la base de données elle-même. En fait, ce type de système est une application permettant d’exploiter une base de données et de faire le pont avec son écosystème.

Exemples; est-ce un SGBD ou non?

  • Un ROLODEXnon;

  • Le logiciel Microsoft Excel… oui (mais n’est pas un système adapté pour cela);

  • Une base de données relationnelle MySQL… oui;

  • Base de données dite «; NoSQL; »…oui;

L’illustration suivante présente, par colonne, les divers éléments de l’écosystème. Chaque colonne nécessite une forme ou une autre d’interface pour communiquer avec les autres. Cette interface peut être graphique (Un CRM, un CMS, etc.) ou de programmation (API)

Initiation aux bases de donnée - Composantes et interfaces

A10S

Le système de gestion de bases de données communique avec les données et diverses applications (WordPress, Mailchimp, etc.) par des interfaces de programmation (APIs). Ces dernières communiquent ensuite avec les humains via une interface graphique.

Modèle de données

Les modèles d’une de base de données illustrent et décrivent la structure logique, les relations et les contraintes qui déterminent comment les données peuvent être stockées et accessibles dans une base. 

  • Modèle physique : organisation et structure réelle des données binaires. (Vous ne devriez pas à vous soucier de ce modèle?‍♀️);

  • Modèle logique : représentation pour décrire la structure des données sans faire référence à un langage de programmation. Ce modèle est normalement plus proche de la perception que nous avons dans le monde réel; 

Les modèles de données représentent l’un des principaux nœuds dans l’interopérabilité des données; par exemple : d’une organisation à une autre, comment s’assurer que tout est harmonisé?

Ci-dessous, un exemple de modèles logiques incompatibles. Pour un « œil humain; », les informations dans les champs sont sensiblement les mêmes. Or, pour un programme informatique, il n’en est rien.

Initiation aux bases de donnée - Les identifiants

Petit jeu : trouver les six différences.

A10S

Référentiel commun de description de données

En informatique, un référentiel est « un ensemble de bases de données contenant les  » références  » d’un système d’information. Un référentiel clair, logique et précis est un des gages de bonne interopérabilité d’un système d’information. » — Wikipédia

Divers outils permettent aux acteurs d’un milieu de « s’entendre; » sur des communs. Ceci dit, ce n’est pas une mince tâche et les organismes qui souhaitent collaborer n’auront pas le choix que de s’asseoir avec un.e expert.e pour élaborer une façon de procéder.

Voici des exemples de référentiels :

Les identifiants

Les identifiants permettent d’identifier un objet sans équivoque. D’autre part, ils permettent de lier des tables entre elles avec la certitude que l’objet XYZ de telle table A est bien lié à l’objet correspondant de la table B. Ils sont particulièrement important lorsque les données sont partagées.

Dans l’exemple suivant, un identifiant comme l’ISNI, le numéro d’entrée Wikidata et dans certain cas l’identifiant d’un réseau social peuvent servir à s’assurer que l’enregistrement au sujet du journaliste Michel David ne soit pas confondu avec celle sur l’auteur Michel David.

Initiation aux bases de donnée - Les identifiants

A10S

Les bases de données comme outils de collaboration

( ou pourquoi l’on voudrait une base de données?)

Au sein d’une organisation, une base de données peut s’avérer pertinente pour :

  • Le partage d’information;

  • Réduire la double saisie et la duplication des données;

  • Constituer un historique et archiver;

  • Automatiser des tâches, des notifications;

Par exemple, gestion de clients ou de membrariat, gestion d’horaire, vente de droits, mise en place d’un répertoire (membres, collection, ou autre), gestion des ressources humaines, etc.

 Initiation aux bases de donnée - Outils de collaboration dans une organisation

A10S

Dans un scénario de collaboration entre plusieurs organisations, une base de données peut s’avérer pertinente pour :

  • Les mêmes raisons qu’au sein d’une seule organisation;

  • Amélioration des services partagés;

  • Participer au phénomène de découvrabilité;

  • Les méta-analyses;

Par exemple : Dia-log/Artsdata.ca, Scène Pro, intégration entre TicketMaster et Spotify (Étude de cas en anglais)

 Initiation aux bases de donnée - Outils de collaboration entre organisations

A10S

 

Enjeux concrets et mise en oeuvre

Christian Roy soulève quelques-uns des défis et des étapes à entrevoir pour amorcer le travail d’implémentation ou de révision d’une base de données.

Identifier les besoins, les types d’utilisateurs, les flux de travail

  • Construire des récits utilisateurs : En tant que _____, je veux _____, afin de ______;
  • Élaborer des personas;
  • Ne pas hésiter à travailler avec des experts.es du métier;

Obtenir des références, voir ce qui se fait « ailleurs » :

  • En partant de vos besoins, identifier des solutions répondant à des enjeux similaires à celui de votre organisation;

Anticiper les enjeux légaux, éthiques, de sécurité

  • Quelle sera la nature des données (personnelles, confidentielles ou névralgiques);
  • Propriété des données, licence, etc.;

Gestion du changement et culture des données

  • Préparer le terrain avec votre équipe, communiquer sur les besoins tout en s’assurant d’avoir l’appui de la direction;
  • Prévoir un plan de gestion du changement qui inclut de la formation et de l’accompagnement;
  • Avoir un.e « champion.nne»  de la base de données dans votre équipe pour entretenir l’intérêt collectif et favoriser la pérennité de l’entreprise;

Disponibilité des ressources (internes et externes)

  • Le milieu des technologies de l’information subit aussi les contrecoups de la pénurie de main d’œuvre et du roulement de personnel;
  • Les solutions SaaS (Zoho, etc.) ou No code/low code (AirTable) réduisent la dépendance à des ressources externes, mais entretiennent tout de même celles avec les fournisseurs de ces dites solutions;
  • Attention, il n’y a rien de magique, un accompagnement reste nécessaire pour bien faire les choses;

Migration des données

  • Cette étape est toujours plus longue et compliquée que prévu;
  • Les données ne sont jamais aussi propres qu’on le croit;
  • Les humains sont de bien mauvais juges de la qualité de leurs données;

Déterminer comment doivent être synchronisées les données

  • Une seule fois ou en continu;
  • Manuellement ou avec l’aide d’un script (programme informatique, Zapier, etc.);
  • Est-ce que les échanges seront unidirectionnels ou bidirectionnels;
  • Est qu’un API ou un EDI sera utilisé? (electronic document interchange);

Ne pas viser la perfection. Viser plutôt de faire une chose bien. Puis une autre. Puis …

  • Favoriser le développement incrémental (itératif);
  • Gérer les attentes;
  • Il est toujours possible de faire les choses manuellement avant de les automatiser;

Ça vous donne du grain à moudre? N’hésitez pas à contacter l’équipe de CBSL pour obtenir de l’accompagnement à ce sujet.


Retour à la série Comprendre le numérique