Tout ce qui est nécessaire est déjà installé dans ce dossier. Il n’y a rien à télécharger et rien à installer.
Les machines sont hors ligne. La commande
npm installne fonctionnera pas et n’est pas nécessaire.
outillage/
├── README.html ← ce mode d'emploi
├── reponse_NOM.txt ← le fichier de réponses à remplir et à rendre
└── projet_template/ ← projet Astro prêt à l'emploi (à copier)
Copiez le dossier projet_template en
entier et renommez la copie mon_projet.
Vous pouvez le faire de deux manières, au choix :
projet_template →
Copiermon_projetcp -R outillage/projet_template mon_projetUtilisez bien
-Ren majuscule.
Important : copiez le dossier en entier, sans rien enlever. Il contient
node_modules/(les bibliothèques Astro et TypeScript déjà installées). Sans ce dossier, rien ne fonctionnera.
Ouvrez un terminal, placez-vous dans le dossier
mon_projet, puis lancez le serveur :
cd mon_projet
npx astro devLe serveur affiche une adresse, en général :
http://localhost:4321/
Ouvrez cette adresse dans le navigateur. Vous devez voir la page « Le projet fonctionne ! ».
Astuce : le serveur recharge automatiquement la page à chaque fois que vous enregistrez un fichier. Laissez-le tourner pendant toute la durée de l’examen.
Pour arrêter le serveur :
Ctrl+Cdans le terminal.
Le projet est déjà organisé. Vous n’avez aucun dossier à créer :
mon_projet/
├── node_modules/ ← ne pas toucher
├── package.json ← ne pas toucher
├── tsconfig.json ← ne pas toucher
└── src/
├── pages/
│ └── index.astro ← vos pages HTML (déjà présent, à remplacer)
└── scripts/
└── app.ts ← vos scripts TypeScript (déjà présent, à remplacer)
Règle simple :
| Type de fichier | Où le mettre |
|---|---|
Fichier .astro (page web) |
src/pages/ |
Fichier .ts (script) |
src/scripts/ |
Dans un fichier .astro, on charge un script TypeScript
avec :
<script src="../scripts/app.ts"></script>Le chemin ../scripts/ fonctionne car on part de
src/pages/ pour remonter dans src/.
Si vous voulez juste tester un bout de code TypeScript dans la console, sans page web :
test.ts à la racine
de mon_projetmon_projet puis
:npx tsc
node test.jsImportant : tapez
npx tscsans nom de fichier. Si vous écriveznpx tsc test.ts, le fichiertsconfig.jsonest ignoré et vous aurez des erreurs.
À taper depuis le dossier mon_projet
:
| Action | Commande |
|---|---|
| Démarrer le serveur Astro | npx astro dev |
| Démarrer Astro sur un autre port | npx astro dev --port 4322 |
| Arrêter le serveur | Ctrl+C |
| Transpiler le TypeScript | npx tsc |
| Exécuter un fichier JavaScript | node monfichier.js |
| Savoir où l’on se trouve | pwd |
| Lister les fichiers du dossier | ls |
Vous ne rendez qu’un seul fichier :
reponse_NOM.txt (renommé avec votre nom).
Ctrl+S).Les consignes détaillées de rendu se trouvent dans le sujet
(SUJET.html).
→ Utilisez npx tsc et non tsc. TypeScript
est installé localement dans node_modules/.
→ Utilisez npx astro dev et non
astro dev.
→ Vous n’êtes pas dans le bon dossier, ou node_modules/
n’a pas été copié. Tapez pwd pour voir où vous êtes, puis
ls : vous devez voir node_modules,
package.json et src. Si
node_modules est absent, recopiez
projet_template en entier.
→ La copie a abîmé le dossier node_modules. Supprimez
mon_projet et recommencez la copie avec cp -R
(majuscule) ou avec l’explorateur de fichiers.
→ npx tsc n’a trouvé aucun fichier .ts à la
racine de mon_projet. Créez-y un fichier (par exemple
test.ts) avant de relancer la commande.
→ Vérifiez avec pwd que vous êtes bien dans
mon_projet (le dossier qui contient
package.json).
→ Un serveur tourne déjà. Soit vous le réutilisez (ouvrez
http://localhost:4321/), soit vous démarrez sur un autre
port : npx astro dev --port 4322.
→ Votre page doit s’appeler index.astro et se trouver
dans src/pages/. Vérifiez l’orthographe et
l’emplacement.
→ Ouvrez la console du navigateur avec F12, onglet
Console, pour voir les erreurs. → Vérifiez le chemin du
script : depuis src/pages/, c’est
<script src="../scripts/app.ts"></script>.
→ Le getElementById ne trouve pas l’élément. Vérifiez
que l’id dans le .astro correspond exactement
(majuscules comprises) à celui utilisé dans le .ts.
→ Enregistrez le fichier (Ctrl+S), puis rechargez la
page avec Ctrl+Shift+R (rechargement forcé).
→ C’est normal : le serveur Astro tourne en continu dans ce terminal.
Ouvrez un deuxième terminal pour taper d’autres
commandes, ou faites Ctrl+C pour arrêter le serveur.
→ Tapez export NODE_OPTIONS=--openssl-legacy-provider
puis relancez la commande.
→ Supprimez mon_projet et recopiez
projet_template. Vos réponses sont dans
reponse_NOM.txt, elles ne sont pas perdues.
→ C’est normal, les machines sont en mode examen hors ligne. Seul le site du cours est accessible.