You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/fr/3-terrarium/3-intro-to-DOM-and-closures/assignment.md

130 lines
7.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Devoir d'Investigation sur les Éléments DOM
## Vue d'ensemble
Maintenant que vous avez expérimenté directement la puissance de la manipulation du DOM, il est temps d'explorer le monde plus large des interfaces DOM. Ce devoir approfondira votre compréhension de la manière dont différentes technologies web interagissent avec le DOM au-delà du simple glissement déléments.
## Objectifs d'apprentissage
En complétant ce devoir, vous allez :
- **Rechercher** et comprendre en profondeur une interface DOM spécifique
- **Analyser** des implémentations réelles de la manipulation du DOM
- **Connecter** les concepts théoriques à des applications pratiques
- **Développer** des compétences en documentation technique et analyse
## Instructions
### Étape 1 : Choisissez votre interface DOM
Visitez la liste exhaustive dinterfaces DOM sur MDN [liste des interfaces DOM](https://developer.mozilla.org/docs/Web/API/Document_Object_Model) et sélectionnez une interface qui vous intéresse. Pour plus de variété, considérez ces catégories :
**Options adaptées aux débutants :**
- `Element.classList` - Gestion dynamique des classes CSS
- `Document.querySelector()` - Sélection avancée déléments
- `Element.addEventListener()` - Gestion dévénements au-delà des événements pointeurs
- `Window.localStorage` - Stockage de données côté client
**Défis intermédiaires :**
- `Intersection Observer API` - Détection de la visibilité des éléments
- `MutationObserver` - Surveillance des modifications du DOM
- `Drag and Drop API` - Alternative à notre approche basée sur les pointeurs
- `Geolocation API` - Accès à la localisation utilisateur
**Exploration avancée :**
- `Web Components` - Éléments personnalisés et shadow DOM
- `Canvas API` - Graphismes programmatiques
- `Web Workers` - Traitement en arrière-plan
- `Service Workers` - Fonctionnalité hors ligne
### Étape 2 : Recherche et documentation
Rédigez une analyse complète (300-500 mots) incluant :
#### Présentation technique
- **Définissez** ce que fait votre interface choisie avec un langage clair et accessible aux débutants
- **Expliquez** les principales méthodes, propriétés ou événements quelle fournit
- **Décrivez** les types de problèmes quelle est conçue pour résoudre
#### Implémentation concrète
- **Trouvez** un site web qui utilise votre interface sélectionnée (inspectez le code ou recherchez des exemples)
- **Documentez** limplémentation spécifique avec extraits de code si possible
- **Analysez** pourquoi les développeurs ont préféré cette approche
- **Expliquez** comment cela améliore lexpérience utilisateur
#### Application pratique
- **Comparez** votre interface aux techniques que nous avons utilisées dans le projet terrarium
- **Suggérez** comment votre interface pourrait améliorer ou étendre la fonctionnalité du terrarium
- **Identifiez** dautres projets où cette interface serait précieuse
### Étape 3 : Exemple de code
Incluez un exemple de code simple et fonctionnel qui démontre votre interface en action. Il doit être :
- **Fonctionnel** - Le code doit réellement fonctionner lors de tests
- **Commenté** - Expliquez ce que fait chaque partie
- **Pertinent** - Relié à un cas dutilisation réaliste
- **Accessible aux débutants** - Compréhensible pour quelquun qui apprend le développement web
## Format de soumission
Structurez votre soumission avec des titres clairs :
```markdown
# [Interface Name] DOM Investigation
## What It Does
[Technical overview]
## Real-World Example
[Website analysis and implementation details]
## Code Demonstration
[Your working example with comments]
## Reflection
[How this connects to our terrarium project and future applications]
```
## Grille d'évaluation
| Critères | Exemplaire (A) | Compétent (B) | En développement (C) | À améliorer (D) |
|----------|----------------|---------------|---------------------|----------------|
| **Compréhension technique** | Montre une compréhension approfondie avec des explications exactes et une terminologie appropriée | Montre une bonne compréhension avec des explications majoritairement exactes | Compréhension basique avec quelques erreurs | Compréhension limitée avec erreurs importantes |
| **Analyse concrète** | Identifie et analyse en profondeur une implémentation réelle avec des exemples spécifiques | Trouve un exemple réel avec une analyse adéquate | Localise un exemple mais lanalyse manque de profondeur | Connexion vague ou inexacte avec le réel |
| **Exemple de code** | Code fonctionnel et bien commenté démontrant clairement linterface | Code fonctionnel avec commentaires adéquats | Code fonctionnel mais documentation insuffisante | Code erroné ou explications pauvres |
| **Qualité de rédaction** | Rédaction claire, engageante avec structure et communication technique appropriée | Bien organisé avec bonne rédaction technique | Organisation et clarté adéquates | Mauvaise organisation ou communication peu claire |
| **Pensée critique** | Établit des liens pertinents entre concepts et suggère des applications innovantes | Montre une bonne réflexion analytique et des connexions pertinentes | Présence danalyse, mais peu approfondie | Peu de preuve de réflexion critique |
## Conseils pour réussir
**Stratégies de recherche :**
- **Commencez** par la documentation MDN pour des informations fiables
- **Cherchez** des exemples de code sur GitHub ou CodePen
- **Examinez** des sites populaires via les outils développeur du navigateur
- **Regardez** des tutoriels vidéo pour des explications visuelles
**Directives de rédaction :**
- **Utilisez** vos propres mots plutôt que de copier la documentation
- **Incluez** des exemples spécifiques et extraits de code
- **Expliquez** les concepts techniques comme si vous enseigniez à un ami
- **Reliez** votre interface à des concepts plus larges du développement web
**Idées pour lexemple de code :**
- **Créez** une démo simple qui met en avant les fonctionnalités principales de linterface
- **Basez-vous** sur des concepts tirés de notre projet terrarium si pertinent
- **Privilégiez** la fonctionnalité à lesthétique
- **Testez** votre code pour assurer son bon fonctionnement
## Date limite de soumission
[Insérez la date limite ici]
## Questions ?
Si vous avez besoin de précisions sur un aspect de ce devoir, nhésitez pas à demander ! Cette investigation approfondira votre compréhension de la manière dont le DOM permet les expériences web interactives que nous utilisons au quotidien.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Avertissement** :
Ce document a été traduit à laide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforçons dassurer lexactitude, veuillez noter que les traductions automatiques peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue dorigine doit être considéré comme la source faisant foi. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle humaine. Nous déclinons toute responsabilité en cas de malentendus ou de mauvaises interprétations résultant de lutilisation de cette traduction.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->