refactor: factoriser le code en plusieurs fichiers (#8)

- 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
This commit is contained in:
stanig2106
2026-04-05 13:55:45 +01:00
parent 18ec285002
commit 792542a71f
19 changed files with 451 additions and 138 deletions
+58 -1
View File
@@ -1,3 +1,60 @@
# cv-generator
Application web pour générer des CV professionnels en PDF
Application web pour générer des CV professionnels.
---
## 🚀 Lancer le projet
> ⚠️ Le projet utilise des **ES Modules natifs** (`import`/`export`).
> Les navigateurs bloquent les modules via le protocole `file://` (CORS).
> **Il faut obligatoirement servir le projet depuis un serveur local.**
```bash
# Option 1 — serveur rapide avec Node.js
npx serve .
# Option 2 — extension Live Server dans VSCode
# Clic droit sur index.html → "Open with Live Server"
```
Puis ouvrir [http://localhost:3000](http://localhost:3000) (ou le port indiqué).
> ❌ Ne pas ouvrir `index.html` directement par double-clic — les modules ne se chargeront pas.
---
## 📁 Structure du projet
```
css/
form.css # Styles de la page et du formulaire
cv.css # Styles du rendu CV (à venir)
js/
main.js # Point d'entrée : listeners DOM + orchestration
sections/
identite.js # Collect + render de la section Identité
competences.js # Stub — Section Compétences (à implémenter)
formation.js # Stub — Section Formation (à implémenter)
experience.js # Stub — Section Expérience pro (à implémenter)
hobbies.js # Stub — Section Hobbies (à implémenter)
sections/
identite/ # Fragment HTML de la section Identité
competences/ # Stub — à venir
formation/ # Stub — à venir
experience/ # Stub — à venir
hobbies/ # Stub — à venir
index.html
```
---
## 🗺️ Sections à venir
| Section | Dossier | Module JS | Statut |
|---------------|--------------------------|---------------------------------|--------------|
| Identité | `sections/identite/` | `js/sections/identite.js` | ✅ Actif |
| Compétences | `sections/competences/` | `js/sections/competences.js` | 🚧 Stub |
| Formation | `sections/formation/` | `js/sections/formation.js` | 🚧 Stub |
| Expérience | `sections/experience/` | `js/sections/experience.js` | 🚧 Stub |
| Hobbies | `sections/hobbies/` | `js/sections/hobbies.js` | 🚧 Stub |