Découvrez la démarche d'éco-conception et de réalisation de notre site internet

Développement

Coder en dur ou « hardcode » : pourquoi est-ce déconseillé ?

Publié le 22 mai 2024 - 6 minutes de lecture

Le codage en dur, bien que parfois bénéfique pour des performances optimales, est généralement déconseillé en raison de sa rigidité, de la complexité de maintenance, du risque accru de bugs et de problèmes de sécurité, offrant peu de flexibilité et compliquant les mises à jour, tandis que l'utilisation de CMS ou de frameworks permet une personnalisation plus aisée et sécurisée.

Le codage est essentiel pour créer un site Internet, une application, ou tout logiciel informatique. C'est lui qui définit les instructions et les règles qui vont être données à un ordinateur pour qu'il exécute différentes tâches. Pour ce faire, le développeur web a le choix entre le code en dur, ou l'utilisation d'un CMS ou d'un framework. Lemon Interactive vous explique pourquoi le code en dur est plutôt déconseillé.


Illustration d'une personne devant un ordinateur qui code.
Illustration d'une personne devant un ordinateur qui code.

Code en dur : qu'est-ce que c'est ?

Le codage en dur, ou "hardcoding", consiste à saisir des valeurs sûres directement dans le code source d'un programme, manuellement. Cette technique est moins flexible que de stocker ces valeurs dans un fichier de configuration ou une base de données.

Pour illustrer le concept de hardcoding, prenons un exemple imagé. Imaginons que vous souhaitez donner des instructions à un robot (aller tout droit, tourner à gauche...). Avec le codage en dur, c'est comme si vous écriviez les règles au feutre indélébile directement sur le corps du robot : c'est difficile à modifier ou à supprimer. L'alternative serait plutôt d'écrire les instructions sur un papier, que vous placeriez dans la main du robot. En cas de besoin de modification, il suffit alors de lui reprendre le papier et lui en donner un autre. Cette méthode est similaire à ce que propose le codage avec un CMS ou un framework, offrant un niveau de flexibilité supérieur.


Les avantages du codage en dur

Dans de rares cas, le code en dur peut avoir des avantages. Mais, de manière générale, le profit ne tient qu'à l'expertise du développeur web et à l'optimisation extrême du code :


  • Le code en dur permet de s'assurer de ne pas supprimer ou modifier accidentellement des valeurs essentielles ;
  • Dans de rares cas, le hardcoding peut simplifier le code et améliorer sa sécurité.

Mais, face à ses faibles arguments, la majorité des développeurs web déconseillent la méthode en raison des nombreux inconvénients du code en dur.


Illustration de deux personnes qui codent en dur sur leur ordinateur.
Illustration de deux personnes qui codent en dur sur leur ordinateur.

Les inconvénients du codage en dur

Selon les développeurs web de Lemon Interactive, vous devriez éviter le code en dur pour plusieurs raisons.


Un gros manque de flexibilité


Si vous mettez le code en dur sur le site, ça va être difficile à maintenir et à modifier par la suite. Par exemple, si vous prenez un header et un footer, et que vous faites le html page par page, vous allez avoir votre code du header et du footer sur chaque page. C'est donc du code qui se répète, et si un jour vous voulez faire la moindre modification, il va falloir la faire sur chacune des pages.


Une diminution des performances du site web ou de l'application


En codant en dur, il va y avoir énormément de redondances, et vous aurez donc beaucoup d'éléments qui peuvent potentiellement être inutiles, voire même pas utilisés du tout.


Une maintenance compliquée


Une fois que vous avez effectué le hardcoding, il est difficile de revenir en arrière. En effet, les valeurs ou les paramètres, qu'ils concernent des titres, des types spécifiques de fichiers, ou même des classes dans votre code, sont parfois complexes à modifier, ce qui peut compliquer la maintenance et les mises à jour. Par exemple, si vous avez codé en dur des informations sensibles ou des secrets d'accès, ou intégré des images et des vidéos de manière statique, toute modification nécessitera une intervention directe dans le code source.


Illustration de deux personnes qui réalisent la maintenance du site.
Illustration de deux personnes qui réalisent la maintenance du site.

Un risque de bug élevé


Le code en dur se fait généralement manuellement, et le développeur web n'a pas vraiment le droit à l'erreur. À la moindre petite valeur mal codée, l'erreur de programmation est vite arrivée. Par exemple, si un développeur intègre des titres, des types spécifiques de fichiers ou des classes dans le code source et commet une erreur, cela peut compromettre la fonctionnalité entière du système. De même, les secrets ou informations sensibles codés en dur exigent une précision extrême, car toute erreur pourrait exposer le système à des risques de sécurité.


Une sécurité mise à mal


