Interopérabilité en informatique

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

L’interopérabilité ou interfonctionnement en informatique est la capacité que possède un système informatique à fonctionner avec d’autres produits ou systèmes informatiques, existants ou futurs, sans restriction d’accès ou de mise en œuvre. Les deux termes sont normalisés par la CSA et la Commission électrotechnique internationale (ISO/IEC 2382-18:1999).

Introduction[modifier | modifier le code]

La notion d'interface est essentielle pour aborder l'interopérabilité. On ne peut parler d'interopérabilité que lorsque les interfaces sont complètement définies, connues et librement utilisables. Les interfaces sont beaucoup moins complexes que les systèmes qui les utilisent. De plus, elles sont stables sur de longues durées car indépendantes des évolutions de ces systèmes.

Enjeux[modifier | modifier le code]

L’interopérabilité est une notion absolument cruciale pour le réseau téléphonique mondial et Internet. Par essence, des matériels divers et variés sont mis en œuvre dans ces réseaux hétérogènes aux côtés d’une panoplie encore plus vaste de matériels informatiques et de logiciels.

Elle est aussi cruciale pour l’ensemble de l’économie, car dans presque tous les domaines d’activité dans l’industrie, dans les services, et dans l’agriculture, on emploie des systèmes informatiques, qui aujourd’hui communiquent d’une entreprise à l’autre par l’intermédiaire de réseaux informatiques (Internet, extranet, messageries électroniques). On a pu constater l’interdépendance des systèmes informatiques mondiaux lors du passage informatique à l’an 2000 (Y2k).

L’interopérabilité est une nécessité dans le domaine du commerce électronique. En effet, le demandeur de services et le fournisseur de services doivent pouvoir interfonctionner en employant des structures et des types de données communs.

Nécessité des normes[modifier | modifier le code]

L'interopérabilité nécessite que les communications obéissent à des normes, clairement établies et univoques (voir Normes et standards industriels). Ces documents techniques définissent souvent des exigences, parfois accompagnées de recommandations plus ou moins optionnelles. Si la norme est correctement écrite, deux systèmes qui satisfont aux exigences doivent dialoguer ensemble sans souci particulier. Ils peuvent ainsi évoluer librement sans risque de casser cette possibilité de communication, tant qu'ils respectent la norme définissant leurs interfaces.

Par exemple, la norme peut définir des éléments comme :

  • les formats des données échangées dans le contexte considéré, qui décrivent des séquences d'informations ou de commandes qu'un système doit envoyer, comment ses correspondants doivent y répondre (protocole de communication).
  • les tensions et courants à utiliser ;
  • les types de câbles à utiliser.

Dans le monde de l'informatique en particulier, il ne faut pas faire la confusion entre une norme et un standard, ce dernier désignant ce qui est produit habituellement par un producteur et ne dépend que de lui. Cette confusion vient de l'anglais, qui n'a qu'un seul mot pour désigner les deux concepts — standard signifie aussi norme.

La norme, et/ou la recommandation qui l'accompagne, est établie par un organisme indépendant qui limite les modifications unilatérales. On comprend donc qu'il est inopportun de définir une interopérabilité à partir d'un standard non ouvert.

Deux approches de l'interopérabilité[modifier | modifier le code]

Les normes ouvertes et standards communautaires[modifier | modifier le code]

Certains groupes — souvent des consortiums ou des associations — ont un processus de rédaction des normes qui est collaboratif : sous certaines conditions, des individus ou des entreprises peuvent adhérer et participer à des groupes de travail qui élaborent la documentation technique qui constituera la norme.

Cette norme est ensuite publiée, parfois d'abord à l'état de brouillon ou draft, dont les essais de mise en œuvre permettront d'en trouver les failles et d'en corriger les défauts, puis de candidat à la publication et enfin de recommandation officielle ou de document d'information.

