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:
@@ -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 |
|
||||
|
||||
Reference in New Issue
Block a user