refactor: rename css/ to assets/, add JSDoc signatures to section stubs

This commit is contained in:
stanig2106
2026-04-05 14:36:35 +01:00
parent 18ec285002
commit a6debe12be
20 changed files with 343 additions and 137 deletions
+24
View File
@@ -0,0 +1,24 @@
/**
* app.js — Point d'entrée principal du CV Generator
* Gère la soumission du formulaire et la sauvegarde des données.
*/
document.getElementById('cv-form').addEventListener('submit', function (e) {
e.preventDefault();
const nom = document.getElementById('nom').value.trim();
const prenom = document.getElementById('prenom').value.trim();
const email = document.getElementById('email').value.trim();
const titre = document.getElementById('titre').value.trim();
if (!nom || !prenom || !email || !titre) return;
const formData = { nom, prenom, email, titre };
localStorage.setItem('cvData', JSON.stringify(formData));
const success = document.getElementById('success');
success.textContent = `CV prêt à être généré pour ${prenom} ${nom} !`;
success.style.display = 'block';
console.log('Données du CV :', formData);
});
+22
View File
@@ -0,0 +1,22 @@
/**
* js/sections/competences.js
* Gestion de la section "Compétences" du CV.
*/
/**
* Collecte les données du formulaire de compétences.
* @returns {{ libelle: string, niveau: string }[]}
* Tableau de compétences saisies par l'utilisateur.
*/
export function collect() {
return [];
}
/**
* Affiche les compétences dans l'aperçu du CV.
* @param {{ libelle: string, niveau: string }[]} data
* @returns {void}
*/
export function render(data) {
// TODO
}
+22
View File
@@ -0,0 +1,22 @@
/**
* js/sections/experience.js
* Gestion de la section "Expérience professionnelle" du CV.
*/
/**
* Collecte les données du formulaire d'expérience professionnelle.
* @returns {{ poste: string, entreprise: string, periode: string, description: string }[]}
* Tableau d'entrées d'expérience saisies par l'utilisateur.
*/
export function collect() {
return [];
}
/**
* Affiche les données d'expérience dans l'aperçu du CV.
* @param {{ poste: string, entreprise: string, periode: string, description: string }[]} data
* @returns {void}
*/
export function render(data) {
// TODO
}
+24
View File
@@ -0,0 +1,24 @@
/**
* js/sections/formation.js
* Gestion de la section "Formation" du CV.
*/
/**
* Collecte les données du formulaire de formation.
* @returns {{ diplome: string, etablissement: string, annee: string, description: string }[]}
* Tableau d'entrées de formation saisies par l'utilisateur.
*/
export function collect() {
// TODO: lire les champs du formulaire et retourner un tableau d'objets formation
return [];
}
/**
* Affiche les données de formation dans l'aperçu du CV.
* @param {{ diplome: string, etablissement: string, annee: string, description: string }[]} data
* Tableau d'entrées de formation à afficher.
* @returns {void}
*/
export function render(data) {
// TODO: générer le HTML de la section formation et l'injecter dans le DOM
}
+22
View File
@@ -0,0 +1,22 @@
/**
* js/sections/hobbies.js
* Gestion de la section "Loisirs / Hobbies" du CV.
*/
/**
* Collecte les données du formulaire de loisirs.
* @returns {{ libelle: string }[]}
* Tableau de loisirs saisis par l'utilisateur.
*/
export function collect() {
return [];
}
/**
* Affiche les loisirs dans l'aperçu du CV.
* @param {{ libelle: string }[]} data
* @returns {void}
*/
export function render(data) {
// TODO
}
+22
View File
@@ -0,0 +1,22 @@
/**
* js/sections/langues.js
* Gestion de la section "Langues" du CV.
*/
/**
* Collecte les données du formulaire de langues.
* @returns {{ langue: string, niveau: string }[]}
* Tableau de langues saisies par l'utilisateur.
*/
export function collect() {
return [];
}
/**
* Affiche les langues dans l'aperçu du CV.
* @param {{ langue: string, niveau: string }[]} data
* @returns {void}
*/
export function render(data) {
// TODO
}