refactor: factoriser le code en plusieurs fichiers #9

Merged
stanig2106 merged 1 commits from feat/refactor-multi-files into main 2026-04-05 13:40:31 +00:00
Owner

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://).

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.
stanig2106 added 1 commit 2026-04-05 12:56:03 +00:00
- 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
Author
Owner

@via tu peux le faire en typescript, et on serv avec bun par exemple

@via tu peux le faire en typescript, et on serv avec bun par exemple
Author
Owner

@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.
Author
Owner

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.

✅ 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.
stanig2106 merged commit f0cf9a605f into main 2026-04-05 13:40:31 +00:00
stanig2106 deleted branch feat/refactor-multi-files 2026-04-05 13:40:31 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: stanig2106/cv-generator#9