Cette publication est ouverte, tout un chacun a la possibilité d'étudier ces documents et de tenter de développer un système conforme à ces standards. De plus, le fait que la rédaction soit relativement ouverte à la communauté évite de voir des normes publiées qui ne satisfont qu'une minorité qui détiendrait un pouvoir de décision sur leur contenu.

  • Exemples d'organismes fonctionnant selon un processus ouvert : DMTF, IETF, W3C, ISOC, OASIS, Unicode. Ces organismes, pour la plupart des consortiums privés réunis en groupements d'intérêt à but non lucratif, acceptent les adhésions de quiconque (sans réserver les sièges), et font largement appel à des contributions du public. Leur force (en dépit du fait qu’ils ne peuvent pas émettre de norme à caractère obligatoire) tient largement au nombre de leurs membres participants, et peuvent donc produire des standards souvent approuvés ensuite par les organismes de normalisation nationaux et internationaux, avec qui ils échangent des sièges de liaison ou des rapporteurs. Leurs membres les plus compétents sont aussi souvent appelés par les États normalisateurs à en devenir les représentants de leurs intérêts, dans leurs domaines d’expertise.
  • Exemples de standards ouverts : XML, XHTML, PNG, Vorbis, FLAC... Certains de ces standards ont acquis le statut de normes internationales en restant ouverts.

Un amendement à la loi française sur les droits d'auteurs et droits voisins dans la société de l'information (DADVSI) qui n'a pas été retenu par l'Assemblée nationale proposait les définitions suivantes :

  • On entend par compatibilité la capacité de deux systèmes à communiquer sans ambiguïté.
  • On entend par interopérabilité la capacité à rendre compatibles deux systèmes quelconques. L'interopérabilité nécessite que les informations nécessaires à sa mise en œuvre soient disponibles sous la forme de standards ouverts.

Les formats fermés et propriétaires[modifier | modifier le code]

À l'opposé, le frein majeur à une interopérabilité optimale est l'utilisation dans des matériels et logiciels de formats dont seuls leurs concepteurs auraient les clefs. Cette fermeture est souvent volontaire car elle vise, dans le cas d'un format de fichier propriétaire, à s'assurer qu'un utilisateur n'utilisera pas un autre logiciel pour lire ses données.

À moins d'avoir obtenu les spécifications du format auprès du concepteur, il est nécessaire d'avoir recours à la rétro-ingénierie, pour en reconstituer les spécifications et pour pouvoir développer des outils compatibles. Des lois sont cependant à l'étude pour encadrer ce genre de pratique, comme la DMCA aux États-Unis, ou Directive sur le copyright (ou EUCD) dans l'Union Européenne. Certains trusts y voient un intérêt et font pression pour qu’elles soient adoptées.

Entre les deux : les normes à distribution restreinte[modifier | modifier le code]

Entre ces deux mondes, il existe également un grand nombre d'organismes plus ou moins ouverts dans la sélection de leurs membres, souvent orientés vers les entreprises et ayant des cotisations ou des droits d'entrées élevés, dont les publications ne sont pas librement accessibles, mais payantes. C'est le cas de la majorité des organismes d'État, notamment. On peut citer les organismes internationaux ou intergouvernementaux ISO, UIT, ou les comités nationaux (ANSI, AFNOR, etc.) membres de l’ISO. Toutefois, la plupart de ces normes sont accessibles via un paiement unique pour en obtenir une copie, sans que son utilisation conduise forcément au paiement d’une redevance pour leur utilisation ; le problème reste toutefois que les spécifications ne sont pas librement échangeables, chaque utilisateur devant s’acquitter du prix d’une copie de la norme.

De plus, les mêmes organismes gouvernementaux rendent assez souvent libres d'accès les normes les plus essentielles, ou lorsqu'ils jugent qu'une plus grande diffusion est nécessaire à leur interopérabilité, afin de favoriser les contributions et implémentations exigeant un très large effort communautaire en raison de la complexité de leur mise en œuvre. Enfin, de nombreuses normes (pas toujours très anciennes) que les gouvernements ne veulent plus maintenir eux-mêmes seuls sont publiées et deviennent accessibles à tous, ou dans le cadre d’accords de collaboration entre organismes normalisateurs publics et consortiums privés, afin d’éviter de favoriser un nombre restreint de fournisseurs.

