La création d’un site internet demande dans tous les cas la rédaction d’un cahier des charges. Lors de cette première phase, l’une des décisions les plus engageantes est sans nul doute le choix du ou des langages de programmation.
Un site internet demande en effet de mettre en action plusieurs langages de programmation : les langages dits « front-end » et les langages dits « back-end ». Les premiers permettent d’afficher et mettre en forme les pages web dans les navigateurs des internautes alors que les seconds permettent de générer le contenu et d’offrir des fonctionnalités d’administration du site.
Au commencement d’internet, les langages « back-end » n’étaient pas encore utilisés. Les sites internet étaient donc statiques. Leurs administrateurs devaient créer les pages et les publier une à une. Aucune interaction avec le site n’était possible pour le visiteur. La maintenance de ces sites étaient particulièrement chronophage : sans génération automatisée des pages grâce à un langage back-end, il fallait par exemple modifier toutes les pages d’un site si l’on voulait changer le titre dans un menu.
Avant de détailler les différents langages « back-end », nous rappelons succinctement dans la partie suivante, quels sont les langages dits « front-end ».
Les Langages Web Front-End
Les trois principaux langages front-end sont le HTML, le CSS et le Javascript. Quel que soit le langage back-end utilisé, ces trois langages sont obligatoirement utilisés pour présenter le contenu aux visiteurs.
Tous les navigateurs internet sont en effet capables de décoder ces langages et ensuite d’afficher une page correctement mise en forme.
HTML
Le HTML (Hypertext Markup Language) est un langage de programmation par balisage. Le contenu d’une page est enregistré et structuré dans ce fichier. Des balises spécifiques permettent d’inclure d’autres fichiers comme par exemple des images, des feuilles de style ou encore des fichiers javascript. La fonctionnalité essentielle de ce langage est la possibilité de créer des liens entre deux pages internet. Ces liens sont dits « hypertextes ».
CSS
Le CSS (Cascading Style Sheet ou feuille de style en cascade en français) permet de mettre en forme une page internet écrite au format HTML. Ce langage permet de sélectionner dans une page internet un élément et de lui appliquer une mise en forme. Le CSS est utilisé par exemple pour définir la couleur du texte d’un paragraphe, la taille de la police d’écriture d’un élément ou encore le dimensionnement d’un bloc.
Javascript
Le Javascript est un langage de programmation permettant d’ajouter du dynamisme à une page HTML. Il est utilisé par exemple pour créer des menus complexes ou modifier un élément d’une page après le clic d’un utilisateur. Longtemps cantonné au front-end, le Javascript est depuis peu un langage en vogue pour la programmation back-end avec l’apparition des serveurs Node JS.
Langages Back-End
Si les langages front-end permettent d’afficher le contenu d’un site internet, les langages de programmation back-end ont, quant à eux, pour mission de générer et administrer les textes, les utilisateurs, les newsletters… en s’appuyant sur les données qu’héberge une base de données.
Une petite dizaine de langages de programmation peuvent aujourd’hui être utilisés pour construire le moteur d’un site internet. Ils présentent tous des avantages et des inconvénients.
Au début de l’ère moderne d’internet, le choix du langage de programmation était crucial. Les langages n’étaient pas aussi matures qu’aujourd’hui et il fallait déterminer lequel était le plus adapté au développement des fonctionnalités d’un site.
Depuis plusieurs années, les développeurs n’ont plus besoin – à part pour des projets très spécifiques – de coder l’ensemble des fonctionnalités d’un site internet. De nombreux logiciels – pour la plupart open source et/ou gratuits – sont disponibles et permettent de créer un site internet complexe en quelques clics sans avoir à entrer – du moins dans un premier temps – la moindre ligne de code.
Si vous souhaitez par exemple créer un blog ou une boutique vous pouvez opter pour des logiciels déjà développés comme WordPress ou Prestashop.
Le nombre de logiciels capables de créer un site internet prêt à l’emploi est tel que le choix du langage de programmation ne doit plus être réalisé pour la création du site mais plutôt selon son hébergement.
Un site internet, pour être accessible aux internautes doit en effet être présent sur un serveur web, un « super » ordinateur relié au réseau internet en permanence. De plus, ce serveur doit être en capacité de décoder le langage de programmation du site internet et ainsi de pouvoir générer ses pages au format HTML.
Dans 90% des projets de site web, les deux critères de sélection d’un langage pour le back-end ne sont pas donc pas les capacités ou les performances du langage back-end mais plutôt les applications disponibles et le coût de l’hébergement.
En appliquant ces deux critères de sélection sur la petite dizaine de langages de programmation web, un langage web tire son épingle du jeu :
il s’agit de PHP (Hypertext Preprocessor).
Le nombre de logiciels existants et open-source développé en PHP est considérable. Il est ainsi possible de créer tout type de site internet en quelques clics : des sites classiques avec des systèmes de gestion de contenu comme WordPress, Drupal ou Joomla, des boutiques en ligne avec Woo-Commerce, Magento ou Prestashop, ou encore par exemple des forums avec PhpBB.
De plus, PHP est proposé par tous les hébergeurs et son coût est souvent le plus faible.
PHP dispose enfin d’une communauté très active. Il est possible de trouver des scripts prêts à l’emploi pour ajouter des fonctionnalités au site internet. Il est également très rapide et simple de trouver une agence ou un freelance pour un développement PHP spécifique.
Si PHP est à privilégier pour le développement de site internet « standard », d’autres langages peuvent le remplacer ou combler certaines de ses faiblesses. Par exemple, si un site internet a une contrainte temps réel, il est recommandé de s’orienter vers un serveur Node JS où l’on utilise le langage de programmation Javascript. Pour des développements « from scratch » où l’ensemble des fonctionnalités du site doivent être développées, il peut être intéressant de choisir Ruby, qui est un langage présentant moins de rupture de compatibilité entre deux versions que PHP.
Conclusion
Si le choix du langage de programmation d’un site internet reste toujours important, la grille de sélection est aujourd’hui différente par rapport au début de l’ère des sites internet dynamiques. L’étude des logiciels existants et le coût de l’hébergement du langage figurent aujourd’hui en tête de la grille de sélection dans 90% des projets.
Quand ces critères sont prédominants, alors le choix de PHP devient une évidence.