À retenir
- Valeur figée directement dans le code source.
- Nécessite de modifier le programme lui-même pour être changée.
- S'oppose à une gestion dynamique ou paramétrable des données.
L'expression « en dur » (ou hard-coded en anglais) désigne une donnée qui est inscrite directement et de manière figée dans le code source d'un programme. Imaginez que vous écriviez le prix d'un plat directement au marqueur indélébile sur une carte de restaurant au lieu d'utiliser une ardoise : pour changer le prix, vous devez refaire toute la carte.
Étymologie
Il s'agit d'une traduction littérale du terme anglais hard-coded. Le mot « dur » évoque la rigidité du support (comme le matériel informatique, le hardware) par opposition au « mou » ou flexible (le logiciel, le software). Historiquement, cela fait référence à des valeurs qui ne peuvent être modifiées qu'en réécrivant et en recompilant le programme.
Exemples d'usage
- Saisir un mot de passe directement dans le script d'une application (très risqué).
- Indiquer un chemin d'accès précis comme
C:DocumentsPhoto.jpgau lieu d'utiliser un dossier dynamique qui s'adapte à l'utilisateur. - Fixer une limite de 10 tentatives de connexion sans permettre à l'administrateur de modifier ce chiffre via un menu de réglages.
Cas d'usage
On rencontre ce concept principalement en développement logiciel et en administration système. Il intervient lorsqu'un développeur choisit la simplicité immédiate au détriment de la flexibilité future du logiciel.
Bonnes pratiques
Il est fortement recommandé d'éviter de coder « en dur » des informations sensibles (mots de passe, clés d'API) ou des paramètres susceptibles de varier (URLs de serveurs, taux de TVA). La bonne pratique consiste à utiliser des fichiers de configuration ou des variables d'environnement pour séparer la logique du programme de ses données variables.
Synonymes
Antonymes
Conseil
Quand vous développez, posez-vous toujours cette question : « Si cette valeur doit changer demain, devrai-je modifier mon code et relancer tout le projet ? ». Si la réponse est oui, essayez de sortir cette valeur du code pour la mettre dans un fichier de réglages.
Questions fréquentes
Est-ce toujours une mauvaise pratique ?
Pas forcément. On l'utilise pour des constantes universelles qui ne changeront jamais, comme le nombre de secondes dans une minute ou la valeur de Pi.
Pourquoi dit-on que c'est dangereux pour la sécurité ?
Si vous écrivez un mot de passe 'en dur', toute personne ayant accès au code peut le voir, et il devient impossible de le changer rapidement en cas de fuite.