Il peut arriver que vous codiez en dur des données sensibles, comme des secrets d'entreprise ou des informations personnelles. En cas de diffusion publique de votre code, vous pouvez vous exposer à des problèmes de sécurité. Par exemple, si vous encodez des titres, des types spécifiques de fichiers, ou des images sans les protections nécessaires, les informations pourraient devenir facilement accessibles.


Une technique difficile à appliquer


En plus d'offrir peu d'avantages, le code en dur demande aussi beaucoup d'expertise en développement web et une vigilance extrême. Par ailleurs, il est difficile de travailler en équipe avec le hardcoding, et les versions du code source sont souvent difficiles à gérer. Par exemple, la gestion de versions de titres, de types spécifiques de fichiers, ou d'images codés en dur peut créer des conflits lors des mises à jour. De plus, les informations sensibles ou les secrets d'entreprise intégrés directement dans le code nécessitent des mesures de sécurité accrues, particulièrement dans des environnements comme ceux de Microsoft, où les standards de sécurité sont élevés.


Codage en dur : quelle alternative ?

Mais alors, si vous ne voulez pas vous casser la tête à coder en dur, quelle est l'alternative ? Vous pouvez tout simplement utiliser un framework ou un CMS, avec des plugins et des modules qui vous permettront toutes les configurations et personnalisations imaginables, y compris l'ajout de vidéos, la gestion des titres, et l'insertion de différents types d'images et fichiers.

Cette technique de paramétrage a l'avantage de ne pas modifier le code source, et de pouvoir ainsi modifier ou supprimer des valeurs sans difficulté. Vous serez alors libre de personnaliser des paramètres très spécifiques, afin d'obtenir le résultat souhaité. Par exemple, ajuster les classes CSS pour une mise en page optimisée ou configurer les niveaux d'accès pour protéger des informations ou secrets critiques.

L'utilisation d'un CMS ou d'un framework est très facile, et ne nécessite pas forcément de connaissances en développement web. Cependant, pour obtenir un site plus complet et parfaitement optimisé, notamment pour répondre aux standards de Microsoft ou autres grandes plateformes, vous devriez faire appel à des développeurs web expérimentés.


Illustration d'une personne qui utilise une alternative au codage en dur
Illustration d'une personne qui utilise une alternative au codage en dur

Ne pas coder en dur : quels avantages et inconvénients ?

Chez Lemon Interactive, l'équipe de développeurs fait le choix de ne pas coder en dur sur les sites de ses clients. Et bien que l'utilisation d'un framework ou d'un CMS crée une dépendance et limite le contrôle sur le site web, les avantages de ne pas coder en dur sont bien trop nombreux.

  • Les mises à jour sont très faciles ;
  • La création et la gestion des sites web sans codage en dur sont très intuitives et faciles à prendre en main sur les CMS ou les frameworks ;
  • Les personnalisations sont très étendues et ne limitent pas du tout le développeur dans son projet ;
  • Le développement web est très rapide ;
  • Le risque de bug est moins élevé qu'avec le hardcoding.

Coder en dur avec WordPress : une bonne idée ?

Si vous aimez vous compliquer la vie, vous allez peut-être vous demander s'il est possible de coder en dur avec WordPress. Autrement dit, est-il possible de modifier le code source du CMS, de ses thèmes ou de ses plugins, plutôt que de se contenter des fonctionnalités de configuration et de personnalisation ?

Dans les faits, cela est parfaitement possible. Mais vous pourriez rapidement être confronté à des problèmes qui mettront en péril votre site web ou votre appli :

  • Vos différentes configurations du code source de WordPress peuvent avoir un impact sur les thèmes et les plugins, et entraîner des erreurs ou des conflits ;
  • Les modifications apportées peuvent ne pas être sécurisées, et donc compromettre la sécurité de votre site.

En d'autres termes, le codage en dur sur WordPress n'est clairement pas une bonne idée, et mieux vaut se contenter d'exploiter au maximum les fonctionnalités du CMS.

Lemon Interactive ne peut que vous recommander d'éviter le code en dur, et de passer par des CMS ou des frameworks, de type WordPress ou PrestaShop, qui utilisent des plugins et des modules. Cela permet d'obtenir un site plus flexible et plus facile à maintenir dans le temps. C'est d'ailleurs ce que nous appliquons pour chacun de nos clients.


On gère la sécurité de votre site

CONTACTEZ-NOUS

Le "code en dur" fait référence à l'insertion directe de données ou de paramètres dans le code source d'un programme, de manière statique, qui ne permet pas de modification simple sans retravailler le code. Ce type de codage réduit la flexibilité et la réutilisabilité du code.

Je développe des sites et des business !

Photo de Maxime Lacheré

Sorti de la tête de

Maxime Lacheré

Dans la même thématique...

Animation web : introduction au développement avec CSS, JavaScript et SVG

22 mai 2024

Les 5 avantages de TypeScript face à JavaScript

16 mai 2024

Préprocesseur CSS : avantages et inconvénients entre le Sass et le Less

6 mai 2024