Compatibilité ascendante et descendante
# Compatibilité ascendante et descendante

La rétrocompatibilité, ou compatibilité descendante, est la compatibilité d'un produit vis-à-vis de ses anciennes ou précédentes versions ; la compatibilité ascendante ou postcompatibilité est la compatibilité d'un produit vis-à-vis des versions plus récentes, voire encore en phase de conception. Cette compatibilité peut concerner des appareils ou équipements électroniques, l'univers informatique, des jeux vidéo, des terminaux multimédias reliés ou non à Internet ou encore les logiciels système et les applications.

Pour mieux appréhender cette notion, on peut par exemple, faire figurer le produit observé sur une échelle de temps verticale, avec ses versions antérieures en dessous de lui et ses versions postérieures (ou futures) au-dessus de lui ; à partir du produit observé, l'accès aux versions plus anciennes se fait alors en « compatibilité descendante » et l'accès aux versions plus récentes, en « compatibilité montante » ou « ascendante ».

Les problèmes de compatibilité, tant ascendante que descendante sont fréquents en informatique ou dans les applications intégrées aux appareils et dispositifs numériques, en raison de la rapidité de l'évolution parallèle du matériel et des logiciels.

## Exemples de compatibilité descendante

Dans le domaine du jeu vidéo, une console peut parfois 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 du nouveau vers l'ancien format (cf. filtres des traitements de texte).

## Exemples de compatibilité ascendante

La compatibilité ascendante est plus complexe. Le cas idéal consiste à avoir un format « tolérant » aux changements, comme 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. On peut alors parfois entendre parler de « compatibilité restreinte ».

Pour effectuer des échanges de données grâce à des fichiers, on peut utiliser un format « universel » robuste.

