Une application web moderne pour visualiser et analyser vos données météorologiques intérieures et extérieures
-
📈 Visualisations Interactives
- Graphiques en temps réel des températures et de l'humidité
- Comparaison intérieur/extérieur
- Zoom et filtrage des données
-
📊 Analyse Avancée
- Statistiques détaillées par période
- Calcul des tendances
- Alertes personnalisables
-
🎯 Performance Optimisée
- Échantillonnage intelligent des données
- Mise en cache optimisée
- Chargement progressif
-
📱 Interface Responsive
- Adapté à tous les appareils
- Design moderne et intuitif
- Thème sombre/clair automatique
- Node.js (v18+)
- Angular CLI (v18.2+)
- Rust (dernière version stable)
- MariaDB/MySQL
- Cloner le repository
git clone https://github.com/LukaChassaing/meteo-dashboard.git
cd meteo-dashboard
- Installer les dépendances frontend
npm install
- Configurer la base de données
mysql -u root -p < commandes_sql.txt
- Configurer l'environnement
cp .env.example .env
# Éditer .env avec vos paramètres
- Lancer le serveur de développement
# Frontend
npm start
# Backend
cd meteo_api_server
cargo run --release
src/
├── app/
│ ├── components/ # Composants réutilisables
│ ├── services/ # Services d'accès aux données
│ └── models/ # Interfaces et types
├── assets/ # Ressources statiques
└── environments/ # Configuration par environnement
- API RESTful
- Base de données MariaDB/MySQL
- Gestion optimisée des mesures
- Cache intelligent
- Affichage des données par localisation
- Zoom interactif
- Filtrage temporel
- Statistiques en temps réel
- Indicateurs de tendance
- Alertes configurables
- Vue comparée intérieur/extérieur
- Synchronisation des données
- Analyses croisées
export const environment = {
production: false,
apiUrl: 'http://localhost:3000',
updateInterval: 60000 // ms
};
DATABASE_URL=mysql://user:password@localhost/meteo_db
PORT=3000
RUST_LOG=info
- Desktop: Vue complète avec tous les graphiques
- Tablet: Disposition adaptative en colonnes
- Mobile: Interface optimisée et simplifiée
GET /measurements # Toutes les mesures
GET /measurements/:location # Mesures par localisation
POST /push-measures # Ajout de mesures
GET /stats # Statistiques globales
{
"temperature": 23.5,
"humidity": 65.0,
"location": "interior",
"timestamp": "2024-01-01T12:00:00Z"
}
- Échantillonnage Intelligent: Réduction automatique des données
- Mise en Cache: Cache optimisé des requêtes fréquentes
- Compression: Gzip pour les transferts de données
# Frontend
npm start # Serveur de développement
npm run build # Build de production
npm run test # Tests unitaires
npm run lint # Vérification du code
# Backend
cargo run # Mode développement
cargo test # Tests
cargo build --release # Build de production
# Frontend
npm run test
npm run e2e
# Backend
cargo test
- Build Frontend
npm run build
# Les fichiers seront dans ./dist/meteo-dashboard
- Build Backend
cd meteo_api_server
cargo build --release
# L'exécutable sera dans ./target/release
- Configuration Serveur
# Utiliser le script d'installation fourni
./install.sh
mysqldump -u root -p meteo_db > backup.sql
mysql -u root -p meteo_db < backup.sql
- Frontend:
/var/log/nginx/meteo-dashboard.log
- Backend:
/var/log/meteo-server/
- Base de données:
/var/log/mysql/
- Fork le projet
- Créer une branche
git checkout -b feature/amazing-feature
- Commit les changements
git commit -m 'Add amazing feature'
- Push
git push origin feature/amazing-feature
- Ouvrir une Pull Request
Ce projet est sous licence GPL-3.0 - voir le fichier LICENSE pour plus de détails.
Développé avec ❤️ par Luka Chassaing