Interopérabilité en informatique
Un article de Wikipédia, l'encyclopédie libre.
L'amendement 341 à la Loi DADVSI (Droits d'Auteurs et Droits Voisins dans la Société de l'Information) qui n'a pas été retenu par l'Assemblée 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.
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 même en agriculture, on emploie des systèmes informatiques, qui aujourd'hui communiquent d'une entreprise à l'autre par l'intermédiare 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é 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.
Sommaire |
[modifier] Deux approches de l'interopérabilité
[modifier] Les normes ouvertes et communautaires
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 normes. 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 : IETF, W3C, ISOC, OASIS
- Exemples de normes ouvertes : XML, XHTML, PNG, Ogg Vorbis...
[modifier] Les formats fermés et propriétaires
À 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.
- Exemple : Les messageries instantanées propriétaires comme ICQ, Yahoo! Messenger ou MSN Messenger dont les protocoles ne sont pas compatibles et maintenus non-interopérables.
[modifier] Entre les deux : les normes à distribution restreinte
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 conséquents, 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 ISO, ANSI, AFNOR, UIT...
Parfois, c'est une très petite assemblée de personnes, voire une seule, qui décide d'une norme. Elle 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 USA et le Japon, il est également possible de devoir reverser des dividendes pour utiliser des normes, lorsque celles-ci sont brevetables. GIF (format d'image) et MP3 (format de son) en sont des exemples.
[modifier] Principe de l'interopérabilité en informatique
[modifier] Complexité de l'interopérabilité en informatique
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 acquises 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 grandissants 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.
[modifier] Les données véhiculées dans les interfaces
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 ». A 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 des métadonnées, dans le cadre RDF défini par le W3C en 1999.
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 à faciliter l'interopérabilité.
[modifier] Interfaces de programmation
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é).
[modifier] Aspects pratiques de l'interopérabilité
[modifier] Interopérabilité en bureautique
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 d'OpenOffice 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.
Voir : OpenDocument Metadata
[modifier] Interopérabilité en multimédia
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".
Voir : Le W3C recommande SMIL 2.0
[modifier] Interopérabilité multilingue
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.
Voir : UTF-8 for metadata
[modifier] Interopérabilité du courriel
Différents courrieleurs peuvent être utilisés pour consulter/envoyer des courriels. Ils doivent être compatibles entre eux. De nombreuses RFC dirigent cette interopérabilité.
- Exemple de logiciels: ThunderBird, KMail
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.
Voir : ERPA Workshop Antwerp, 15 avril 2004
[modifier] Interopérabilité du web
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 stantards, tel que HTTP, SVG ou JPEG.
De nombreuses RFC dirigent cette interopérabilité. Le W3C est un organisme travaillant dans ce domaine.
- Exemple de logiciels clients : Firefox, Microsoft Internet Explorer
- Exemple de logiciels serveurs : Apache
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 :
- du standard JMI (Java Metadata Interface),
- des interfaces OLAP,
- des services Web.
[modifier] Interopérabilité des systèmes de fichiers
Le système FAT est largement connu et répandu, ce format était notamment utilisé sur les disquettes. On peut donc considérer que le système FAT est interopérable.
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.
[modifier] Cadres d'interopérabilité
[modifier] Définition
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.
[modifier] Cadres d'interopérabilité nationaux
Voici quelques cadres d'interopérabilité nationaux :
- Belgique : le BELGIF (Belgian Government Interoperability Framework)
- France : le Référentiel Général d’Interopérabilité (RGI)
- Allemagne : Standards und Architekturen für eGovernment-Anwendungen (SAGA)
- Danemark : Danish e-Government Interoperability Framework
- Pays-Bas : CANOSS (Nederlandse Catalogus van Open Standaarden)
- Royaume-Uni : le e-GIF (e-Government Interoperability Framework)
[modifier] Cadre mondial
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 ».
[modifier] Cadre européen
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 n°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.
[modifier] Normalisation
[modifier] Standards et normes
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 :
Normes dans les systèmes d'information
[modifier] Organismes majeurs publiant des normes
Il existe différents organismes dont le rôle est de valider des normes que les industries, notamment, utiliseront comme support pour rendre leurs services et produits interopérables, et a fortiori, compatibles.
- ISO : Organisation internationale de normalisation
- ANSI : American National Standards Institute
- AFNOR : Association française de normalisation
- CEN : Comité européen de normalisation
- ITU : Union internationale des télécommunications
- CENELEC : Comité européen de normalisation électrotechnique
Pour l'Internet en particulier :
- IETF : Internet Engineering Task Force
- ISOC : Internet Society
- W3C : World Wide Web Consortium
- OASIS : Organization for the Advancement of Structured Information Standards