CSS : styles inline extraits vers css/form.css (page/formulaire) et css/cv.css (rendu CV)
JS : logique inline migrée vers des ES Modules
js/main.js — point d'entrée, écoute la soumission du formulaire
js/sections/identite.js — collect + render de la section Identité
js/sections/competences.js — stub (à implémenter)
js/sections/formation.js — stub (à implémenter)
js/sections/experience.js — stub (à implémenter)
js/sections/hobbies.js — stub (à implémenter)
HTML : index.html utilise désormais <link> vers les CSS séparés et <script type="module">
Dossiers : sections/{identite,competences,formation,experience,hobbies}/ créés avec .gitkeep et README
⚠️ Contrainte serveur local
Le projet utilise des ES Modules natifs. Ouvrir index.html par double-clic ne fonctionnera pas (blocage CORS sur file://).
npx serve .
Cette contrainte est documentée dans le README.
Closes #8
## Changements
- **CSS** : styles inline extraits vers `css/form.css` (page/formulaire) et `css/cv.css` (rendu CV)
- **JS** : logique inline migrée vers des ES Modules
- `js/main.js` — point d'entrée, écoute la soumission du formulaire
- `js/sections/identite.js` — collect + render de la section Identité
- `js/sections/competences.js` — stub (à implémenter)
- `js/sections/formation.js` — stub (à implémenter)
- `js/sections/experience.js` — stub (à implémenter)
- `js/sections/hobbies.js` — stub (à implémenter)
- **HTML** : `index.html` utilise désormais `<link>` vers les CSS séparés et `<script type="module">`
- **Dossiers** : `sections/{identite,competences,formation,experience,hobbies}/` créés avec `.gitkeep` et README
## ⚠️ Contrainte serveur local
Le projet utilise des ES Modules natifs. Ouvrir `index.html` par double-clic ne fonctionnera pas (blocage CORS sur `file://`).
```bash
npx serve .
```
Cette contrainte est documentée dans le README.
- Déplace les styles inline vers css/form.css et css/cv.css
- Crée js/main.js comme point d'entrée ES Module (type="module")
- Extrait la logique identité dans js/sections/identite.js
- Ajoute les stubs js/sections/{competences,formation,experience,hobbies}.js
- Crée les dossiers sections/{identite,competences,formation,experience,hobbies}/
avec .gitkeep et README décrivant le contenu prévu
- Met à jour index.html : liens CSS séparés, script type=module
- Met à jour README.md : avertissement ES Modules, structure des fichiers
@via Les stubs js/sections/*.js sont trop vides — ajoute au moins les signatures des fonctions collect et render avec les JSDoc pour chaque section (formation, experience, hobbies, competences). Et renomme le dossier css/ en assets/ tant que tu y es.
@via Les stubs js/sections/*.js sont trop vides — ajoute au moins les signatures des fonctions collect et render avec les JSDoc pour chaque section (formation, experience, hobbies, competences). Et renomme le dossier css/ en assets/ tant que tu y es.
1. Dossier css/ → assets/
Tous les fichiers CSS (form.css, cv.css, sections/*.css) ont été déplacés vers assets/. Les imports dans index.html et js/app.js sont mis à jour en conséquence.
2. JSDoc + signatures dans les stubs de sections
Chaque stub (formation.js, experience.js, hobbies.js, competences.js, langues.js) expose désormais deux fonctions documentées :
collect() — lit les champs du formulaire, retourne un tableau typé
render(data) — injecte les données dans l'aperçu CV
Les types de retour et paramètres sont documentés avec JSDoc complet pour guider l'implémentation future.
✅ Modifications apportées suite au retour :
**1. Dossier `css/` → `assets/`**
Tous les fichiers CSS (form.css, cv.css, sections/*.css) ont été déplacés vers `assets/`. Les imports dans `index.html` et `js/app.js` sont mis à jour en conséquence.
**2. JSDoc + signatures dans les stubs de sections**
Chaque stub (`formation.js`, `experience.js`, `hobbies.js`, `competences.js`, `langues.js`) expose désormais deux fonctions documentées :
- `collect()` — lit les champs du formulaire, retourne un tableau typé
- `render(data)` — injecte les données dans l'aperçu CV
Les types de retour et paramètres sont documentés avec JSDoc complet pour guider l'implémentation future.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #8
Changements
css/form.css(page/formulaire) etcss/cv.css(rendu CV)js/main.js— point d'entrée, écoute la soumission du formulairejs/sections/identite.js— collect + render de la section Identitéjs/sections/competences.js— stub (à implémenter)js/sections/formation.js— stub (à implémenter)js/sections/experience.js— stub (à implémenter)js/sections/hobbies.js— stub (à implémenter)index.htmlutilise désormais<link>vers les CSS séparés et<script type="module">sections/{identite,competences,formation,experience,hobbies}/créés avec.gitkeepet README⚠️ Contrainte serveur local
Le projet utilise des ES Modules natifs. Ouvrir
index.htmlpar double-clic ne fonctionnera pas (blocage CORS surfile://).Cette contrainte est documentée dans le README.
- Déplace les styles inline vers css/form.css et css/cv.css - Crée js/main.js comme point d'entrée ES Module (type="module") - Extrait la logique identité dans js/sections/identite.js - Ajoute les stubs js/sections/{competences,formation,experience,hobbies}.js - Crée les dossiers sections/{identite,competences,formation,experience,hobbies}/ avec .gitkeep et README décrivant le contenu prévu - Met à jour index.html : liens CSS séparés, script type=module - Met à jour README.md : avertissement ES Modules, structure des fichiers@via tu peux le faire en typescript, et on serv avec bun par exemple
@via Les stubs js/sections/*.js sont trop vides — ajoute au moins les signatures des fonctions collect et render avec les JSDoc pour chaque section (formation, experience, hobbies, competences). Et renomme le dossier css/ en assets/ tant que tu y es.
✅ Modifications apportées suite au retour :
1. Dossier
css/→assets/Tous les fichiers CSS (form.css, cv.css, sections/*.css) ont été déplacés vers
assets/. Les imports dansindex.htmletjs/app.jssont mis à jour en conséquence.2. JSDoc + signatures dans les stubs de sections
Chaque stub (
formation.js,experience.js,hobbies.js,competences.js,langues.js) expose désormais deux fonctions documentées :collect()— lit les champs du formulaire, retourne un tableau typérender(data)— injecte les données dans l'aperçu CVLes types de retour et paramètres sont documentés avec JSDoc complet pour guider l'implémentation future.