Parfois, c'est un petit groupe de personnes, voire une seule, qui décide d'un standard (pour accéder au statut de norme, ce standard doit être approuvé par au moins un comité de normalisation national, qui peut imposer des conditions de liberté d'utilisation). Ce groupe ou cette entreprise, qui émet le standard à caractère industriel, peut être plus ou moins à l'écoute des suggestions, bien sûr, de ses utilisateurs. Des exemples courants sont RAR (algorithme de compression), PDF (format de document pour l'impression), Java (langage de programmation), Flash (format d'animation pour le Web), etc.

Dans certains pays, comme les États-Unis et le Japon, l'utilisation de normes peut être soumise à une redevance si la norme contient des éléments brevetables : le GIF (format d'image, toutefois les brevets qui couvrait ce format ont tous expirés et ce format est désormais libre) et de nombreux codecs de la série MPEG (dont MP3 pour le codage du son, ou MPEG4 et H.323 pour la vidéo) en sont des exemples (le décodage et l'utilisation des contenus dans ces formats est souvent libre, mais la production de contenu dans ces formats est soumis à licence). Toutefois, les organismes de normalisation internationaux imposent maintenant des limitations aux montants que peuvent percevoir les titulaires de brevets et leur interdisent toute discrimination (interdiction des brevets exclusifs) envers les demandeurs de licence pour l’utilisation des droits réservés par les brevets requis, s’ils souhaitent voir leur standards acceptés ou tolérés dans une norme nationale ou internationale, ainsi que des conditions d'interopérabilité avec des solutions alternatives à ces technologies réservées.

Principe de l'interopérabilité en informatique[modifier | modifier le code]

L'interopérabilité en informatique est une capacité juridique offerte au citoyen d'utiliser l'informatique sans se soucier d'aspects techniques.

Cette capacité doit permettre à tout citoyen, sans préjudice, d'obliger par les ordres, qu'il donne à un ordinateur, par l'intermédiaire d'un programme, de toute nature, de se coordonner, de coopérer et d'être piloté par tout autre programme d'une autre nature quel que soit le lieu, le matériel et le langage utilisé. Il doit le faire si le service attendu l'exige. Le service rendu doit être de même valeur satisfaisante qu'il eut été fait par l'un ou l'autre des programmes, dès lors que le service correspond, sans obstacle contractuel ni obstacle technique.

Cela induit :

  • une conception iso-fonctionnelle de l'ergonomie employée pour atteindre le résultat quel que soit l'outil employé, quelle que soit la langue.
  • une conception compréhensible du fonctionnement des machines et des logiciels : c'est-à-dire imitant la nature de manière à laisser l'humain reconnaître son interopérabilité avec les autres systèmes.
  • une conception qui n'exclut pas la nécessité pour un citoyen d'être formé à son utilisation comme il l'aurait été pour d'autres outils de même nature.
  • un style de conception qui n'exclut jamais le fonctionnement avec les autres systèmes informatique pour un même résultat attendu.
  • une présentation de résultat, dans son style propre, qui ne trahisse jamais le contenu renvoyé des autres logiciels faisant la preuve au mieux que celle-ci augmente la valeur de celui-ci sans le masquer, ni l'appauvrir.

L'interopérabilité s'applique couche après couche dans tout système informatisé par des programmes automatiques, mais aussi doit être pris en compte dans les lois sans diminuer ni réduire la liberté dans la limite imposée par les droits de l'homme.

Complexité de l'interopérabilité en informatique[modifier | modifier le code]

L'informatique pose le problème de l'interopérabilité en des termes nouveaux. Elle met en évidence certaines contradictions entre les intérêts commerciaux d'entreprises fournissant produits et services, et les exigences nouvelles des consommateurs de ces produits et services. Du fait des outils informatisés, de l'expertise acquise par des groupes d'utilisateurs, de la communication facilitée, l'interopérabilité devient une problématique plus concrète aux yeux d'un nombre grandissant de personnes, qui en comprennent mieux les tenants et aboutissants — notamment les enjeux du choix et de la protection des données.

Ce mouvement est vu comme une avancée démocratique par les partisans d'une interopérabilité « ouverte », mais cet avis n'est pas partagé par tous. Nombres d'entreprises défendent à l'inverse un modèle plus classique où l'interopérabilité reste le fruit de l'initiative privée et subit un contrôle strict. De par les enjeux qui lui sont aujourd'hui liés, dans les domaines du travail ou dans la sphère privée par exemple, l'interopérabilité informatique va certainement jouer un rôle de catalyseur des changements futurs, quels qu'ils soient.

Les données véhiculées dans les interfaces[modifier | modifier le code]

En pratique, l'interopérabilité touche tous les domaines de l'informatique. Ce sont les règles de cohérence des données véhiculées qui gouvernent l'interopérabilité. Les données de référence employées par plusieurs applications sont généralement celles qui pilotent l'interopérabilité.

Dans des contextes où coexistent les données structurées (celles des bases de données) et les données non structurées (les documents, textes, images), on considère généralement aujourd'hui que les données communes sont constituées par des « métadonnées ». À l'origine, c'étaient des mots clés qui étaient introduits dans les langages de balisage tels que SGML, HTML.

Le langage XML est aujourd'hui considéré comme le langage qui permet d'accéder à l'ensemble des ressources informatiques par le Web, en utilisant ces métadonnées, dans le cadre RDF défini par le W3C en 1999. En pratique, l'interopérabilité repose sur la description de Schémas XML, qui permettent de vérifier que les documents XML se conforment aux contraintes d'un schéma. La souplesse des schémas XML vient de ce qu'il est possible de définir des espaces de noms et des types de données pour caractériser les éléments de données échangés.

Autant l'interopérabilité est nécessaire en intelligence économique pour les gouvernements et les entreprises en réseau, autant l'utilisation sans précaution des métadonnées dans les composants informatiques peut comporter des risques de pertes d'informations pour les communautés qui les emploient, souvent sans avoir conscience de leur importance stratégique. La tenue de registres de métadonnées conformément aux règles normatives (ISO/CEI 11179) limite les risques liés aux métadonnées.

Voir : Risques et recensement des utilisations des métadonnées

Plusieurs gouvernements dans le monde emploient des référentiels de métadonnées basés sur le Dublin Core, visant à mettre en œuvre l'interopérabilité dans des cadres définis.

Interfaces de programmation[modifier | modifier le code]

Les interfaces de programmation (API) sont à la base de l'interopérabilité informatique. Par exemple, la spécification J2EE pour le langage de programmation Java comporte de nombreux types d'API, qui véhiculent des métadonnées. Ces API peuvent s'appliquer à différents types de ressources informatiques (bases de données) ou applications (Progiciel de gestion intégré).

Aspects pratiques de l'interopérabilité[modifier | modifier le code]

Interopérabilité entre réseaux et bases de données[modifier | modifier le code]

En matière d'interopérabilité informatique entre les réseaux et les bases de données, on parvient à rapprocher des événements sur des critères temporels.

La norme X733 normalise ces questions du point de vue des télécoms. Mais l'un des problèmes les plus sensibles est d'assurer la compatibilité, du point de vue de la sémantique des données, avec un métaframework et des langages de description.

Interopérabilité en bureautique[modifier | modifier le code]

Pendant longtemps, chaque éditeur de logiciel fabriquait son logiciel, et des filtres pour faire migrer les clients utilisateurs de leur suite bureautique à la nouvelle. L'échange de document n'était pas garanti.

Depuis peu, sous l'impulsion d'OpenOffice.org (soutenu par Sun Microsystems), deux systèmes d'échange de fichier bureautique ont été créés, dont l'un d'entre eux est l'OpenDocument. L'autre étant celui de Microsoft.

Cependant, en 2006, en France, dans le secteur privé bon nombre de documents continuent à circuler au format .doc de Microsoft Word, cette utilisation du format Word pose un problème d'interopérabilité, dans la mesure où :

  • soit le destinataire doit acheter la bonne version de Microsoft Word (et éventuellement une version de Windows) pour lire de tels documents ;
  • soit, en utilisant OpenOffice.org, il existe un risque que certaines parties du document, utilisant des fonctionnalités non connues de Microsoft Word ne passent pas correctement ou soient déformées.

Le format OpenDocument intègre des métadonnées selon le cadre de description prévu par RDF.

Interopérabilité en multimédia[modifier | modifier le code]

Dans le domaine du multimédia, la plupart des formats sont bien connus, au point qu'ils sont utilisés par des logiciels libres, cependant de nouveaux formats tels que le wmv de Microsoft, et de manière plus générale les DRM posent des problèmes d'interopérabilité.

Le W3C préconise l'emploi du langage SMIL 2.0 (Synchronized Multimedia Integration Language), qui s'appuie sur XML et l'emploi de métadonnées. Le statut de cette recommandation est « spécification stable ».

Interopérabilité multilingue[modifier | modifier le code]

Article détaillé : Unicode.

Avec la diffusion d'Internet, les échanges mondiaux de fichiers se sont multipliés, ce qui pouvait poser des problèmes d'interopérabilité, pour les fichiers textes ; pour cette raison Unicode a été créé.

Dans Unicode, les métadonnées sont enregistrées dans le format de codage de caractères UTF-8, qui accepte la plupart des navigateurs web depuis 1998.

Interopérabilité du courriel[modifier | modifier le code]

Article détaillé : Courriel et Unicode.

Différents courrielleurs peuvent être utilisés pour consulter/envoyer des courriels. Ils doivent être compatibles entre eux. De nombreuses RFC dirigent cette interopérabilité.

Les travaux de Jason R. Baron, du département américain de la Justice, effectués dans le cadre de l'IEEE en 1999, montrent que les messageries électroniques peuvent employer des métadonnées.

Interopérabilité du web[modifier | modifier le code]

Articles détaillés : Unicode et HTML et Hypertext Markup Language.

L'architecture web a été conçue dès le départ pour s'appuyer sur l'emploi de langages de balisage (HTML) et de métadonnées. Cette tendance s'est confirmée avec les langages XHTML et XML. RDF (Resource description framework), défini par le W3C en 1999, fournit un cadre de description des ressources qui fonde l'interopérabilité entre toutes les ressources web, ainsi qu'avec les autres ressources informatiques.

Différents navigateurs et versions de navigateurs peuvent être utilisés pour consulter le web.

Les serveurs web doivent donc être interopérables avec différents logiciels clients. Pour cette raison, ils utilisent un langage connu, le HTML, combiné à d'autres standards, tels que HTTP, SVG (Scalable Vector Graphics) ou JPEG.

De nombreuses RFC dirigent cette interopérabilité. Le W3C est un organisme travaillant dans ce domaine.

Le référentiel de métadonnées Dublin Core fournit un standard d'interopérabilité des ressources informatiques grâce à l'emploi des mêmes éléments de métadonnées par plusieurs organisations en réseau. Plus de huit gouvernements dans le monde l'ont adopté pour la tenue de registres de métadonnées.

Le langage Java a également des fonctions d'interopérabilité, autour :

Interopérabilité des systèmes de fichiers[modifier | modifier le code]

Le système FAT (développé initialement par IBM) est largement connu et répandu, ce format (lui-même dérivé de l'ancien système de fichier CPM auquel il a ajouté trivialement le support des répertoires à la façon d’Unix en utilisant un fichier normal pour les stocker) était notamment utilisé sur les disquettes. On peut donc considérer que le système FAT est facilement interopérable même s’il se décline en plusieurs variantes en fonction de la taille totale de stockage du système de fichiers.

Toutefois, des extensions au système FAT initial ont été développées et utilisées par Microsoft et soumises à des brevets (dont VFAT qui étend l'extension triviale FAT32 pour lui faire supporter le codage Unicode, les noms de fichiers longs dans les répertoires, et des attributs de fichiers supplémentaires, alors même que l’extension elle-même est totalement documentée et librement accessible).

Inversement, le format NTFS (lui aussi de Microsoft) est mal connu. Un système Linux ne peut donc y modifier des fichiers que de manière très limitée sans risquer de le corrompre. Il en est de même pour les extensions au système d’amorçage, notamment certaines extensions aux tables de partitions.

Prise en charge de certains système de fichiers sur différents OS, en natif
Système de fichiers Opération Linux Mac OS X Windows
ext2/ext3/ext4 Lecture Fait Non Non Non Non
Écriture Fait Non Non Non Non
FAT 32 Lecture Fait Fait Fait
Écriture Fait Fait Fait
HFSX Lecture Fait Fait Non Non
Écriture Fait Fait Non Non
NTFS Lecture Fait Fait Fait
Écriture Fait Non Non Fait

L'utilisation de programmes tiers adaptés peut être nécessaire pour échanger des données d'un système à l'autre.

Cadres d'interopérabilité[modifier | modifier le code]

Définition[modifier | modifier le code]

Un cadre d'interopérabilité se définit par l'ensemble des politiques, des standards, des règles et des recommandations pris par un réseau d'acteurs en vue d'atteindre le plus haut niveau d'interopérabilité possible. Il décrit également les règles de fonctionnement qui régissent l'analyse, le choix, l'adoption et la mise à jour de chacun de ces éléments.

Cadres d'interopérabilité nationaux[modifier | modifier le code]

Voici quelques cadres d'interopérabilité nationaux :

Cadre mondial[modifier | modifier le code]

Le Sommet mondial sur la Société de l'Information (WSIS) de Genève en 2003 a également défini des objectifs clairs au niveau de la normalisation TIC en demandant « l'élaboration et l'utilisation de normes ouvertes, compatibles, non discriminatoires et axées sur la demande qui tiennent compte des besoins des usagers et des consommateurs ».

Cadre européen[modifier | modifier le code]

Article détaillé : Cadre commun d'interopérabilité.

ATTENTION : Les liens suivants concernant l'UE ne sont pas opérants. Existe-t-il des textes européens (directives) opérationnels en termes d'interopérabilité entre SI qui soient à tranposer par les Etats membres ?

La Commission européenne a publié le 13/02/2006 sa Communication sur l'interopérabilité. Le programme IDABC de la Commission européenne travaille quant à lui à un plan européen d'interopérabilité. La vision européenne est également décrite par un ensemble de recommandations générales dont la première version a été publiée en novembre 2004.

Dans sa recommandation no 2, la Commission européenne donne la priorité à l'utilisation de standards ouverts. Par standard ouvert, elle entend :

  • Le standard a été adopté et sa maintenance sera assurée par une organisation sans but lucratif, et son développement ultérieur se fera sur la base d’une procédure décisionnelle ouverte accessible à toutes les parties intéressées (consensus ou décision majoritaire, etc.).
  • Le standard a été publié et le document de spécification du standard est disponible soit gratuitement soit contre une somme symbolique. Tout le monde doit pouvoir copier, distribuer et utiliser ce document gratuitement ou contre une somme symbolique.
  • Les droits de propriété intellectuelle, à savoir les brevets éventuels, du standard (ou de parties du standard) sont irrévocablement mis à disposition sans exiger de redevance.

Une analyse plus approfondie des éléments d'architecture nécessaires à l'interopérabilité européenne est décrite dans les « Architecture guidelines » du projet IDABC.

Normalisation[modifier | modifier le code]

Article détaillé : Norme.

Standards, recommandations et normes[modifier | modifier le code]

Sur les Technologies de l'information et de la communication, la sécurité des systèmes d'information et la sécurité des données :

Organismes majeurs publiant des normes[modifier | modifier le code]

Il existe différents organismes dont le rôle est de valider des normes ou recommandations que les industries, notamment, utiliseront comme support pour rendre leurs services et produits interopérables, et a fortiori, compatibles :

Pour l'Internet en particulier, les comité suivants n’émettent pas de normes directement mais établissent des standards industriels, mais ils travaillent très largement en liaison avec les comités de normalisation internationaux et nationaux :

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Références[modifier | modifier le code]

  1. BELGIF Belgian Government Interoperability Framework]
  2. Standards und Architekturen für eGovernment-Anwendungen (SAGA)
  3. e-Government Interoperability Framework
  4. CANOSS (Nederlandse Catalogus van Open Standaarden)
  5. le e-GIF (e-Government Interoperability Framework)