- Compatibilité descendante
-
Compatibilité ascendante et descendante
La rétrocompatibilité ou compatibilité ascendante, est la faculté, pour un logiciel, d'être compatible avec une de ses anciennes versions, ou une ancienne version des technologies qu'il emploie. Ce terme est ainsi employé dans le domaine du jeu vidéo lorsqu'on évoque le fait qu'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 ; c'est par exemple le cas de la Sony Playstation 2 capable de lire également les jeux Playstation.
Le contraire est la compatibilité descendante, c’est-à-dire la possibilité pour un produit d’être compatible avec des versions qui ne sont pas encore sorties, voire pas encore conçues. Cette seconde forme de compatibilité est bien plus rare et nécessite un travail de conception autrement plus important.
La compatibilité ascendante et descendante pose un problème en informatique avec l'évolution du matériel et des logiciels.
Cas du matériel
Les logiciels fonctionnent sur du matériel.
- Compatibilité ascendante
- Le logiciel peut fonctionner sur du matériel plus ancien.
- Compatibilité descendante
- Le logiciel peut fonctionner sur du matériel plus récent ; le matériel prend en charge les anciens logiciels.
La compatibilité se pose aussi entre les composants, et entre l'unité centrale et les périphériques.
Voir aussi
Cas des logiciels
Les données traitées sont enregistrées dans un fichier. D'une version à l'autre, un logiciel présente fréquemment de nouvelles fonctionnalités qui nécessitent une modification du format des fichiers ; dans certains cas, il y a même un changement total de structure du fichier (par exemple passage d'un « catalogue » au format texte à une base de données). Ainsi, un fichier créé par la dernière version d'un logiciel peut avoir une structure différente d'un fichier créé par une version plus ancienne.
- Compatibilité ascendante
- Le logiciel peut lire des fichiers créés par une version plus ancienne.
- Compatibilité descendante
- Le logiciel peut lire des fichiers créés par une version plus récente.
En général, la compatibilité ascendante est assurée. Si le nouveau format de fichier est plus complet que l'ancien, le logiciel peut simplement « faire avec » les données manquantes. Il peut également convertir le fichier de l'ancien vers le nouveau format.
La compatibilité descendante est plus complexe. Le cas idéal consiste à avoir un format « robuste » aux changement, comme par exemple le HTML : si un navigateur rencontre une balise inconnue, il se contente de l'ignorer, le rendu n'est alors pas conforme à l'intention de l'auteur, mais le lecteur dispose tout de même des informations. Les formats robustes sont en général peu compacts.
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 nouvelle 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 place, qui permet les échanges.
Catégories : Génie logiciel | Matériel informatique | Logiciel
Wikimedia Foundation. 2010.