11 KiB
Améliorations UI - Documentation
Auteur : Équipe 4NK Date : 2025-01-27
Vue d'ensemble
Ce document liste les améliorations UI proposées pour la plateforme zapwall.fr. Ces améliorations visent à créer une interface plus cohérente, moderne et visuellement attrayante tout en respectant le thème cyberpunk/neon existant.
1. Design System et Cohérence Visuelle
Système de couleurs unifié
-
Audit des couleurs :
- Identifier tous les usages de couleurs non-thème (ex:
SeriesCardutilisebg-white,text-gray-700) - Remplacer par les couleurs du design system (cyber/neon)
- Créer une palette de couleurs documentée avec usages
- Identifier tous les usages de couleurs non-thème (ex:
-
Cohérence des états :
- États hover cohérents sur tous les éléments interactifs
- États focus visibles et uniformes
- États disabled avec style cohérent
- États actifs/selected avec indicateurs visuels clairs
Composants réutilisables
-
Créer une bibliothèque de composants :
Button: Variantes (primary, secondary, danger, ghost)Card: Variantes (default, hover, selected)Input: Variantes (text, search, textarea)Badge: Variantes (info, success, warning, error)Modal: Composant modal réutilisable avec overlayToast: Système de notifications toastSkeleton: Loaders skeleton pour différents contenus
-
Documentation des composants :
- Storybook ou documentation inline
- Exemples d'utilisation
- Props et variantes documentées
2. Typographie et Espacement
Hiérarchie typographique
-
Système de tailles cohérent :
text-xs: Métadonnées, labelstext-sm: Texte secondaire, descriptionstext-base: Corps de texte principaltext-lg: Sous-titrestext-xl: Titres de sectionstext-2xl: Titres principauxtext-3xl+: Titres hero
-
Poids de police :
font-normal: Texte courantfont-medium: Emphase légèrefont-semibold: Emphase moyennefont-bold: Titres, CTA
-
Espacement cohérent :
- Utiliser l'échelle Tailwind (4, 8, 12, 16, 24, 32...)
- Marges verticales cohérentes entre sections
- Padding cohérent dans les cards et containers
Lisibilité améliorée
-
Contraste :
- Vérifier tous les contrastes (WCAG AA minimum)
- Améliorer les contrastes faibles (ex:
text-cyber-accent/70) - Tester avec différents thèmes si applicable
-
Largeur de ligne optimale :
- Limiter la largeur du texte à ~65-75 caractères
- Appliquer
max-w-proseou similaire pour le contenu - Ajuster les espacements pour la lecture
3. Layout et Grille
Système de grille cohérent
-
Containers :
- Largeur max cohérente (
max-w-4xl,max-w-6xl, etc.) - Padding horizontal cohérent (
px-4,px-6,px-8) - Centrage automatique avec
mx-auto
- Largeur max cohérente (
-
Grilles responsives :
grid-cols-1sur mobilemd:grid-cols-2sur tablettelg:grid-cols-3ouxl:grid-cols-4sur desktop- Gaps cohérents (
gap-4,gap-6,gap-8)
Responsive design amélioré
-
Breakpoints cohérents :
- Mobile first : base styles
sm:: 640px (petites tablettes)md:: 768px (tablettes)lg:: 1024px (desktop)xl:: 1280px (large desktop)
-
Navigation mobile :
- Menu hamburger pour navigation sur mobile
- Drawer/sidebar pour filtres sur mobile
- Touch targets minimum 44x44px
4. Cards et Containers
Style unifié des cards
-
Card de base :
className="border border-neon-cyan/30 rounded-lg p-6 bg-cyber-dark hover:border-neon-cyan/50 hover:shadow-glow-cyan transition-all" -
Variantes :
- Card simple : bordure subtile, pas de hover
- Card interactive : hover avec glow, cursor pointer
- Card selected : bordure plus visible, background différent
- Card compact : padding réduit pour listes denses
Containers et sections
-
Sections :
- Espacement vertical cohérent entre sections (
mb-8,mb-12) - Titres de section avec style cohérent
- Séparateurs visuels si nécessaire
- Espacement vertical cohérent entre sections (
-
Containers de contenu :
- Background cohérent (
bg-cyber-darkoubg-cyber-darker) - Bordures subtiles (
border-neon-cyan/20ou/30) - Padding cohérent selon le contexte
- Background cohérent (
5. Buttons et Interactions
Système de boutons
-
Variantes de boutons :
- Primary :
bg-neon-cyan/20 hover:bg-neon-cyan/30 text-neon-cyan border-neon-cyan/50 - Secondary :
bg-cyber-light hover:bg-cyber-dark text-cyber-accent border-neon-cyan/30 - Success :
bg-neon-green/20 hover:bg-neon-green/30 text-neon-green border-neon-green/50 - Danger :
bg-red-500/20 hover:bg-red-500/30 text-red-400 border-red-500/50 - Ghost :
bg-transparent hover:bg-cyber-light text-cyber-accent
- Primary :
-
Tailles cohérentes :
- Small :
px-3 py-1.5 text-sm - Medium :
px-4 py-2 text-base(défaut) - Large :
px-6 py-3 text-lg
- Small :
-
États :
- Loading : spinner + texte "Chargement..."
- Disabled :
opacity-50 cursor-not-allowed - Focus : ring visible avec
focus:ring-2 focus:ring-neon-cyan
Micro-interactions
-
Transitions :
transition-allpour changements d'étattransition-colorspour changements de couleur uniquement- Durées cohérentes (150ms, 200ms, 300ms)
-
Hover effects :
- Scale subtil sur les cards (
hover:scale-[1.02]) - Glow sur les boutons et éléments interactifs
- Changement de couleur progressif
- Scale subtil sur les cards (
6. Icônes et Illustrations
Système d'icônes
-
Cohérence :
- Utiliser une seule bibliothèque d'icônes (ex: Heroicons, Lucide)
- Tailles cohérentes (
w-4 h-4,w-5 h-5,w-6 h-6) - Couleurs cohérentes avec le thème
-
Icônes contextuelles :
- Icônes pour les actions (éditer, supprimer, partager)
- Icônes pour les états (succès, erreur, chargement)
- Icônes pour la navigation (menu, fermer, retour)
Illustrations et images
-
Placeholders :
- Placeholder cohérent pour images manquantes
- Skeleton loaders pour images en chargement
- Aspect ratios cohérents
-
Optimisation :
- Utiliser Next.js Image component partout
- Lazy loading pour images hors viewport
- Tailles appropriées selon le contexte
7. Animations et Transitions
Animations subtiles
-
Apparition :
- Fade in pour les éléments qui apparaissent
- Slide in pour les modals et overlays
- Stagger pour les listes (délai entre éléments)
-
Transitions de page :
- Fade entre les pages
- Slide pour navigation latérale
- Transitions fluides sans jarring
Feedback visuel
-
Loading states :
- Spinners cohérents (taille, couleur, vitesse)
- Skeleton loaders pour contenu
- Progress bars pour actions longues
-
Confirmations :
- Animations de succès (checkmark animé)
- Animations d'erreur (shake, pulse)
- Toast notifications avec animations
8. Modals et Overlays
Style unifié
-
Modal de base :
- Overlay :
bg-black bg-opacity-50 - Container :
bg-cyber-dark border border-neon-cyan/30 rounded-lg - Padding cohérent :
p-6oup-8 - Max width selon contenu :
max-w-md,max-w-lg,max-w-xl
- Overlay :
-
Header de modal :
- Titre avec style cohérent
- Bouton fermer visible et accessible
- Séparateur si nécessaire
-
Footer de modal :
- Actions alignées à droite
- Bouton principal en dernier
- Espacement cohérent
Accessibilité
- Focus trap : Garder le focus dans la modal
- Escape key : Fermer avec Escape
- Click outside : Option de fermer en cliquant sur l'overlay
- ARIA : Labels et rôles appropriés
9. Formulaires
Style unifié
-
Inputs :
- Style cohérent :
border border-neon-cyan/30 rounded-lg bg-cyber-dark text-cyber-accent - Focus :
focus:ring-2 focus:ring-neon-cyan focus:border-neon-cyan - Placeholder :
placeholder-cyber-accent/50 - Erreur :
border-red-500/50avec message d'erreur
- Style cohérent :
-
Labels :
- Style cohérent :
text-sm font-medium text-cyber-accent mb-1 - Association avec
htmlForetid - Required indicator si nécessaire
- Style cohérent :
-
Groupes de champs :
- Espacement vertical cohérent
- Groupement logique
- Validation visuelle
Validation visuelle
-
États :
- Default : bordure neutre
- Focus : bordure cyan avec ring
- Error : bordure rouge avec message
- Success : bordure verte (si applicable)
-
Messages d'erreur :
- Position cohérente (sous le champ)
- Style cohérent :
text-sm text-red-400 - Icône d'erreur si applicable
10. Navigation
Header amélioré
-
Layout :
- Logo/titre à gauche
- Navigation centrale (si applicable)
- Actions à droite (connexion, langue, etc.)
-
Style :
- Background :
bg-cyber-dark border-b border-neon-cyan/30 - Hauteur cohérente
- Sticky si nécessaire
- Background :
Navigation mobile
-
Menu hamburger :
- Icône hamburger visible sur mobile
- Drawer/sidebar qui slide depuis la gauche ou droite
- Overlay sombre
- Animation fluide
-
Navigation verticale :
- Items de menu avec style cohérent
- États hover/active visibles
- Séparateurs si nécessaire
11. États vides et erreurs
États vides
-
Style cohérent :
- Icône ou illustration
- Message clair et actionnable
- CTA si applicable
- Centré verticalement et horizontalement
-
Exemples :
- "Aucun article trouvé" avec suggestion de recherche
- "Aucun auteur" avec lien pour créer
- "Liste vide" avec action pour ajouter
États d'erreur
- Style cohérent :
- Container :
bg-red-900/20 border border-red-500/50 rounded-lg p-4 - Texte :
text-red-400 - Icône d'erreur si applicable
- Message clair avec action de récupération
- Container :
12. Améliorations spécifiques
Corrections de cohérence
-
SeriesCard :
- Remplacer
bg-white,text-gray-700par thème cyber/neon - Appliquer le même style que
ArticleCardetAuthorCard
- Remplacer
-
AlbyInstaller :
- Remplacer les couleurs bleues génériques par le thème
- Utiliser les couleurs neon/cyber
Améliorations visuelles
-
Background grid :
- Utiliser
bg-cyber-gridsur certains containers pour effet cyber - Optionnel, à utiliser avec parcimonie
- Utiliser
-
Gradients :
- Gradients subtils pour certains backgrounds
- Gradients sur les bordures pour effet neon
-
Shadows et glows :
- Utiliser
shadow-glow-cyanetshadow-glow-greende manière cohérente - Ajouter des glows sur hover pour éléments interactifs
- Utiliser
Priorisation
Priorité haute
- Correction de cohérence (SeriesCard, AlbyInstaller)
- Système de boutons unifié
- Système de cards unifié
- Typographie et espacement cohérents
- Responsive design amélioré
Priorité moyenne
- Composants réutilisables (Button, Card, Input, etc.)
- Modals et overlays unifiés
- Formulaires avec validation visuelle
- Navigation mobile
- États vides et erreurs
Priorité basse
- Animations et transitions avancées
- Système d'icônes complet
- Background grid et effets visuels
- Documentation des composants
- Storybook ou documentation visuelle
Notes d'implémentation
- Toutes les améliorations doivent respecter le thème cyberpunk/neon existant
- Maintenir la cohérence avec les couleurs définies dans
tailwind.config.js - Tester sur différents appareils et tailles d'écran
- Vérifier l'accessibilité (contraste, focus, ARIA)
- Documenter les nouveaux composants et patterns
- Respecter les règles de qualité du projet (pas de duplication, composants réutilisables)