# Contrôle de TP 2023-2024 ## Applications Web ### Consignes de rendu des travaux : 1. Forker le dépôt Git: ```bash git clone https://www-apps.univ-lehavre.fr/forge/khraimes/exam-js.git ``` Créer une nouvelle branche pour votre projet portant votre login : (ks110222 par exemple) ```bash git checkout -b ks110222 ``` Développer votre projet et commiter vos modifications: ```bash git status ``` ```bash git add . ``` ```bash git commit -m "Message de commit" ``` Pousser vos modifications vers votre dépôt distant: ```bash git push origin ks110222 ``` Créer une merge request: Barème : Partie A : (5 points) Partie B : (10 points) Résumé du sujet : Vous devrez réaliser un site de e-commerce proposant des voitures. ## Partie A : Utilisation des prototypes Créer un prototype Extra dans le fichier js/extra.js, contenant les propriétés suivantes : - `name` - `price` Créer un prototype Car dans le fichier js/car.js contenant les propriétés suivantes : - `image` - `make` - `model` - `description` - `price` - `category` - `year` - `mileage` - `extras tableau d'Extra**` Modifier la fonction `generateCar` pour qu'elle retourne une nouvelle instance de Car initialisée avec les paramètres. ## Partie B : Modification du DOM Ajouter au prototype Car : 1. la méthode `generateImage(elt)` qui, sans utiliser innerHTML, va créer une balise img qui aura comme source l'attribut image du prototype et comme alt, attribut make concaténé à model. En plus, ajouter la classe `card-img-top` . 1. la méthode `generateExtras(elt)` qui, sans utiliser innerHTML, va créer une balise ul, puis, pour chaque Extra, une balise li qui contiendra le nom concaténé au prix. Ces 2 méthodes doivent ajouter l'élément créé à celui passé en paramètre. completer la fonction `showHideExtra` de maniére a : 1. afficher `+` sur le boutton si les extras sont masqué et `-` sinon 1. afficher ou masquer la liste des extras en utilisant les fonctions du prototype Car Département Informatique BUT Info 2 - 2023/2024 Applications Web Khraimeche Salim.