Pendant longtemps, j'ai codé sans filet. Je passais des valeurs à mes fonctions en croisant les doigts. Je nommais mes variables "data" ou "truc". Je ne savais pas ce qui allait arriver, et quand ça cassait, je ne comprenais pas pourquoi. Puis j'ai découvert TypeScript. Et TypeScript m'a dit : "Dis-moi ce que tu attends. Avant que ça casse."

Le JavaScript, c'est la liberté totale

En JavaScript, tu peux tout faire. Passer un nombre là où on attend un texte. Appeler une fonction qui n'existe pas. Oublier un champ dans un objet. Le code ne dit rien. Il accepte tout. Et il casse en silence, plus tard, au pire moment. C'est excitant au début. Cette liberté. Ce "tout est possible". Mais à force, ça épuise. Parce que quand tout est permis, rien n'est sûr.

« Le JavaScript, c'est comme une relation sans règles. Ça peut être génial. Mais souvent, ça finit par faire mal. »

TypeScript : poser les mots avant

TypeScript, c'est JavaScript avec un contrat. Tu dis : "Cette fonction prend un string et retourne un number." Tu dis : "Cet objet a un title, un id, et une image." Tu poses les mots. Tu définis ce que tu attends. Et si quelqu'un, ou toi-même, essaie de passer autre chose, TypeScript te le dit. Avant. Pas après. Pas quand tout a crashé en production. Avant.

La première fois que TypeScript m'a souligné une erreur en rouge avant même que je lance mon code, j'ai ressenti un truc bizarre. Du soulagement. Quelqu'un veillait. Quelqu'un me disait : "Attention, ce que tu fais ne correspond pas à ce que tu as dit vouloir."

Typer, c'est formuler

Ce que j'ai compris avec TypeScript, c'est que typer son code, c'est formuler ses besoins. Quand j'écris "type Film = { id: number; title: string; year: string }", je ne fais pas que structurer des données. Je dis : voilà ce qu'un film est pour moi. Voilà ce que j'en attends. Voilà la forme que ça prend. Et cette clarté, elle change tout. Elle m'oblige à réfléchir avant de coder. À savoir ce que je veux avant de le construire.

« Combien de fois dans la vie on fonce sans savoir ce qu'on attend ? On dit oui sans définir les règles. On s'engage sans poser les limites. Et après, on s'étonne que ça ne marche pas. »

TypeScript, c'est le contraire. C'est dire : voilà mes attentes. Voilà mes limites. Et si ça ne correspond pas, on le sait tout de suite.

Les interfaces : définir la forme des choses

Une interface, c'est un modèle. Un patron. Tu dis : "Un article ressemble à ça. Il a un titre, un auteur, une date, un contenu." Et ensuite, chaque article que tu crées doit respecter ce patron. Pas de surprise. Pas de champ oublié. Pas de "ah mince, j'ai écrit 'titre' au lieu de 'title'". C'est rassurant. Comme avoir un cadre. Pas une prison, un cadre. Un espace défini dans lequel tu es libre de créer.

C'est comme les règles dans une coloc. On ne les pose pas pour brider. On les pose pour que tout le monde sache à quoi s'attendre. Et paradoxalement, c'est ça qui libère.

Les erreurs qui n'arrivent plus

Depuis que je code en TypeScript, j'ai moins d'erreurs. Pas parce que je suis devenue meilleure. Mais parce que les erreurs sont attrapées avant. Avant, je découvrais un bug en rafraîchissant ma page. Maintenant, je le vois dans mon éditeur, souligné en rouge, avec un message qui me dit exactement ce qui ne va pas. C'est pas de la magie. C'est de la prévention.

« Prévenir plutôt que guérir. Formuler plutôt que deviner. Dire ce qu'on attend plutôt qu'espérer que l'autre comprenne. »

Ce que TypeScript m'a vraiment appris

TypeScript, c'est pas juste un sur-ensemble de JavaScript. C'est une philosophie de la clarté. Celle qui dit : ne laisse pas l'ambiguïté s'installer. Celle qui dit : les mots comptent, même dans le code. Celle qui dit : tu as le droit d'exiger de la cohérence. Dans le code comme dans la vie, les non-dits créent du chaos. Les attentes floues créent de la douleur. Et la clarté, même quand elle demande un effort, crée de la confiance.

TypeScript m'a appris à dire ce que j'attends. Pas après coup. Pas quand c'est trop tard. Avant. Clairement. Sans m'excuser. Et ça, ça dépasse largement le code.
« Dire ce qu'on veut. Dire ce qu'on accepte. Dire ce qu'on refuse. TypeScript appelle ça du typage. Moi, j'appelle ça grandir. »

Et toi, tu codes avec ou sans filet ?

• • •