À retenir
- Permet au "neuf" de comprendre le "vieux".
- Assure la continuité du travail et l'utilisation du matériel existant.
- Évite l'obsolescence immédiate lors d'un changement de version.
La compatibilité descendante désigne la capacité d'un nouveau système (logiciel ou matériel) à fonctionner avec des éléments créés pour des versions plus anciennes. C'est comme si votre lecteur Blu-ray tout neuf acceptait toujours de lire vos vieux DVD : le matériel récent comprend et gère le langage du passé.
Étymologie
Le terme se compose de « compatibilité » (du latin compati, souffrir avec, signifiant ici l'aptitude à s'accorder) et de « descendante », car on descend l'échelle chronologique pour revenir vers d'anciennes normes. Le synonyme « rétrocompatibilité » utilise le préfixe latin retro (en arrière).
Exemples d'usage
- Une console PlayStation 5 qui permet de lancer des jeux achetés initialement pour la PlayStation 4.
- Le logiciel Microsoft Excel 2023 capable d'ouvrir et de modifier un tableau créé avec la version de 1997.
- Un port USB-C qui, via un adaptateur, communique parfaitement avec une souris de génération précédente.
Cas d'usage
Ce concept est omniprésent dans le développement de systèmes d'exploitation (Windows, macOS) pour s'assurer que les logiciels des utilisateurs ne cessent pas de fonctionner après une mise à jour. Il intervient aussi dans les formats de fichiers et les protocoles réseau.
Bonnes pratiques
Pour un développeur, maintenir la compatibilité descendante évite de perdre des utilisateurs lors d'une mise à jour. Toutefois, il est conseillé de signaler clairement les fonctions anciennes qui finiront par disparaître (mécanisme de deprecation) pour inciter à la modernisation sans tout casser brutalement.
Synonymes
Antonymes
Conseil
Si vous travaillez sur des projets à long terme, privilégiez des technologies réputées pour leur excellente compatibilité descendante afin d'éviter de devoir tout réécrire à chaque mise à jour du système.
Questions fréquentes
Quelle est la différence avec la compatibilité ascendante ?
La descendante permet au nouveau de lire l'ancien, tandis que l'ascendante est la capacité d'un vieux système à anticiper et accepter des données provenant d'une version future.
Pourquoi la compatibilité descendante disparaît-elle parfois ?
Parce qu'elle alourdit les logiciels et peut poser des problèmes de sécurité en conservant de vieux codes vulnérables.