Bulletin météo intelligent & état des routes pour l'Oisans
Application web de bulletins météo en temps réel pour la région de l'Oisans (Alpes françaises) avec :
- IA générative (Google Gemini 2.5 Flash avec recherche web)
- Synthèse vocale des bulletins météo (Gemini TTS)
- Prévisions 7 stations (Le Bourg-d'Oisans, Alpe d'Huez, Les 2 Alpes, Vaujany, Oz, St-Christophe, Villard-Reculas)
- Alertes risques (sismique, crues, routes)
- Données météo via Prevision-Meteo.ch
- RGPD compliant avec bandeau cookies
- React 19.2.3 - Framework UI avec server components
- TypeScript 5.8.2 - Typage statique
- Vite 6.4.1 - Build tool ultra-rapide
- Lucide React - Bibliothèque d'icônes
- Tailwind CSS - Styling utility-first (intégré)
- Google Gemini AI 2.5 Flash - Analyse météo avec recherche web temps réel
- Gemini TTS - Synthèse vocale (voix Kore)
- Prevision-Meteo.ch - Données météo montagne
- ipapi.co - Géolocalisation utilisateur (RGPD)
- RGPD - Bandeau cookies obligatoire
- Cookies max 13 mois (Article 82 CNIL)
- Tracking consentement utilisateur
- Données locales (localStorage + cookies)
- Géolocalisation avec consentement
Pour configurer automatiquement tout votre environnement (Node.js, Docker, VS Code, etc.) et cloner le projet :
# Si vous n'avez pas encore le projet :
curl -sSL https://raw.githubusercontent.com/ThePhoenixAgency/Allo-Meteo/main/bootstrap.sh | bash
# Si vous avez déjà cloné le projet :
./bootstrap.shLe script est intelligent : il détecte s'il est déjà dans le dossier du projet et ne réinstalle que le nécessaire.
-
Configurer les Secrets GitHub (pour CI/CD) :
- Allez dans Settings > Secrets and Variables > Actions
- Ajoutez
GEMINI_API_KEYetOPENWEATHER_API_KEY.
-
Configurer l'Environnement Local (Optionnel) :
- Les clés sont récupérées via
process.env. Assurez-vous qu'elles sont dans votre environnement.
- Les clés sont récupérées via
-
Run the app:
npm run dev
-
Open: http://localhost:3000
📚 Guide complet: docs/vercel-deploy.md
Résumé:
- Se connecter sur vercel.com avec GitHub
- Importer le projet
ThePhoenixAgency/Allo-meteo - Ajouter
GEMINI_API_KEYetOPENWEATHER_API_KEYdans Environment Variables. - Déployer → C'est en ligne !
Vercel redéploie automatiquement à chaque push sur main.
| Cookie | Durée | Usage |
|---|---|---|
allo_meteo_consent |
13 mois | Consentement cookies |
allo_meteo_user_token |
13 mois | Identifiant utilisateur |
allo_meteo_user_profile- Profil utilisateur (ville, IP, visites)lastUserActivity- Timestamp dernière interaction (pas d'appel API si inactif)lastAIFetch- Cache requêtes IA (30 minutes)
L'utilisateur peut supprimer ses données via la console navigateur :
localStorage.clear();
document.cookie
.split(';')
.forEach(
(c) =>
(document.cookie =
c.trim().split('=')[0] + '=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/;'),
);- Correction Critique : Résolution de l'erreur TypeScript dans les tests unitaires via l'utilisation du constructeur
Responsenatif pour les mocks defetch. - Standardisation IA : Création de
.github/AI_INSTRUCTIONS.mdpour garantir la qualité du code (SOLID, DRY, KISS). - Versionnage Sémantique : Passage à la norme SemVer (Base 1.1.2).
- Footer Dynamique : Support de l'affichage automatique de la date de dernière mise à jour.
- Workflow Silencieux : CI/CD configurée pour des pushs/deploy sans notifications intrusives.
- Structure Simplifiée : Centralisation du code source à la racine (
index.tsx) pour une maintenance facilitée.
- Force de calcul : Ajout du support combiné OpenWeather et WeatherAPI pour une redondance maximale.
- Mode Test Local : Possibilité d'injecter les clés via terminal sans fichier
.env. - Refonte Cookie Banner : Nouvelle interface flottante, plus discrète et moderne.
- Gemini AI : Météo intelligente avec recherche web temps réel.
- Architecture Oisans : 7 stations connectées.
- CI/CD Vercel : Pipeline de déploiement automatique.
- Gemini obligatoire pour météo temps réel (recherche web active)
- GPS précis : 7 stations de l'Oisans pré-configurées
- Prompt structuré : format forcé avec validation des sections requises
- Cache 30min : économie tokens Gemini
- Pas d'appel API sans interaction utilisateur
- Coordonnées GPS validées (toutes stations < 50km du Bourg d'Oisans)
- API météo : gestion erreurs 404, 500, timeout
- Tokens Gemini : cache, rate limiting 5s
- Disponibilité 24/7 sans fenêtre de maintenance
- GitHub Actions : build + tests automatiques
- Auto-merge : si tests passent (sauf Dependabot)
- Vercel deploy : automatique sur merge main
- Ajout timeout sur requêtes API externes
- Validation améliorée des réponses API
- Utilisation
URL()constructor pour construction d'URLs - Optimisation gestion d'erreurs
📚 Guide détaillé: docs/vercel-deploy.md
Résumé: Modifier index.tsx (lignes 23-25, 151-157, 159) → Commit + push → Vercel redéploie automatiquement
Coordonnées GPS: Google Maps → Clic droit → "Copier les coordonnées"
📚 Guide complet: docs/prompt-test.md
npm test # 19 tests automatiques
npm run test:watch # Mode watch
npm run test:coverage # CouvertureTests: GPS, API météo (404/500/timeout), tokens Gemini, format réponses, disponibilité 24/7
npm run build # Production build
npm run preview # Test production locally
npm run validate # Lint + TypeCheck + Tests + Build