diff --git a/README.md b/README.md index 2f74b66..bfd37d2 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,16 @@ # 🎬 Nixi - Plateforme de Streaming -Une plateforme de streaming moderne pour films et séries, construite avec **Astro** et un système de composants UI réutilisables. +Une plateforme de streaming moderne pour films et séries, construite avec **Astro** et un système de composants UI réutilisables auto-contenus. ## ✨ Fonctionnalités - 🎨 **Design System complet** avec thème sombre et couleurs violet pastel -- 📱 **Responsive** avec système de grille flexbox (Bootstrap-like) -- 🧩 **Composants UI modulaires** et réutilisables -- ⚡ **Performance optimisée** avec Astro +- 📱 **Responsive** avec système de grille flexbox (Bootstrap-like) +- 🧩 **Composants UI auto-contenus** avec styles scoped +- ⚡ **Performance optimisée** avec styles scoped par composant - 🎭 **Composants spécialisés** pour le streaming (MovieCard, SearchBar) +- 🔄 **Architecture modulaire** avec réutilisation et composition +- 🛠️ **Classes utilitaires** Bootstrap-like pour styling rapide ## 🏗️ Architecture du Projet @@ -18,28 +20,23 @@ Une plateforme de streaming moderne pour films et séries, construite avec **Ast │ └── favicon.svg ├── src/ │ ├── components/ -│ │ └── ui/ # Composants UI réutilisables -│ │ ├── Button.astro -│ │ ├── Card.astro -│ │ ├── Input.astro -│ │ ├── Modal.astro -│ │ ├── MovieCard.astro -│ │ ├── Navbar.astro -│ │ ├── Row.astro -│ │ ├── Col.astro +│ │ └── ui/ # Composants UI auto-contenus +│ │ ├── Button.astro # Avec styles intégrés +│ │ ├── Card.astro # Avec styles intégrés +│ │ ├── Input.astro # Avec styles intégrés +│ │ ├── Modal.astro # Avec styles + JS intégrés +│ │ ├── MovieCard.astro # Compose avec Card.astro +│ │ ├── SearchBar.astro # Compose avec Input.astro +│ │ ├── Row.astro # Avec support style prop +│ │ ├── Col.astro # Responsive breakpoints │ │ └── ... │ ├── layouts/ -│ │ └── Layout.astro # Layout principal +│ │ └── Layout.astro # Variables + Grid seulement │ ├── pages/ -│ │ └── index.astro # Page d'accueil +│ │ └── index.astro # Page de démo complète │ └── styles/ -│ ├── variables.css # Variables CSS (couleurs, espacements) -│ ├── grid.css # Système de grille flexbox -│ └── components/ # Styles par composant -│ ├── button.css -│ ├── card.css -│ ├── input.css -│ └── ... +│ ├── variables.css # Variables + Form base + Utilitaires globales +│ └── grid.css # Grille + Classes utilitaires responsive └── package.json ``` @@ -79,6 +76,21 @@ Une plateforme de streaming moderne pour films et séries, construite avec **Ast - **MovieCard** - Cartes pour films/séries avec poster, titre, rating - **SearchBar** - Barre de recherche avec icône +## 🏗️ Architecture des Composants + +### Composition et réutilisation +Les composants sont conçus pour être composés ensemble : +- **SearchBar** utilise le composant **Input** avec des styles personnalisés +- **MovieCard** compose avec le composant **Card** de base +- **ModalHeader** utilise le composant **Button** pour la fermeture +- Classes `.form-control-base` partagées entre Input, Select et Textarea + +### Styles scoped +Chaque composant contient ses propres styles avec `