Compatibilité ascendante et descendante

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

La rétrocompatibilité, ou compatibilité ascendante, désigne la compatibilité d'un produit récent vis-à-vis de ses anciennes versions : le produit neuf prend en charge le produit ancien. La compatibilité descendante désigne la compatibilité d'un produit ancien vis-à-vis des versions plus récentes (voire encore en phase de conception) : le produit ancien prend en charge le produit neuf.

Les problèmes de compatibilité, tant ascendante que descendante, sont fréquents en informatique, qui connaît une évolution très rapide du matériel et des logiciels. La compatibilité ascendante est généralement proposée aux utilisateurs par des méthodes plus ou moins faciles à mettre en œuvre, alors que la compatibilité descendante est plus rare.

Exemples de compatibilité ascendante [modifier]

Dans le domaine du jeu vidéo, une console peut lire indifféremment des jeux spécifiquement créés pour elle comme ceux créés pour les machines de générations précédentes ; par exemple, la Playstation 2 de Sony est capable de lire également les jeux Playstation.

Les fichiers utilisés dans le domaine du stockage de données peuvent présenter des variations de format d'une version à une autre pour un même logiciel (notamment à cause de nouvelles fonctionnalités proposées à l'utilisateur) ; si le nouveau format de fichier est plus complet que l'ancien, le logiciel peut simplement « faire avec » les données manquantes, ou peut convertir le fichier de l'ancien vers le nouveau format (cf. filtres des traitements de texte).

Exemples de compatibilité descendante [modifier]

La compatibilité descendante est plus complexe. Le cas idéal consiste à avoir un format « tolérant » aux changements, comme par exemple le HTML : un navigateur qui rencontre une balise inconnue ou obsolète peut se contenter de l'ignorer : le rendu n'est alors pas conforme à l'intention de l'auteur, mais le lecteur dispose tout de même d'une partie des informations.

La solution la plus généralement adoptée consiste à permettre d'exporter vers un format plus ancien, au prix d'une perte possible de données (celles relatives aux nouvelles fonctionnalités du logiciel). On peut aussi avoir un format compact utilisé pour le traitement de données, et un format « universel » robuste (mais gourmand en ressources) qui permet les échanges.

Voir aussi [modifier]