<- Page précédente : Introduction | Table des matières | Page suivante : Logiciels libres - Utilisation -> |
Normes ouvertes
- Interopérabilité
- Avantages
- Risques et inconvénients
- Pratiques exemplaires pour l’adoption de normes ouvertes
- Normes ouvertes privilégiées
- Normes relatives au numérique du gouvernement du Canada
Les normes ouvertes sont un ensemble de règles conçues pour faire un travail spécifique dans le domaine de la technologie. Les normes ouvertes désignent les formats de fichiers, les protocoles et les interfaces d’applications qui peuvent être mis en œuvre par n’importe qui (dans le cadre de logiciels libres et de logiciels exclusifs) puisque les spécifications sont disponibles gratuitement, et leur élaboration et leur normalisation sont ouvertes et transparentes. Ce travail de normalisation est effectué par des organisations spécialisées qui sont habituellement soit des organisations gouvernementales ou des organisations créées par des professionnels d’un secteur industriel donné. Le Groupe de travail IETF, l’Organisation internationale de normalisation (ISO) et l’Organisation pour l’avancement des normes sur l’information structurée (OASIS) en sont des exemples.
La définition exacte des normes ouvertes peut varier d’une administration à l’autre, mais il y a un haut niveau de convergence dans le Référentiel général d’interopérabilité de la France (RGI), le Cadre commun d’interopérabilité du gouvernement du Québec (CCIGQ), le Cadre d’interopérabilité européen (CEI) et les Principes de normes ouvertes du Bureau du Cabinet britannique.
Inspirés par ces quatre documents stratégiques, les critères suivants définissent les normes ouvertes :
- le processus d’élaboration de la norme est ouvert et transparent pour toutes les parties intéressées et ne peut pas être contrôlé par une seule personne ou entité ayant des intérêts particuliers;
- une plateforme indépendante, neutre et utilisable pour de multiples mises en œuvre;
- les spécifications et le matériel de soutien sont disponibles gratuitement, sous réserve de restrictions limitées;
- les normes sont appuyées par la collectivité et elles font preuve d’indépendance ou d’une procédure établie approuvée par un consensus approximatif entre les participants.
Interopérabilité
La capacité des organisations à interagir en vue d’atteindre des objectifs mutuellement bénéfiques, et celle-ci comprend la mise en commun des renseignements et des connaissances entre ces organisations, à travers des processus opérationnels qu’elles appuient, au moyen du partage de données entre leurs systèmes des TIC. L’interopérabilité est une capacité que possède un produit ou un système, dont les interfaces sont intégralement connues, à fonctionner avec d’autres produits ou systèmes existants ou futurs et ce, sans restriction d’accès ou de mise en œuvre.
Cette définition sert également de rappel du lien vital qui règne entre l’interopérabilité et les normes ouvertes. Les interfaces précisées font l’objet de processus de normalisation afin que l’émergence et le maintien de références courantes et documentées soit assurés.
Le fond de la question n’est pas seulement technique; il repose également sur un ensemble de préoccupations à différents niveaux. Le CIE les définit comme suit :
- La gouvernance de l’interopérabilité s’entend des décisions relatives aux cadres d’interopérabilité, aux dispositions institutionnelles, aux structures organisationnelles, aux rôles et responsabilités, aux politiques, aux ententes et à d’autres aspects du maintien et du suivi de l’interopérabilité aux niveaux national et européen.
- L’interopérabilité juridique veille à ce que les organisations opérant sous différents cadres juridiques, politiques et stratégies puissent travailler ensemble.
- L’interopérabilité organisationnelle désigne la façon dont les administrations publiques harmonisent leurs processus opérationnels, leurs responsabilités et leurs attentes pour atteindre des objectifs communs et mutuellement bénéfiques.
- L’interopérabilité sémantique veille à ce que le format et le sens précis des données, de même que l’information ainsi échangés soient préservés et compris tout au long des échanges entre les parties, autrement dit « ce qui est envoyé est ce qui est compris ». Dans le CIE, l’interopérabilité sémantique couvre les aspects sémantiques et syntaxiques.
- L’interopérabilité technique couvre les applications et les infrastructures reliant les systèmes et les services. Les aspects de l’interopérabilité technique comprennent les spécifications des interfaces, les services d’interconnexion, les services d’intégration de données, la présentation et le partage de données et les protocoles de communication sécurisés.
Interopérabilité interne
L’interopérabilité interne est beaucoup plus axée sur la dimension technique. Il faut porter une attention particulière à sa définition pour veiller à ce qu’elle reflète fidèlement les attentes associées au terme, particulièrement en termes d’indépendance – le terme « souveraineté » est parfois utilisé - et de neutralité.
Les anciens systèmes constituent un obstacle majeur à l’interopérabilité. Historiquement, les applications et les systèmes d’information des administrations publiques ont été développés de façon ascendante, en essayant de résoudre des problèmes locaux et spécifiques au domaine. Il en est résulté une GI/TI fragmentée qui est difficile à interopérer. En raison de la taille de l’administration publique et de la fragmentation des solutions de la GI/TI, la pléthore de systèmes existants crée un obstacle supplémentaire à l’interopérabilité au niveau technique.
L’interopérabilité technique devrait être assurée, dans la mesure du possible, par l’utilisation de normes ouvertes.
Avantages
Interopérabilité
Pour toute organisation, en particulier pour les administrations publiques, les besoins d’interopérabilité se situent à deux niveaux distincts mais qui se chevauchent, soit l’interopérabilité interne avec sa propre technologie de l’information et de la communication (TIC) et celle avec les TIC des acteurs externes (autres administrations, le public, les entreprises, les associations), directement ou indirectement, par la disponibilité de données ouvertes.
Indépendance et substituabilité
D’un point de vue interne, l’interopérabilité est étroitement liée à la question de l’architecture intégrée, en ce sens qu’elle permet de découpler ses diverses composantes tout en restant intégrée. Ainsi, le CCIGQ est lié au Cadre de référence de l’architecture intégrée du gouvernement; et la version 2 du document français RGI renvoie au Cadre commun d’urbanisation du système d’information de l’État.
Dans le contexte de l’architecture intégrée entièrement sous votre contrôle, une option consiste à veiller à ce que les composantes soient dotées de modèles d’intégration clairs, directement par l’entremise de produits, ou en utilisant une famille de produits généralement proposés par un seul fournisseur. Cette approche peut avoir des avantages fonctionnels (généralement en termes d’intégration harmonieuse entre les produits), mais elle a l’inconvénient de lier la technologie de l’information interne à un système externe ou à un fournisseur en particulier. Cette connexion peut devenir à la fois un handicap technique (en écartant l’adoption potentielle de nouvelles solutions plus pertinentes) et un handicap économique (en réduisant les possibilités de négociation et en augmentant les coûts de changement). Dans un scénario idéal d’interopérabilité, cependant, les composantes de base peuvent être substituées; chacune pouvant être modifiée plus facilement et indépendamment. Cette approche renforce la liberté de choix et rend l’architecture intégrée plus souple, parce que chaque élément de base peut être remplacé par un autre qui a la même fonctionnalité sans avoir d’incidence sur le reste des systèmes.
Adhérences applicatives - Verrouillage
À l’interne, l’interopérabilité peut être vue en fonction de deux dimensions : La dimension horizontale (entre deux applications distinctes) qui, de par sa nature, est la dimension en jeu lorsque deux systèmes différents interagissent; et la dimension verticale, qui concerne les composantes d’une seule application. C’est généralement le cas entre l’application elle-même et les composantes de l’infrastructure sous-jacente (p. ex., une application peut nécessiter une base de données particulière qui, elle-même, ne fonctionne que dans le cadre d’un système d’exploitation en particulier, sans qu’aucune fonctionnalité n’entre en jeu). C’est là que l’adhérence applicative entre en ligne de compte, ce qui dépasse la portée de l’interopérabilité même si un certain nombre de principes fondamentaux sont les mêmes.
Informatique en nuage
L’informatique en nuage consiste à fournir des services d’infrastructure et des services d’applications sur demande. Cela est possible grâce à un niveau élevé de virtualisation des composantes matérielles au moyen de logiciels d’infrastructure de service. L’informatique en nuage est basée sur une architecture logicielle qui gère simultanément l’élasticité des ressources (processeurs, mémoire d’accès aléatoire, stockage et réseaux) et la capacité des applications d’utiliser ces ressources par le biais d’interfaces de libre-services.
Alors que les primitives fondamentales sous-jacentes de l’infrastructure et des architectures d’application restent relativement cohérentes entre les déploiements en nuage et les déploiements d’infrastructure traditionnels, la principale différence réside dans l’accessibilité et la programmabilité de l’infrastructure. L’infonuagique permet, par le biais d’API et d’intégrations d’orchestration, de déployer et de gérer des applications à l’aide de code. L’utilisation de l’orchestration programmatique améliore la capacité d’établir des normes par le biais d’implémentations de référence et d’architectures pré-approuvées.
Une différence notable entre l’infonuagique et l’infrastructure traditionnelle est la disponibilité de services de plus haut niveau dans l’infonuagique. Ces services, tout en offrant des avantages substantiels pour l’écosystème, ne sont souvent pas transférables à d’autres fournisseurs. L’utilisation de ces services peut avoir de fortes implications sur l’interopérabilité car ils peuvent créer une sorte de verrouillage. Ces services sont souvent intégrés directement dans la couche application, ce qui permet un couplage plus étroit entre l’application et le fournisseur. Lorsqu’on choisit les services d’un fournisseur d’infonuagique, il est important de se poser la question suivante : “Ce service est-il disponible auprès d’un autre fournisseur et quels sont les défis de la commutation ? L’exploitation des pratiques d’Infrastructure-as-Code (IaC) et DevOps peut aider à atténuer certains des risques de verrouillage, car elles fournissent une interface pour faire évoluer les détails d’un déploiement.
Toute externalisation d’infrastructures ou d’applications vers un service d’infonuagique public doit tenir compte de la capacité de l’organisation privée ou tierce à appliquer des normes qui permettent de changer de fournisseur ou de rétablir un certain nombre de services, si nécessaire. Dans ce contexte, l’absence d’un cadre d’interopérabilité et de normes ouvertes acceptées par le fournisseur constitue un risque important pour la durabilité de la solution.
En ce qui concerne le déploiement d’un nuage privé, l’interopérabilité favorise la concurrence entre les fournisseurs en ce qui concerne le matériel et les logiciels, ainsi que la capacité de développer davantage l’infrastructure au fil du temps. En effet, l’utilisation de normes, par l’entremise des interfaces de programmation (API) par exemple, accroît l’indépendance par rapport aux différents moteurs propres aux composants matériels, et elle rend ces services d’infrastructure indépendants du logiciel déployé.
La mise en œuvre d’une approche infonuagique en premier est une occasion unique de normaliser ces processus et de s’entendre sur un cadre commun. L’utilisation d’un cadre d’interopérabilité et de normes ouvertes facilite et rend moins coûteuse l’impartition d’une partie de l’infrastructure à un organisme tiers, ou la migration vers Services partagés Canada, dans une solution hybride.
Logiciel libre
Le Logiciel libre (LL) est un moyen de développer et de distribuer des logiciels. Le code est souvent écrit en collaboration, et il peut être téléchargé, utilisé et modifié par n’importe qui.
Le LL utilise habituellement ou contribue à définir les normes ouvertes et les spécifications accessibles au public. Les logiciel libre sont, de par leur nature, des spécifications accessibles au public, et la disponibilité de leur code source favorise un débat ouvert et démocratique sur leurs spécifications, ce qui les rend à la fois plus robustes et interopérables. Du point de vue de la conception, l’interopérabilité et les logiciels libres sont clairement distincts, tout comme les logiciels libres et les normes ouvertes. Toutefois, du point de vue culturel et historique, il existe des liens solides entre ces concepts. Cela peut s’expliquer par la « collectivité des valeurs » – en raison de leur nature ouverte, les modèles économiques de logiciels libres sont moins fondés sur des stratégies de verrouillage de l’utilisateur et davantage sur l’interopérabilité au profit de l’utilisateur. L’utilisation de normes ouvertes est nécessaire pour assurer l’interopérabilité entre les produits ou les systèmes.
Risques et inconvénients
Prolifération des normes
Les normes sont créées pour répondre à des besoins spécifiques et la prolifération des normes concurrentes peut augmenter le temps nécessaire pour sélectionner le bon de réduire les problèmes dans la gestion à long terme des données, des informations et des applications. La cocréation de normes peut prendre du temps, et l’émergence de nouvelles normes, dans les cas où il n’est pas possible de parvenir à une entente entre les parties prenantes, peut augmenter le risque de passer à une autre norme, le marché élargi pouvant prendre une autre direction.
Pratiques exemplaires pour l’adoption de normes ouvertes
Définir les principes de sélection des normes ouvertes
- Principes utilisés pour évaluer des normes ouvertes spécifiques et exiger leur utilisation, le cas échéant.
- Veiller à ce que les normes sélectionnées permettent l’interopérabilité des logiciels par l’entremise de protocoles ouverts et du partage de données entre les logiciels et les dépôts de données.
Identifier les normes ouvertes à utiliser au sein du gouvernement du Canada
- Cadre d’interopérabilité qui répertorie les normes ouvertes obligatoires et recommandées.
- Harmonisation et collaboration possible avec le Open Standards Board du Royaume-Uni quant à la sélection de normes ouvertes pour le gouvernement.
Formation et soutien
La formation et le soutien à la migration vers l’adoption de normes ouvertes sont similaires aux Pratiques exemplaires en matière de formation et de soutien à l’utilisation des logiciels libres.
Conversion des formats
- Faire un effort significatif afin de veiller à ce que les formats de fichiers et de données fermés puissent être convertis en normes ouvertes.
- Ne pas oublier que la conversion des documents, par exemple entre Microsoft Office et LibreOffice, est une tâche qui peut exiger beaucoup de ressources humaines pour tous les documents complexes, surtout lorsqu’ils comprennent un formatage précis ou des macros.
Normes ouvertes privilégiées
La Norme sur l’interopérabilité du Web du gouvernement du Canada rend les normes ouvertes suivantes obligatoires pour les sites Web du gouvernement du Canada.
- Langue de balisage : HTML5
- Codage du caractère : UTF-8
- Données HTML et vocabulaire de données : RDFa Lite, Schema.org
- Fil Web : Format de syndication Atom
La Norme sur l’accessibilité des sites Web du gouvernement du Canada rend la norme ouverte suivante obligatoire pour les sites Web du gouvernement du Canada.
La norme du Conseil du Trésor sur la technologie ou l’information (NCTTI) Critères d’applicabilité des codes pour la représentation des monnaies et types de fonds (NCTTI 12) rend la norme ouverte suivante obligatoire pour la représentation des devises et des types de fonds dans les échanges de données à l’intérieur et à l’extérieur du gouvernement du Canada.
- Codes de monnaies: ISO 4217
La NCTTI Critères d’applicabilité de la représentation numérique de la date et de l’heure (NCTTI 36) rend la norme ouverte suivante obligatoire pour la structure numérique de présentation des dates civiles aux fins de partage de données sur des supports lisibles par machine entre les divers ministères et organismes.
- Date et heure: ISO 8601
Autres normes ouvertes au gouvernement du Canada
Les Lignes directrices sur les formats de fichier à utiliser pour transférer des ressources documentaires de Bibliothèque et Archives Canada (BAC) énumèrent les formats recommandés pour les textes, présentations, messages courriel, images fixes, audio, vidéo, géospatial, la conception assistée par ordinateur (CAO) et les jeux de données. Le rapport de Patrimoine Canadien sur les Éléments d’un cadre d’interopérabilité technique, le Cadre commun d’interopérabilité du gouvernement du Québec du Québec et le Référentiel général d’interopérabilité de la France identifient plusieurs des mêmes normes ouvertes recommandées.
Les principes des données ouvertes du GC indique que « l’utilisation de formats communs » est l’un des principes des données ouvertes, de sorte que les jeux de données publiés par le gouvernement du Canada soient dans des formats de fichier librement accessibles le plus souvent possible.
Services publics et Approvisionnement Canada (SPAC) a mis à l’essai le Standard de données sur la commande publique ouverte afin de démontrer l’utilisation de la norme en établissant des liens entre les phases du processus d’approvisionnement à l’aide des données provenant des approvisionnements effectués par SPAC au nom des ministères et organismes gouvernementaux. (source).
Normes ouvertes pour le gouvernement du Royaume Uni
Le Conseil des normes ouvertes du Royaume-Uni sélectionne un ensemble de normes ouvertes pour être utilisé dans la technologie gouvernementale. L’objectif est de les appliquer uniformément à l’ensemble des organisations gouvernementales, afin d’améliorer les services aux utilisateurs. Les normes ouvertes sont sélectionnées après une période d’examen par les pairs et de commentaires du public par l’entremise du Centre des normes. Ce qui suit sont les Normes ouvertes pour le gouvernement approuvées.
- Consulter les documents gouvernementaux : HTML5 Format/archivage de documents portables (PDF/A) 1 Format/archivage de documents portables (PDF/A) 2
- Partage ou collaboration en lien avec des documents gouvernementaux : Format de document ouvert (FDO)
- Profil d’encodage de caractères multiplateforme : Unicode 6.2, UTF-8
- Données contractuelles ouvertes : Standard de données sur la commande publique ouverte
- Codes de pays : ISO 3166-1:2013
- Codes de langues : ISO 639-1:2002
- Données sur le développement international : IATI
- Publication des postes vacants : JobPosting - Schema.org
- Échange de points de localisation : Système européen de référence terrestre (ETRS) 89, Système géodésique mondial (WGS) 84)
- Identificateurs persistants et résolubles : Protocole de transfert hypertexte (HTTP) 1.1, Identificateur uniforme des ressources (URI)
- Échange de coordonnées : vCard
- Échange d’événements du calendrier : iCalendar
Normes relatives au numérique du gouvernement du Canada
Les Normes relatives au numérique du gouvernement du Canada incluent une norme pour utiliser des normes et des solutions ouvertes.
Le Comité d’examen de l’architecture intégrée (CEAI) GC se servira des normes architecturales pour évaluer les investissements et les solutions en matière de numérique. Les normes architecturales relatives au numérique viennent compléter les normes relatives au numérique du gouvernement du Canada, en misant sur les pratiques exemplaires qui visent la planification architecturale et la conception. Sous Architecture d’application ils incluent une norme pour utiliser des normes ouvertes et des logiciels libres pour éviter le verrouillage lorsque des logiciels libres ou des normes ouvertes sont disponibles.