Remove obsolete tests and add new login page layout
- Deleted test files for NavLink, Navbar, NavbarBrand, Progress, Row, SearchBar, Select, Spinner, Textarea, and a basic test for Button. - Introduced a new EmptyLayout component for consistent layout structure. - Added a new login page with a layout that includes a login form and an ASCII art header. - Updated CSS variables for improved styling consistency across components. - Removed Vitest configuration file as it is no longer needed.
This commit is contained in:
27
README.md
27
README.md
@ -5,7 +5,7 @@ Une plateforme de streaming moderne pour films et séries, construite avec **Ast
|
||||
## ✨ Fonctionnalités
|
||||
|
||||
- 🎨 **Design System complet** avec thème sombre et couleurs violet pastel
|
||||
- 📱 **Responsive** avec système de grille flexbox (Bootstrap-like)
|
||||
- 📱 **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)
|
||||
@ -43,6 +43,7 @@ Une plateforme de streaming moderne pour films et séries, construite avec **Ast
|
||||
## 🎨 Design System
|
||||
|
||||
### Couleurs
|
||||
|
||||
- **Couleur principale** : Violet pastel (`--primary-*`)
|
||||
- **Thème sombre** avec nuances de gris
|
||||
- **Couleurs sémantiques** : success, warning, error, info
|
||||
@ -50,6 +51,7 @@ Une plateforme de streaming moderne pour films et séries, construite avec **Ast
|
||||
### Composants disponibles
|
||||
|
||||
#### Composants de base
|
||||
|
||||
- **Button** - Boutons avec variantes (primary, secondary, outline, ghost)
|
||||
- **Badge** - Badges colorés
|
||||
- **Alert** - Alertes contextuelles
|
||||
@ -57,36 +59,44 @@ Une plateforme de streaming moderne pour films et séries, construite avec **Ast
|
||||
- **Progress** - Barres de progression
|
||||
|
||||
#### Composants de formulaire
|
||||
|
||||
- **Input** - Champs de saisie
|
||||
- **Textarea** - Zones de texte
|
||||
- **Select** - Listes déroulantes
|
||||
- **FormGroup/FormLabel/FormError** - Éléments de formulaire
|
||||
|
||||
#### Composants de mise en page
|
||||
|
||||
- **Container** - Conteneur responsive
|
||||
- **Row/Col** - Système de grille avec breakpoints (xs, sm, md, lg, xl, xxl)
|
||||
- **Card** - Cartes avec header/body/footer
|
||||
|
||||
#### Composants de navigation
|
||||
|
||||
- **Navbar** - Barre de navigation
|
||||
- **Modal** - Modales avec backdrop
|
||||
- **Dropdown** - Menus déroulants
|
||||
|
||||
#### Composants spécialisés streaming
|
||||
|
||||
- **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 `<style>` scoped :
|
||||
|
||||
- Isolation CSS automatique par Astro
|
||||
- Utilisation de `:global()` pour styler les composants importés
|
||||
- Variables CSS globales disponibles dans tous les composants
|
||||
@ -94,6 +104,7 @@ Chaque composant contient ses propres styles avec `<style>` scoped :
|
||||
## 🚀 Utilisation des Composants
|
||||
|
||||
### Exemple basique
|
||||
|
||||
```astro
|
||||
---
|
||||
import Button from '../components/ui/Button.astro';
|
||||
@ -111,6 +122,7 @@ import CardBody from '../components/ui/CardBody.astro';
|
||||
```
|
||||
|
||||
### Système de grille
|
||||
|
||||
```astro
|
||||
---
|
||||
import Container from '../components/ui/Container.astro';
|
||||
@ -131,6 +143,7 @@ import Col from '../components/ui/Col.astro';
|
||||
```
|
||||
|
||||
### MovieCard pour le streaming
|
||||
|
||||
```astro
|
||||
---
|
||||
import MovieCard from '../components/ui/MovieCard.astro';
|
||||
@ -150,8 +163,8 @@ import MovieCard from '../components/ui/MovieCard.astro';
|
||||
|
||||
Toutes les commandes sont exécutées depuis la racine du projet :
|
||||
|
||||
| Commande | Action |
|
||||
| :------------------------ | :----------------------------------------------- |
|
||||
| Commande | Action |
|
||||
| :------------------------ | :---------------------------------------------- |
|
||||
| `npm install` | Installe les dépendances |
|
||||
| `npm run dev` | Démarre le serveur de dev sur `localhost:4321` |
|
||||
| `npm run build` | Build le site pour la production dans `./dist/` |
|
||||
@ -162,12 +175,14 @@ Toutes les commandes sont exécutées depuis la racine du projet :
|
||||
## 🎯 Développement
|
||||
|
||||
### Ajouter un nouveau composant
|
||||
|
||||
1. Créer le composant Astro dans `src/components/ui/`
|
||||
2. Intégrer les styles directement dans le composant avec `<style>`
|
||||
3. Utiliser les variables CSS globales et classes utilitaires disponibles
|
||||
4. Composer avec les composants existants quand possible
|
||||
|
||||
### Variables CSS disponibles
|
||||
|
||||
- `--primary-*` : Couleurs principales (violet pastel)
|
||||
- `--bg-*` : Couleurs de fond (thème sombre)
|
||||
- `--text-*` : Couleurs de texte
|
||||
@ -176,6 +191,7 @@ Toutes les commandes sont exécutées depuis la racine du projet :
|
||||
- `--shadow-*` : Ombres
|
||||
|
||||
### Breakpoints responsive
|
||||
|
||||
- `xs` : < 576px
|
||||
- `sm` : ≥ 576px
|
||||
- `md` : ≥ 768px
|
||||
@ -192,9 +208,10 @@ Toutes les commandes sont exécutées depuis la racine du projet :
|
||||
## 🚀 Déploiement
|
||||
|
||||
Ce projet peut être déployé sur n'importe quelle plateforme supportant les sites statiques :
|
||||
|
||||
- Vercel
|
||||
- Netlify
|
||||
- Netlify
|
||||
- GitHub Pages
|
||||
- Cloudflare Pages
|
||||
|
||||
Voir la [documentation de déploiement Astro](https://docs.astro.build/en/guides/deploy/) pour plus de détails.
|
||||
Voir la [documentation de déploiement Astro](https://docs.astro.build/en/guides/deploy/) pour plus de détails.
|
||||
|
Reference in New Issue
Block a user