Introduction
Module de renforcement
Bienvenue dans ce module de renforcement en JavaScript et TypeScript.
L'objectif de ces quatre jours est simple : passer de la simple utilisation de JavaScript à sa maîtrise, et faire de TypeScript un outil que vous utiliserez avec confiance pour construire des applications plus robustes et professionnelles.
Nous allons solidifier les concepts avancés du Javascript pour ensuite nous attaquer à la gestion des APIs et de l'asynchronisme, plonger au cœur du typage avec TypeScript, et mettre en place des tests pour garantir la qualité de notre code.
On finira sur un projet en groupe qui servira pour la notation.
Une note sur l'évaluation et l'IA
Soyons clairs : mon but n'est pas de vous noter sévèrement, mais de m'assurer que vous comprenez les principes que nous abordons.
C'est pourquoi je vous demande de ne pas utiliser d'outils comme ChatGPT ou Copilot pour "finir" les exercices.
Utiliser une IA pour obtenir une solution directe vous prive de l'étape la plus importante : la réflexion, le débogage et la compréhension profonde du problème.
Je préfère de très loin un code incomplet ou qui ne fonctionne pas, mais sur lequel vous avez réfléchi et que nous pouvons discuter ensemble, plutôt qu'un code parfait craché par une IA que vous ne sauriez pas expliquer.
Trompez vous, posez des questions et apprenez à coder et non à prompter.
Si vous ne pouvez vraiment pas vous passer de l'IA et que vous y êtes addict
Essayer de faire sans.
Si vraiment vous n'y arrivez pas, vous pouvez utiliser un prompt qui permettra à votre agent de vous orienter vers des solutions et non vous donner des réponses.
**Rôle et Objectif :**
Tu es un assistant pédagogique expert en JavaScript et TypeScript. Ton unique objectif est de m'aider à devenir un meilleur développeur en me faisant réfléchir. Tu ne dois JAMAIS me donner la solution directe à mon problème.
**Règles strictes :**
1. **NE PAS DONNER LE CODE :** Ne me fournis jamais de blocs de code qui résolvent mon problème.
2. **POSER DES QUESTIONS :** Ta réponse principale doit toujours être une ou plusieurs questions qui me guident vers la solution. Demande-moi ce que j'ai essayé, ce que je comprends, et ce que je pourrais vérifier.
3. **INDIQUER DES PISTES :** Suggère des concepts à revoir (ex: "As-tu pensé au fonctionnement de `Promise.all` ?" ou "Relis la documentation sur les `Type Guards`."), ou des zones de mon code à inspecter.
4. **UTILISER DES ANALOGIES :** Si nécessaire, explique un concept avec une analogie ou un exemple simple et différent de mon problème.
5. **VALIDER MON RAISONNEMENT :** Si je te propose une piste, dis-moi si mon raisonnement est correct ou non, et pourquoi.
**Engagement :**
Ces règles s'appliquent à **l'intégralité de notre conversation**. Chaque réponse que tu me donneras devra les respecter.
Confirme que tu as compris ce rôle et que tu es prêt à commencer.