Article Comment nous modernisons l’affichage des données sur Québec.ca
- Auteur
- Patrick Gaumond
- Organisme
- Ministère du Conseil exécutif
Le nom OData Mini fait référence au nom plus connu OData (Open Data Protocol), un protocole qui permet aux logiciels de s'échanger des données sur Internet comme s'ils consultaient un grand tableau Excel à distance.
Notre solution est en lecture seule (sécuritaire), standardisée (cohérent), rapide (la base de données fait le gros du travail), et résiliente (mises à jour sans coupure). À terme, tous les nouveaux systèmes de recherche et filtres sur Québec.ca adopteront la solution OData Mini.
Changer notre façon de publier des données
Pendant longtemps, dans les organisations publiques, publier des données en ligne se traduisait souvent par : « Voici un fichier Excel à télécharger ». Pratique pour les experts, mais moins pour la majorité des citoyens. Ça oblige à télécharger des fichiers lourds, à comprendre des colonnes et des formats et ça ne fonctionne pas toujours bien (euphémisme…) sur un téléphone.
Nous avons au cours des années développées plusieurs solutions mixtes qui nécessitent plusieurs technologies différentes, chaque fois avec leurs défis et leurs particularités.
Avec OData Mini, nous passons à une normalisation des données, une plus grande stabilité et à une performance identique sur ordinateur ou téléphone. Nous conservons également une logique centrée sur les tâches réelles des citoyens : voir rapidement ce qui les concerne, filtrer, trier, rechercher sans jargon, et ce, directement dans la page, sans devoir manipuler un fichier.
Les trois piliers de la solution : Sanicopie, Ingestion et Service Web
Sanicopie, toujours avoir les dernières données, mais avec des garde-fous
Sanicopie est un processus qui, sans cesse, surveille les sources de données. Si la structure attendue est respectée et qu’un minimum de données est présent, il copie vers nos serveurs.
S’il détecte un problème (fichier vide ou absent, colonne disparue, format changé sans avis), il bloque la mise à jour. Résultat, on protège Québec.ca et on garde la dernière version stable en ligne pour l’utilisateur.
Ingestion, standardiser et remplacer sans interruption
L’ingestion lit ces données vérifiées, applique les règles de standardisation (formats de date, retrait des symboles monétaires, normalisation), puis prépare une nouvelle version complète.
Le remplacement ne se fait qu’une fois toutes les données chargées sans erreur. Cela évite les pages en erreur ou incomplètes.
Service Web, OData au cœur de nos interfaces
Notre Service Web utilise le protocole OData. Il reçoit des requêtes structurées, interroge la base de données et renvoie des réponses légères et cohérentes. C’est ce qui permet à l’interface citoyenne d’être fluide et rapide, même sur mobile.
Les avantages de OData Mini
Par le passé, nos solutions pouvaient être toutes différentes, utiliser des technologies hybrides et parfois même des techniques où l’ensemble des données sont chargées entièrement sur le poste ou le téléphone des internautes. Bien que potentiellement rapides, nos solutions vivaient avec le risque qu‘un problème survienne à mesure que la quantité de données augmente. En effet, télécharger 100 lignes ou 50 000 lignes ne requiert pas la même quantité de données à transférer. Un grand nombre d'enregistrements suppose un transfert important de données, particulièrement gênant sur un téléphone. Odata vient améliorer la situation en limitant les transferts de données au minimum.
Une base de données rapide qui fait le gros du travail
Au lieu de télécharger toutes les données dans votre navigateur, ce qui devient un enjeu pour les systèmes de dizaines de milliers d’enregistrements, nous laissons le serveur faire les recherches et n’envoyons que le résultat, du texte compact et structuré. Cela fait en sorte qu’interroger des dizaines de milliers d’enregistrements est pratiquement instantané, y compris sur un téléphone avec une connexion moyenne.
De la recherche et des « facettes » pour trouver rapidement ce qui vous intéresse
Nous parlons souvent de facettes, c'est le mot plus technique pour des filtres.
Imaginez un entonnoir d’où vous partez avec 1 000 résultats. Un filtre « Région » divise la liste par 17. Ajoutez « Ville » et vous arrivez à une poignée de résultats vraiment pertinents.
La recherche est aussi tolérante et assistée. Tapez « troi » et l’interface propose « Trois‑Rives », « Trois‑Rivières », « Trois‑Pistoles » , même si les lettres tapées sont au milieu d’un mot. Nous travaillons pour réduire l’effort et accélérer la découverte.
Une fiabilité : 24/7, sans page d’erreur
Pour le site Québec.ca, nous visons une disponibilité maximale de nos services, et cela s’applique également à OData Mini. Les mises à jour s’effectuent sans aucune coupure et, si jamais la structure de la source était modifiée par erreur, Sanicopie refusera automatiquement d’effectuer la mise à jour. De plus, si une source est supprimée par inadvertance, les citoyens continueront d’accéder à la dernière version pleinement fonctionnelle.
En d'autres mots: mieux vaut une donnée valide d’hier qu’une page en erreur!
Utiliser la géolocalisation quand c’est pertinent
Si la source contient des coordonnées géographiques, OData Mini peut effectuer des calculs géospatiaux. À partir de votre code postal ou de la localisation de votre appareil (si vous l’autorisez), l’interface peut vous suggérer les services les plus proches. Nous n’activons cette fonction que si elle sert un besoin citoyen et si les données s’y prêtent.
Pourquoi notre solution est un « mini » OData
OData est un standard reconnu pour organiser et échanger des données de façon uniforme. Ce standard nous donne un langage commun pour poser des questions aux données, un peu comme on le ferait dans un moteur de recherche, mais de manière structurée.
Concrètement, c’est ce qui permet à nos interfaces sur Québec.ca de lire des données, les filtrer et les classer de manière cohérente, peu importe d’où elles viennent (un serveur, un Excel de Données Québec, une autre source fiable).
Nous avons décidé d’ajouter le mot « Mini » à notre solution parce que nous nous servons que d'une partie du protocol OData: les requêtes vers les données. Il est impossible sur notre serveur OData d'écrire ou modifier les données. Ce choix volontaire simplifie l’architecture et la maintenance du code, et réduit les risques en évitant toute modification accidentelle ou malveillante à la source.
La petite histoire de OData Mini
La genèse du projet remonte à une situation d’urgence où il fallait publier rapidement une source OData provenant d’un ministère ayant déjà mis en place son propre serveur. Cette expérience a été l’étincelle qui nous a poussés à nous intéresser de près à ce protocole bien établi. Plutôt que de réinventer la roue, nous avons conçu une version légère, exclusivement en lecture, à laquelle nous avons ajouté les capacités qui nous manquaient : des calculs simplifiés pour gérer les facettes, des calculs de distances et une normalisation accrue des données. Autant d’options qui ne font pas partie du protocole OData lui‑même.
Le résultat ? Le meilleur des deux mondes : un protocole mature et normalisé (ISO), adapté aux besoins concrets de Québec.ca et des citoyens.
OData Mini, une solution positive pour tous
Pour les citoyens, les interfaces restent familières et cohérentes d’un service à l’autre. Les temps de chargement restent prévisibles et similaires pour tous les futurs systèmes, qu’ils aient 100 enregistrements ou 100 000. Les actions de filtrer, trier et chercher deviennent communes entre les différents systèmes, y compris sur mobile où tout demeure fluide et accessible par défaut.
Pour notre équipe, le projet devient un socle commun nous permettant de traiter de façon uniforme des données provenant d’un fichier CSV, d’un fichier Excel hébergé surle site de Données Québec ou même d’un autre serveur Odata existant. Résultat : moins d’erreurs humaines qui menacent la disponibilité et des délais raccourcis. On livre plus vite, avec moins de surprises et d'ajustements spécifiques à chaque source de données.
Une approche amenée à grandir
OData Mini sert de fondation. À terme, tous les nouveaux systèmes de ce type sur Québec.ca adopteront cette approche. Plus nous avancerons, plus vous retrouverez les mêmes repères d’un service à l’autre : une recherche rapide, des filtres clairs, des résultats pertinents et une disponibilité constante. Pour le moment, la solution est utilisée dans l'outil de recherche des Sinistres admissibles à de l'aide financière et plusieurs projets à venir bientôt sont développés avec OData également.
Avec OData Mini, nous passons d’une logique de fichiers à une expérience Web pensée pour le citoyen : rapide, claire, fiable. C’est une brique d’infrastructure qui ne se voit pas toujours, mais qui change votre expérience, chaque fois que vous cherchez une information précise sur Québec.ca.