Cette semaine, André Leclercq, tuteur pédagogique chez O’clock passionné par Rust, nous livre un article sur le typage dans la programmation avec un éclairage qui dérouille (rust, rouille, tout ça).
Qu’est-ce que le typage ?
Imaginez que vous utilisez différentes boîtes pour ranger vos affaires. Vous avez une boîte pour les livres, une pour les jouets, une pour les ustensiles de cuisine. Le typage, c’est comme étiqueter ces boîtes pour savoir exactement ce qu’elles contiennent et éviter de mettre un couteau dans la boîte des peluches (oui, on a connu meilleure idée).
Dans le monde de la programmation, le typage est un système qui permet de définir quel type de données peut être stocké dans une variable. Est-ce un nombre, un texte, une liste, une date ? Cela aide l’ordinateur (et vous) à mieux comprendre ce qu’on manipule, à éviter des erreurs (par exemple, tenter d’additionner une date avec une pizza), et à rendre le code plus fiable et facile à maintenir.
Certains langages, comme JavaScript, sont faiblement typés : ils vous laissent plus de liberté, mais parfois aussi plus de pièges. D’autres, comme TypeScript, ajoutent une couche de sécurité en vérifiant les types dès l’écriture du code.
Bref, le typage, c’est un peu comme les étiquettes sur vos cartons de déménagement : c’est un peu pénible à faire (surtout quand on a 250 cartons) mais ça vous évite de chercher les couverts dans le bac à chaussettes.
Le monde sans typage : JavaScript
JavaScript, à ne pas confondre avec Java, est le langage incontournable du web moderne. Il permet de rendre les sites interactifs et dynamiques et bien sûr, il est au cœur de nos formations de développeurs chez O’clock.
Bref, JavaScript est comme une maison où vous pouvez mettre n’importe quoi dans n’importe quelle boîte, et en changer le contenu à tout moment.

Si vous avez une variable « prix », aujourd’hui elle peut contenir le nombre 15, demain le texte « quinze euros », et après-demain une liste de prix !
Cette flexibilité est pratique pour débuter, mais imaginez si vous avez une grande maison (un grand programme) avec des centaines de boîtes… Comment vous souvenir de ce que chacune contient ?
Cette liberté peut vite devenir un problème.
Par exemple, si vous essayez d’additionner un nombre et un texte, JavaScript ne vous arrêtera pas, mais le résultat sera probablement incorrect. C’est comme si vous essayiez de mélanger de l’eau et de l’huile, ça ne fonctionne pas comme prévu.
Un premier pas vers l’ordre : TypeScript
TypeScript est aussi un langage de programmation, ou plus précisément un sur-ensemble typé de JavaScript. Cela signifie qu’il ajoute des fonctionnalités à JavaScript.
Donc, TypeScript est comme l’ajout d’étiquettes sur vos boîtes. Vous décidez à l’avance: « Cette boîte contiendra uniquement des livres », « Celle-ci uniquement des nombres », etc.
L’avantage ? Si quelqu’un essaie de mettre un jouet dans la boîte réservée aux livres, un gardien (le compilateur) l’en empêche avant même que le problème ne survienne.

TypeScript vous aide à :
-
- Éviter les erreurs courantes comme essayer de multiplier un texte
-
- Clarifier votre intention : « cette fonction attend un nombre, pas autre chose »
-
- Obtenir des suggestions intelligentes dans votre éditeur de code : « voici ce que vous pouvez faire avec ce type de données »
Cependant, TypeScript a ses limites. Il peut parfois être trop permissif (avec le type « any »), et rien n’empêche vraiment d’avoir des valeurs absentes (null ou undefined) qui posent problème plus tard.
La rigueur bienveillante : le typage avec Rust
Rust est un langage de programmation compilé, bas niveau mais moderne, conçu pour être à la fois ultra-performant et sûr. Il a été développé par Mozilla et se distingue par son système de gestion de la mémoire sans garbage collector ce qui évite tout un tas de bugs classiques (fuites mémoire, pointeurs suspendus…) sans sacrifier la vitesse. (Petite info Trivial Pursuit : le logo de Rust est un crabe 🦀)
Pour faire simple, Rust est comme un système où non seulement chaque boîte est étiquetée, mais où il existe des règles strictes sur qui peut accéder à ces boîtes et quand.
Imaginez que vous avez une boîte de crayons de couleur 🖍️.
Dans le monde Rust :
-
- Une seule personne peut posséder la boîte à un moment donné
-
- Vous pouvez prêter la boîte à quelqu’un, mais alors vous ne pouvez pas l’utiliser vous-même
-
- Plusieurs personnes peuvent regarder la boîte en même temps, mais personne ne peut ajouter ou retirer de crayons pendant ce temps
-
- Si une boîte peut être vide, vous devez explicitement vérifier son contenu avant de l’utiliser
Ces règles semblent contraignantes, mais elles apportent une tranquillité d’esprit incroyable !
-
- Jamais deux personnes ne modifieront la même boîte en même temps (évitant les conflits)
-
- Vous ne risquez jamais d’ouvrir une boîte vide en pensant qu’elle contient quelque chose
-
- Le système vérifie automatiquement que toutes les boîtes sont rangées correctement quand on n’en a plus besoin
Comment choisir ?
Pensez à ces trois approches comme à différents styles d’apprentissage de la conduite :
-
- JavaScript: Comme apprendre sur un terrain vague, sans code de la route. Facile pour débuter, mais risqué pour de longs trajets.
-
- TypeScript: Comme apprendre avec un instructeur qui vous suggère le bon chemin mais vous laisse faire quelques erreurs. Bon équilibre pour la plupart des voyages quotidiens.
-
- Rust: Comme un entraînement rigoureux où chaque manœuvre est parfaitement maîtrisée avant de passer à la suivante. Idéal pour les situations où la sécurité est primordiale, comme conduire un bus scolaire ou un camion de matières dangereuses.
Pour un débutant en JavaScript, TypeScript est souvent la prochaine étape naturelle. Il vous apprend à penser aux types sans bouleverser votre façon de coder. Rust peut venir plus tard, quand vous cherchez une fiabilité maximale ou des performances optimales.
Le plus important est de comprendre que le typage n’est pas une contrainte arbitraire, mais un outil qui vous aide à construire des programmes plus solides et maintenables, comme une bonne organisation vous aide à retrouver facilement vos affaires à la maison.
Et si vous ne savez pas par où commencer, vous savez où nous trouver !