PHP, HTML, Javascript, Python, Java, C, C++, C#, Swift, Ruby, Go, Kotlin, Rust, Scala, Perl … Il y a une multitude de langages de programmation. Plus encore si on prend les frameworks ! Cette partie vous aide à vous y retrouver. Nous présenterons les langages « basiques » pour faire du web :
- HTML – CSS – SCSS
- Les langages de programmation au sens strict : Javascript, PHP et un très pratique, Python.
- Les bases de données : MySQL et MongoDB
Notez que ce ne sont pas les seuls langages, mais ce sont ceux qui sont, il me semble, les plus abordables et répandus. Je vous présenterai l’intérêt et le rôle de chacun de ces langages.
HTML, CSS et SCSS (pas vraiment de la « programmation »)
Le HTML est une syntaxe qui permet à votre navigateur de savoir quoi afficher et le CSS permet de modifier cet affichage. Par exemple, mettons une ligne de HTML : « <h1> Ceci est un titre </h1> ». Votre navigateur va automatiquement assigner des caractéristiques d’affichage à ce texte: une grande police, un espace en haut et un espace en bas. Le CSS permet de personnaliser cela: changer la police, les espacement, la couleur, etc.
En résumé: le HTML va être la structure de vos pages et le CSS leur mise en forme. C’est la brique de base de tout le web: les autres langages de programmation ont vocation à générer du HTML et du CSS. En apparence simples, ces langages ont quelques finesses qu’il faut connaître. Notez qu’on ne les qualifie en général pas vraiment de « langage de programmation ».
Il faut aussi parler d’une évolution intéressante du CSS : le SCSS (et le SASS). C’est une manière spécifique d’écrire du CSS. En deux mots: vous écrivez votre fichier SCSS, qui sera ensuite traité pour devenir du CSS normal. Je ne précise pas, sachez juste que c’est absolument merveilleux et rend le code beaucoup plus clair. Personnellement, je ne peux plus m’en passer.
Javascript: le langage omnipotent
Javascript a une place cruciale dans le web: c’est souvent lui qui gère les animations et interactivités des sites internet. Néanmoins il a pendant longtemps cantonné à l’affichage et à des effets éphémères. Ses capacités ont été largement développées ces dernières années et il peut maintenant être utilisé en « backend ». Ainsi, vous pouvez avoir l’ensemble de votre site codé uniquement en javascript.
Il y a de nombreux frameworks très puissants. Par exemple, React.js, Angular.js et Vue.js permettent d’avoir un site aussi rapide qu’une application, fluidifiant à l’extrême l’interactivité de votre site. On parle de « Single Page Application ». Néanmoins, elles ont comme inconvénient d’être incompatibles avec le SEO (il n’y a qu’une page vide qui s’affiche pour les moteurs de recherche) et d’avoir un premier contact assez lent (il faut charger tout le site). Pour résoudre ce problème, plusieurs solutions de prérendu existent : des pages HTML sont générées à partir du code. C’est par exemple ce que fait Next.Js.
En bref: on peut tout faire avec javascript. C’est aujourd’hui le principal langage dans le web. Néanmoins, PHP et notamment WordPress sont également très présents.
PHP: le moteur de WordPress
Une large partie du web utilise WordPress, un logiciel qui permet de concevoir des sites internets sans programmer. Et WordPress repose sur le PHP.
PHP reste donc l’un des principaux langages de programmation dans le web.
Python
Tous les langages que nous venons de voir peuvent manipuler des données, faire des calculs complexes, interagir avec vos fichiers. Néanmoins, python est spécialisé là-dedans. Vous avez donc de nombreuses bibliothèques préexistantes qui vous facilitent radicalement ces tâches. Vous l’utiliserez notamment pour :
- Le scraping
- L’extraction et retraitement de données
- L’automatisation (ex: création d’article avec l’IA)
Les bases de données : MySQL et MongoDB
Tous ces langages permettent de manipuler des données, mais il faut encore les stocker quelques part. C’est le rôle des bases de données.
On distingue les bases de données « SQL » et « NoSQL », pour « Not Only SQL ». Nous verrons plus en détail deux des plus populaires: MySQL (base « SQL ») et MongoDB (base « NoSQL »).
A notre niveau, les différences sont négligeables. En gros: choisissez celle qui vous plait. Par exemple, mon hébergeur O2Switch fournit de bases de données MySQL, ce sera donc mon choix. Je trouve néanmoins MongoDB plus intuitive et facile d’accès.