Astroloutre 🦦
Bienvenue sur le dépôt du site web de L'Antre des Loutres. Ce projet est une application web statique moderne construite avec Astro et React, conçue pour la performance, la flexibilité et une expérience utilisateur fluide.
🚀 Technologies
Ce projet utilise une stack moderne :
- Framework : Astro (v5) - Pour la génération statique et la performance.
- UI Library : React (v19) - Pour les composants interactifs complexes (tableaux de classements, etc.).
- Styling : Tailwind CSS (v4) & Variables CSS natives pour la gestion des thèmes.
- Langage : TypeScript - Pour un code robuste et typé.
🛠️ Installation et Démarrage
Prérequis
- Node.js (version LTS recommandée)
- npm (inclus avec Node.js)
Étapes
Cloner le projet
git clone https://github.com/L-Antre-des-Loutres/Reactisoutre.git cd ReactisoutreInstaller les dépendances
npm installLancer le serveur de développement
npm run devLe site sera accessible sur
http://localhost:4321.
Autres commandes utiles
| Commande | Action |
|---|---|
npm run build |
Compile le site pour la production dans le dossier ./dist/ |
npm run preview |
Prévisualise le build de production localement |
npm run astro check |
Lance une vérification des types et du code |
📂 Structure du Projet
L'architecture du code source dans src/ est organisée comme suit :
pages/: Contient les routes du site. Astro utilise un routage basé sur les fichiers (ex:pages/classements/minecraft.astrodevient/classements/minecraft).components/:classements/: Composants React gérant l'affichage et le tri des tableaux de scores.sections/: Blocs de mise en page réutilisables (Bannières, Présentations...).ui/: Composants d'interface atomiques (Boutons, Inputs...).
layouts/: Gabarits principaux (ex:Layout.astro) qui définissent la structure commune (Header, Footer, Meta tags).styles/:themes/: Définit les palettes de couleurs pour les modes Clair et Sombre via des variables CSS.global/: Styles CSS globaux spécifiques (ex:rankings.css).
utils/: Fonctions utilitaires, helpers de formatage et logique métier partagée.
🎨 Fonctionnement des Thèmes (Dark Mode)
Le site intègre un système de thème Clair / Sombre natif.
Ceci est géré via des variables CSS définies dans src/styles/themes/.
Les composants utilisent ces variables (ex: var(--background-color), var(--ranking-text-color)) pour s'adapter
automatiquement à la préférence de l'utilisateur ou au switch manuel.
📊 Données et API
L'application est "Frontend-only" pour l'affichage, mais elle consomme des données dynamiques. Toutes les statistiques (Minecraft, Palworld, Discord) sont récupérées depuis notre API publique :
Sources de données
- Minecraft : Données collectées par Otternel (Rust).
- Discord : Bot Discord interne pour les statistiques d'activité.
Pour toute demande de suppression de données, veuillez consulter notre page de gestion des données.
👥 Contributeurs
- Mathéo (matheo-1712) : Développement Frontend (Astro/React) & API Otterly.
- Corentin (corentin-cott) : Développement Backend, Outils de monitoring ( Rust/Go) & DevOps.