Compatibilité ascendante et descendante
Un article de Wikipédia, l'encyclopédie libre.
Cet article est une ébauche concernant l’informatique.
Vous pouvez partager vos connaissances en l’améliorant. (Comment ?).
|
La compatibilité ascendante et descendante est un problème qui se pose en informatique avec l'évolution du matériel et des logiciels.
La rétro compatibilité ou compatibilité descendante, 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é ascendante, 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.
[modifier] Cas du matériel
Les logiciels fonctionnent sur du matériel.
- Compatibilité descendante
- Le logiciel peut fonctionner sur du matériel plus ancien.
- Compatibilité ascendante
- 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.
[modifier] Voir aussi
[modifier] 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é descendante
- Le logiciel peut lire des fichiers créés par une version plus ancienne.
- Compatibilité ascendante
- Le logiciel peut lire des fichiers créés par une version plus récente.
En général, la compatibilité descendante 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é ascendante 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.