` **vide** → rien de visible |
+| `` (Majuscule) | **TON composant** `Header` | ton vrai contenu s'affiche âś… |
+
+Et là est le piège : `header` et `footer` **existent pour de vrai** en HTML ! Donc si tu écris :
+
+```jsx
+function App() {
+ return (
+
+ {/* ❌ React rend une balise HTML VIDE, pas ton composant */}
+ {/* ❌ pareil : balise vide */}
+
+ );
+}
+```
+
+…React ne se plaint pas (ce sont des balises HTML valides), mais il affiche des éléments **vides** → tu ne vois ni ton Header ni ton Footer. **Aucune erreur**, juste du vide. C'est exactement ton symptôme.
+
+### ✅ La correction : une **majuscule** au début
+```jsx
+import Header from "./components/Header";
+import Footer from "./components/Footer";
+
+function App() {
+ return (
+
+ {/* ✅ Majuscule → React utilise TON composant */}
+
+
+ );
+}
+```
+
+> 💡 **À retenir :** en React, **un composant s'écrit toujours avec une Majuscule** (``), justement pour que React le distingue d'une balise HTML (``). Minuscule = balise HTML ; Majuscule = ton composant. C'est **obligatoire**, pas une convention de style.
+
+### Les 2 autres causes possibles (si ce n'est pas la majuscule)
+1. **Oubli de l'`import`** en haut de `App.jsx` → là , tu auras une **erreur** (`Header is not defined`). Vérifie que chaque composant utilisé est bien importé.
+2. **Oubli de l'`export default`** dans le fichier du composant → l'import ramène « rien » → erreur React `Element type is invalid`. Vérifie que chaque fichier de composant finit par `export default MonComposant;`.
+
+> 🔎 Réflexe de débogage : ouvre la **Console (F12)**. **Erreur rouge** → c'est l'import ou l'export (causes 1/2). **Aucune erreur mais du vide** → c'est presque toujours la **majuscule**.
+
---
## 8. Rendre un composant configurable : les **props**