Vous souhaitez créer ou mettre à jour votre site web ? Pour cela, faut-il, comme 50 % des sites d’entreprises, utiliser un CMS WordPress ou Drupal ? Ou développer votre site sur mesure ? Des langages de développement à la gestion de la base de données, nous vous expliquons comment mener à bien votre projet avec les technologies web les plus adaptées à vos besoins.
Les technologies du web évoluent sans cesse. Certaines disparaissent pour laisser la place à d’autres. Cependant, il existe des valeurs sûres. C’est le cas de PHP. Utilisé par 76,7 % des sites web dans le monde, selon W3Techs, ce langage est également à la base des CMS les plus prisés comme WordPress et Drupal.
En France, plus d’un site d’entreprise sur deux utilise l’un de ces deux systèmes de gestion de contenu, selon une enquête de l’agence web Kernix menée en 2023 auprès de 800 000 entreprises. Contrairement aux idées reçues, les CMS intéressent aussi bien les microentreprises et les PME que les grands groupes du CAC40.
Choisir une technologie de développement aura des impacts sur de nombreux aspects de votre projet de site ou d’application web. Les fonctionnalités, les performances, la sécurité et les coûts de développement et de maintenance en dépendent.
Bien commencer : les standards du web
Une technologie web de développement, appelé aussi une pile technologique (technology stack en anglais) se compose de langages de front end et de back end, d’un système de gestion de base de données (SGBD) et de tout l’écosystème qui les entoure (bibliothèques, API, frameworks, interfaces utilisateurs, etc.). Mais avant même de s’atteler à ces questions au moment de se lancer dans un projet, le plus important est de commencer par s’approprier l’environnement web. Et, plus spécifiquement, les standards du web.
On a, en effet, tout intérêt à écarter les technologies propriétaires pour leur préférer les standards du web. Le risque étant, autrement, de tomber dans le piège des navigateurs ne supportant pas toutes les extensions… Ces standards sont définis par le W3C (World Wide Web Consortium), l’organisme international dont c’est l’objectif premier. Les navigateurs respectueux des standards et de l’interopérabilité s’alignent sur ses recommandations.
HTTP, le protocole de base
À citer parmi ces technologies standardisées : les protocoles de communication entre le client et le serveur, parmi lesquels l’Hypertext Transfer Protocol (HTTP). Avoir une connaissance de base de ce fonctionnement est indispensable pour faire du développement. C’est pourquoi on dit que le premier « langage » à maîtriser, ou du moins à comprendre, est le HTTP.
Le protocole a beaucoup évolué depuis 1997 et le HTTP/1. En 2015, HTTP/2 a apporté le multiplexage des requêtes afin d’accélérer le chargement des pages web. Et comme l’intégralité des sites sont maintenant sécurisés grâce à TLS (HTTPS), cela entraîne des vérifications et un temps de chargement supplémentaires. Ce qui a conduit à créer HTTP/3 en 2018 afin d’améliorer encore la vitesse de chargement des pages sécurisées. Mieux vaut donc vérifier que votre serveur web gère HTTP/3, et à défaut HTTP/2 !
Côté client (front end) : HTML, CSS et JavaScript, les 3 standards
Cette partie « publique » d’échange entre le client et le serveur repose sur trois langages standards :
- HTML, un langage de balises. Il est utilisé pour structurer le contenu d’une page web (définir un titre, un paragraphe, des images/une vidéo, des liens…)
- CSS, un langage de feuille de style. Il permet de mettre en forme la page web
- JavaScript, le langage de programmation des interfaces web qui va notamment ajouter de l’interactivité.
Afin d’adapter sa page à tous les supports (smartphone, tablette, grand écran, système de navigation audio…), il est important de bien séparer le contenu de sa présentation. Par exemple, pour un lecteur d’écran, on recourra à une balise <strong> en HTML pour souligner l’importance sans connotation visuelle, et aux CSS pour les décorer habilement.
Côté client, le bon réflexe du développeur web consiste à utiliser le débogueur ou l’outil de développement du navigateur. Cela pour vérifier ce qui a été transféré en HTTP, le code source de la page, la performance réseau, les feuilles de styles… et faire avancer pas à pas les programmes en JavaScript.
Côté serveur (back end) : PHP s’impose
Côté serveur, en revanche, on a le choix des armes ! Puisqu’il n’est pas nécessaire d’utiliser un langage standardisé du web pour développer l’application, le panel des langages de programmation est vaste… mais les trois favoris des développeurs à l’heure actuelle sont PHP, Java et Python. Tout est affaire de préférence de la part du ou des développeurs. Sachant que les impératifs de performance et l’environnement technique du projet peuvent tout autant influencer le choix du langage.
À titre d’exemple, le PHP est très populaire pour le développement web. Notamment en raison des nombreux CMS open source en PHP disponibles tels que WordPress ou Drupal. Très recherchée pour sa simplicité, la solution du CMS permet de produire du contenu sans avoir de grandes compétences en développement. Il suffira ensuite de structurer ses pages en HTML… ou même d’utiliser des templates.
Frameworks et bases de données
Il est bien sûr possible d’assurer tout le développement du projet pour obtenir quelque chose de plus sophistiqué, personnalisé et adapté à des besoins spécifiques. On passera alors par des frameworks de développement back end. Là encore, chaque langage propose une large palette de frameworks, mais les plus utilisés aujourd’hui restent encore :
Tout est une question de préférences (et d’expérience) du développeur. Le plus important est de s’assurer de choisir un langage et son framework associé qui suivent les évolutions du marché.
Enfin, ces systèmes vont avoir besoin d’une base de données. Et là non plus, ce ne sont pas les options qui manquent. Il y a deux grandes familles de SGBD : les bases de type SQL (Structured Query Language) et de type NoSQL (à comprendre non pas comme « no SQL » mais plutôt « not only SQL). Les bases SQL sont très répandues, mais on observe depuis quelques années une mouvance vers le NoSQL. Un autre critère de sélection peut également être une préférence entre (ou une nécessité pour) une solution sous licence et payante (Oracle, SQL serveur) et une solution open source de type relationnelle (PostgreSQL, MySQL, MariaDB) ou NoSQL (MongoDB, Cassandra).