Multi-plates-formes

Multi-plates-formes

Multiplate-forme

Un logiciel multiplate-forme ou multiplateforme[1] est un logiciel conçu pour fonctionner sur plusieurs plates-formes, c’est-à-dire le couple liant ordinateur et système d’exploitation. En anglais on parle souvent de « cross-platform software » ou « platform independent software » ou encore de « multi-platform software ».

De nombreux langages de programmation sont multiplate-forme. En effet, il suffit de développer un compilateur destiné à générer un code exécutable compréhensible par chacun des processeurs qu’on désire utiliser.

Par exemple, un logiciel fait avec la bibliothèque graphique GTK+ sous Linux ne fonctionnera pas tel quel sous Windows, même si l’Architecture est la même. Même si le langage est le C, le fonctionnement interne de la gestion de l’affichage est différent. On touche ici à la notion de portabilité d’un programme.

Le problème se pose rapidement aux développeurs : choisir une plate-forme pour un programme revient à restreindre l’audience de celui-ci. Ce problème se complexifie d’autant plus que le secteur informatique tend à se diversifier, tant dans le système d’exploitation (Linux, Mac OS, etc.) que dans le matériel (GSM, PDA, etc.).

Sommaire

Différentes solutions techniques

Pour permettre aux logiciels d’avoir le plus d’audience possible on peut recourir à trois techniques :

  • les langages compilés avec des bibliothèques multiplate-forme,
  • les langages interprétés,
  • les langages semi-interprétés.

Langages compilés avec des bibliothèques multiplate-forme

La vitesse d’exécution et l’intégration sont des facteurs importants dans beaucoup de développements. Il est alors nécessaire de passer par les langages compilés. Les différents systèmes gérant différemment de nombreuses choses, on doit passer par des bibliothèques multiplate-forme pour obtenir l’abstraction nécessaire à une programmation multiplate-forme.

Un autre avantage des programmes compilés est que ceux-ci sont directement utilisables chez l’utilisateur final. En fournissant la bibliothèque avec le produit, il n’est pas nécessaire d’utiliser un interpréteur ou une machine virtuelle.

Il y a tout de même un inconvénient à l’utilisation de programmes compilés multiplate-forme : la distribution. Il faut en effet compiler une version du programme pour chaque système d’exploitation et pour chaque architecture, et ceci à chaque version du programme. Dans le cas des logiciels open source cela ne pose pas vraiment de problème car il suffit de fournir le moyen de compiler sur chaque système d’exploitation.

Parmi les bibliothèques multiplate-forme les plus populaires, citons wxWidgets et Qt. Ces deux bibliothèques fournissent un framework très complet qui permet de développer une application une fois pour de nombreux systèmes (Linux, Mac OS, Windows, Windows CE, Palm OS, etc.).

Les langages interprétés

Les langages interprétés proposent une autre approche du problème. De tels langages sont interprétés à chaque fois que le programme est utilisé, du coup si l’interpréteur existe pour une plate-forme donnée, le programme fonctionnera sur cette plate-forme. Néanmoins, l’utilisation n’est aussi facile que dans le cas où tout ce qui est utilisé dans le programme fait partie de bibliothèques standards. Pour utiliser des fonctions avancées, il faut se rabattre sur des bibliothèques multiplate-forme (par exemple encore wxWidgets et Qt).

La distribution de logiciels en langage interprété est beaucoup plus facile mais il faut souvent fournir l’interpréteur adéquat. Un autre problème est que les sources du logiciel sont fournies, cela peut poser des problèmes dans le cas où le code contient un procédé qui doit rester secret.

Les langages semi-interprétés

L’approche la plus récente pour créer des applications multiplate-forme est l’utilisation de langages semi-interprétés. Ces langages sont compilés vers un code intermédiaire qui est interprété. Cette approche présente les mêmes avantages que les codes interprétés mais possède une plus grande vitesse d’exécution.

Le principal exemple est le langage Java de Sun Microsystems. Ce langage est compilé en bytecode Java qui est ensuite interprété par une machine virtuelle. Le bytecode peut être exécuté sur chaque plate-forme où la machine virtuelle est implémentée. Malgré l’utilisation de codes semi-interprétés, Java a la réputation d’être lent. Le langage Java peut être compilé en code natif (par exemple avec GCJ) mais il perd alors sa portabilité. La distribution de Java pose le problème de la machine virtuelle, il faut distribuer celle-ci avec le logiciel, ce qui n’est pas toujours très facile.

Note

  1. En français, le préfixe « multi » doit être attaché au radical ; le mot devrait donc être « multiplate-forme » ; cependant, les rectifications de l’orthographe proposées par le Conseil supérieur de la langue française dans son rapport de 1990 suggèrent le remplacement du trait d'union de certains mots composés par une soudure, donnant la graphie « multiplateforme ».
  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Multiplate-forme ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Multi-plates-formes de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • Plates-formes C2 — Liaison 16 La Liaison 16 (L16) est un standard de liaison de donnée de l OTAN pour l échange d informations tactiques entre des unités militaires. Elle est définie par le STANAG 5516. Sa mise en œuvre opérationnelle est définie dans le document… …   Wikipédia en Français

  • Les plates-formes C2 — Liaison 16 La Liaison 16 (L16) est un standard de liaison de donnée de l OTAN pour l échange d informations tactiques entre des unités militaires. Elle est définie par le STANAG 5516. Sa mise en œuvre opérationnelle est définie dans le document… …   Wikipédia en Français

  • Les plates-formes Non-C2 — Liaison 16 La Liaison 16 (L16) est un standard de liaison de donnée de l OTAN pour l échange d informations tactiques entre des unités militaires. Elle est définie par le STANAG 5516. Sa mise en œuvre opérationnelle est définie dans le document… …   Wikipédia en Français

  • Jeu de plates-formes — SuperTux, un jeu de plates formes à défilement parallaxe, inspiré de Super Mario Bros …   Wikipédia en Français

  • Tableau des Plates-formes sous licence libre — Cet article dresse un Tableau des Plates formes sous licence libre compatible LMS. Sommaire 1 les normes LMS 2 Tableau des caractéristiques des plateformes 3 Liste des Plates formes sous licence libre …   Wikipédia en Français

  • Multi-user dungeon — Image de LostSouls. Scène de combat contre un ennemi …   Wikipédia en Français

  • Multi-Video System — Neo Geo MVS Pour les articles homonymes, voir Neo Geo. Le Neo Geo MVS (Multi Video System) est un système de jeux vidéo pour borne d arcade compatible JAMMA destiné aux salles d arcade et créé par la société japonaise SNK en 1990. Parallèlement,… …   Wikipédia en Français

  • Multi Video System — Neo Geo MVS Pour les articles homonymes, voir Neo Geo. Le Neo Geo MVS (Multi Video System) est un système de jeux vidéo pour borne d arcade compatible JAMMA destiné aux salles d arcade et créé par la société japonaise SNK en 1990. Parallèlement,… …   Wikipédia en Français

  • Multi-plate-forme — Multiplate forme Un logiciel multiplate forme ou multiplateforme[1] est un logiciel conçu pour fonctionner sur plusieurs plates formes, c’est à dire le couple liant ordinateur et système d’exploitation. En anglais on parle souvent de « cross …   Wikipédia en Français

  • Multi-plateforme — Multiplate forme Un logiciel multiplate forme ou multiplateforme[1] est un logiciel conçu pour fonctionner sur plusieurs plates formes, c’est à dire le couple liant ordinateur et système d’exploitation. En anglais on parle souvent de « cross …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”