Y. EL ALLIOUI –
[email protected] 13 / 15
2025
o Case à cocher pour accepter les conditions d'utilisation
o Bouton d'envoi
2. Implémenter les fonctionnalités suivantes en JavaScript:
o Valider chaque champ en temps réel (pendant que l'utilisateur tape)
o Afficher des messages d'erreur à côté des champs invalides
o Changer la couleur de bordure des champs (rouge pour invalide, vert pour
valide)
o Empêcher l'envoi du formulaire si tous les champs ne sont pas valides
o Afficher un résumé des informations saisies dans une div après validation
réussie (sans envoyer réellement le formulaire)
Compétences testées : Manipulation de formulaires, validation avec expressions régulières,
gestion avancée des événements (focus, blur, input), modification du DOM en fonction des
actions utilisateur.
Exercice 9 : Générateur de tableau dynamique
Objectif : Créer une application qui génère un tableau HTML dynamique à partir de données
et permet des opérations sur celui-ci.
Consignes :
1. Créer une interface HTML avec:
o Un tableau vide avec en-tête préparé (ID, Nom, Email, Actions)
o Des boutons pour: ajouter une ligne, trier par nom, filtrer
2. Implémenter les fonctionnalités suivantes en JavaScript:
o Charger des données initiales dans le tableau (depuis un tableau JavaScript)
o Permettre l'ajout de nouvelles lignes via un formulaire qui apparaît au clic sur
"Ajouter"
o Implémenter la fonctionnalité de tri du tableau (croissant/décroissant) en
cliquant sur l'en-tête
o Ajouter un champ de recherche qui filtre le tableau en temps réel
o Pour chaque ligne, ajouter:
§ Un bouton "Modifier" qui transforme la ligne en champs éditables
§ Un bouton "Supprimer" qui retire la ligne après confirmation
o Sauvegarder les modifications dans le tableau de données JavaScript
Données initiales suggérées :
const utilisateurs = [
{ id: 1, nom: "Dupont Jean", email: "
[email protected]" },
{ id: 2, nom: "Martin Sophie", email: "
[email protected]" },
{ id: 3, nom: "Dubois Pierre", email: "
[email protected]" }
];
Compétences testées : Manipulation avancée du DOM, création dynamique de tables HTML,
tri et filtrage de données, gestion d'événements complexes, transformation d'éléments (cellules
de tableau en champs de formulaire), utilisation de méthodes de tableau JavaScript.