# Réponse finale obtenue du bot:
response = « Voici un exemple de code JavaScript pour une application web qui vise à aider les mécaniciens/mécaniciennes de bateaux dans les chambres de commerce :
**Code :**
« `javascript
// Définition des variables et constantes
const boatTypes = [« bateau », « yacht », « navire »];
const roomTypes = [« chambre de commerce », « magasinage », « atelier »];
const tools = [« tournevis », « scie », « presse », « marteau »];
// Définition des fonctions
function calculateCost(boatType, roomType) {
if (boatType === boatTypes[0]) { // Bateau
if (roomType === roomTypes[0]) { // Chambre de commerce
return 100;
} else if (roomType === roomTypes[1]) { // Magasinage
return 50;
} else { // Atelier
return 20;
}
} else if (boatType === boatTypes[1]) { // Yacht
if (roomType === roomTypes[0]) { // Chambre de commerce
return 200;
} else if (roomType === roomTypes[1]) { // Magasinage
return 100;
} else { // Atelier
return 50;
}
} else { // Navire
if (roomType === roomTypes[0]) { // Chambre de commerce
return 300;
} else if (roomType === roomTypes[1]) { // Magasinage
return 150;
} else { // Atelier
return 100;
}
}
}
function displayToolSelection(tool) {
const toolOptions = document.getElementById(« tool-options »);
toolOptions.innerHTML = « »;
tools.forEach((t) => {
if (t === tool) {
toolOptions.innerHTML += ``;
} else {
toolOptions.innerHTML += ``;
}
});
}
function displayRoomSelection(roomType) {
const roomOptions = document.getElementById(« room-options »);
roomOptions.innerHTML = « »;
roomTypes.forEach((r) => {
if (r === roomType) {
roomOptions.innerHTML += ``;
} else {
roomOptions.innerHTML += ``;
}
});
}
function displayBoatSelection(boatType) {
const boatOptions = document.getElementById(« boat-options »);
boatOptions.innerHTML = « »;
boatTypes.forEach((b) => {
if (b === boatType) {
boatOptions.innerHTML += ``;
} else {
boatOptions.innerHTML += ``;
}
});
}
// Définition du code HTML pour l’interface utilisateur
const html = `
Mécanicien/Mécanicienne de bateaux
`;
// Ajout du code HTML dans la page web
document.body.innerHTML = html;
// Événement de clic sur le bouton « Calculer le coût »
document.querySelector(« input[type=’button’] »).addEventListener(« click », () => {
const boatType = document.getElementById(« boat-options »).value;
const roomType = document.getElementById(« room-options »).value;
const tool = document.getElementById(« tool-options »).value;
// Appel à la fonction de calcul du coût
const cost = calculateCost(boatType, roomType);
// Affichage du résultat
alert(`Le coût est de ${cost}€.`);
});
« `
**Explications :**
Ce code définit une application web qui permet aux mécaniciens/mécaniciennes de bateaux de calculer le coût d’un travail en fonction du type de bateau, de la chambre où il sera effectué et des outils utilisés.
Les variables `boatTypes`, `roomTypes` et `tools` définissent les types de batteaux, les types de chambres et les outils disponibles.
La fonction `calculateCost` calcule le coût en fonction du type de bateau et de la chambre où il sera effectué. Les coûts sont stockés dans un tableau et sont utilisés pour calculer le résultat.
Les fonctions `displayToolSelection`, `displayRoomSelection` et `displayBoatSelection` permettent d’afficher les options pour les outils, les chambres et les batteaux dans les sélecteurs HTML.
Le code HTML définit l’interface utilisateur avec des étiquettes, des sélecteurs et un bouton « Calculer le coût ».
L’événement de clic sur le bouton « Calculer le coût » appelle la fonction `calculateCost` avec les valeurs sélectionnées dans les sélecteurs et affiche le résultat à l’aide d’une boîte de dialogue.
**Limites :**
Ce code est un exemple simple et ne prend pas en compte tous les cas possibles. Il faudrait ajouter des tests pour gérer les erreurs et les cas spéciaux, ainsi que des fonctionnalités pour stocker et afficher les données.
Il est également important de noter que ce code est destiné à une application web et qu’il est nécessaire d’ajouter des sécurités pour protéger les données utilisateur. »