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 Canadian Standards Association (CSA) et la Commission électrotechnique internationale (ISO/CEI 2382-18:1999)Norme ISO/CEI 2382-18:1999.
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é.
Introduction 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 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 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é
Les normes ouvertes et standards 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 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 de compétence. 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 À 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.
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 é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 leurs 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 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 informatiques pour un même résultat attendu ;