Porter

Définition, exemples et bonnes pratiques

À retenir

  • C'est une adaptation technique, pas une réécriture complète.
  • Le but est de conserver les mêmes fonctionnalités sur une nouvelle plateforme.
  • La difficulté dépend de la différence entre l'environnement source et l'environnement cible.

Le terme porter désigne l'action d'adapter un programme informatique pour qu'il puisse fonctionner sur un environnement différent de celui pour lequel il a été conçu à l'origine. Imaginez que vous deviez traduire un manuel d'utilisation du français vers l'anglais : le contenu reste le même, mais la forme s'ajuste pour être comprise par un nouveau public (ici, un autre système d'exploitation ou un nouveau type de processeur).

Étymologie

Issu du latin portare (« transporter »), le terme a évolué en informatique sous l'influence de l'anglais to port. Il évoque l'idée de « transporter » le code source d'une plateforme à une autre. Ce concept est intimement lié à la portabilité, qui mesure la facilité avec laquelle un logiciel peut être déplacé d'un système à un autre.

Exemples d'usage

  • Jeu vidéo : Un studio décide de porter un jeu initialement sorti sur console PlayStation pour qu'il soit jouable sur PC.
  • Logiciel pro : Adapter une application de gestion qui ne fonctionnait que sur Windows pour qu'elle devienne disponible sur macOS.
  • Architecture : Compiler un logiciel conçu pour les processeurs Intel (x86) afin qu'il tourne nativement sur les nouvelles puces Apple (ARM).

Cas d'usage

Ce concept intervient principalement lors de la migration de systèmes, du développement multiplateforme ou lors du renouvellement de matériel informatique. Il permet d'étendre l'audience d'un logiciel sans avoir à le réécrire intégralement depuis zéro.

Bonnes pratiques

Pour faciliter le portage futur d'un logiciel, il est recommandé d'utiliser des langages de programmation standards et d'éviter les fonctions trop spécifiques à un système d'exploitation (les dépendances propriétaires). L'utilisation de couches d'abstraction ou de bibliothèques universelles simplifie grandement cette tâche.

Synonymes

adapter migrer transposer convertir

Antonymes

spécialiser verrouiller

Conseil

Si vous débutez en programmation et que vous souhaitez que votre projet soit facile à porter, essayez de séparer la logique de votre application (le calcul) de l'interface graphique ou des accès aux fichiers, car ce sont ces derniers éléments qui changent le plus d'un système à l'autre.

Questions fréquentes

Quelle est la différence entre porter et émuler ?

Porter consiste à modifier le code pour qu'il tourne nativement sur le nouveau système. Émuler consiste à créer un logiciel qui 'imite' l'ancien système pour y faire tourner le programme sans le modifier.

Est-ce que porter un logiciel prend beaucoup de temps ?

Cela dépend de la qualité du code d'origine. Si le code est 'propre' et standardisé, le portage est rapide ; s'il utilise des fonctions très spécifiques au matériel, cela peut être complexe.