Une application web moderne pour visualiser et analyser les données de votre serveur Nightscout. Conçue pour les personnes atteintes de diabète qui utilisent des systèmes de surveillance continue du glucose (CGM).
- Graphiques de tendance glycémique avec visualisation en temps réel
- Statistiques détaillées : moyenne, min/max, écart-type, coefficient de variation
- Time in Range (TIR) avec calculs automatiques des zones cibles
- Sélecteur de dates pour analyser des périodes spécifiques
- Vue journalière avec statistiques détaillées par jour
- Graphiques interactifs avec Recharts
- Affichage des traitements (insuline, glucides, corrections)
- Indicateurs de tendance glycémique
- Zones colorées pour les cibles glycémiques
- Export de rapports personnalisés
- Inclusion de graphiques et statistiques
- Informations patient configurables
- Format professionnel pour les consultations médicales
- Support complet du français et de l'anglais
- Interface traduite avec react-i18next
- Configuration i18n optimisée
- Interface adaptée mobile, tablette et desktop
- Design moderne avec Tailwind CSS
- Composants UI avec Radix UI
- Mode sombre/clair
- MyDiabby : Envoi direct des données
- Partage social : Liens de partage optimisés
- Analytics : Suivi des performances (optionnel)
- Node.js 18+
- npm, yarn, pnpm ou bun
# Cloner le repository
git clone https://github.com/votre-username/nightscout-viewer.git
cd nightscout-viewer
# Installer les dépendances
npm install
# Lancer en mode développement
npm run devL'application sera accessible sur http://localhost:3000
npm run dev # Démarrage en mode développement
npm run build # Build de production
npm run start # Démarrage en mode production
npm run lint # Vérification du code avec ESLintCréez un fichier .env.local à la racine du projet :
# URL de base de votre application
NEXT_PUBLIC_BASE_URL=https://votre-domaine.com
# Google Analytics (optionnel)
NEXT_PUBLIC_GA_ID=G-XXXXXXXXXX
# Vérification Google Search Console (optionnel)
GOOGLE_SITE_VERIFICATION=votre-code-verification- Accédez à l'application
- Cliquez sur "Se connecter"
- Entrez l'URL de votre serveur Nightscout
- Ajoutez votre token d'authentification (optionnel mais recommandé)
nightscout-viewer/
├── app/ # Pages Next.js 13+ (App Router)
│ ├── layout.tsx # Layout principal
│ ├── page.tsx # Page d'accueil
│ ├── login/ # Page de connexion
│ └── globals.css # Styles globaux
├── components/ # Composants React
│ ├── dashboard/ # Composants du dashboard
│ └── ui/ # Composants UI réutilisables
├── lib/ # Utilitaires et services
├── types/ # Types TypeScript
│ └── nightscout.ts # Types pour les données Nightscout
├── public/ # Assets statiques
└── i18n.js # Configuration internationalisation
- Next.js 15 - Framework React avec App Router
- React 19 - Bibliothèque UI
- TypeScript - Typage statique
- Tailwind CSS 4 - Framework CSS utilitaire
- Radix UI - Composants UI accessibles
- Recharts - Graphiques interactifs
- Lucide React - Icônes modernes
- jsPDF - Génération de rapports PDF
- date-fns - Manipulation des dates
- react-i18next - Traduction multilingue
- next-i18next - Intégration Next.js
- @vercel/analytics - Analytics
- next-seo - Optimisation SEO
- Valeurs de glucose (sgv)
- Direction et tendance
- Horodatage
- Type de dispositif
- Bolus d'insuline
- Corrections de glucides
- Basales temporaires
- Notes et commentaires
- Ratios glucides/insuline
- Sensibilités
- Basales programmées
- Cibles glycémiques
L'application supporte les modes sombre et clair automatiquement.
Les composants utilisent class-variance-authority pour une personnalisation facile des styles.
Les graphiques sont entièrement configurables via les props des composants Recharts.
Le projet inclut des optimisations SEO complètes :
- Métadonnées optimisées pour chaque page
- Open Graph et Twitter Cards
- Schema.org JSON-LD pour les données structurées
- Sitemap.xml automatique
- Robots.txt optimisé
- Manifest.json pour PWA
Voir SEO_OPTIMIZATIONS.md pour plus de détails.
Les contributions sont les bienvenues ! Voici comment contribuer :
- Fork le projet
- Créez une branche pour votre fonctionnalité (
git checkout -b feature/AmazingFeature) - Committez vos changements (
git commit -m 'Add some AmazingFeature') - Push vers la branche (
git push origin feature/AmazingFeature) - Ouvrez une Pull Request
- Utilisez TypeScript pour tout nouveau code
- Suivez les conventions ESLint configurées
- Ajoutez des tests pour les nouvelles fonctionnalités
- Documentez les nouvelles APIs
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
L'application ne se connecte pas à Nightscout :
- Vérifiez l'URL de votre serveur Nightscout
- Assurez-vous que votre serveur est accessible
- Vérifiez votre token d'authentification
Les données ne s'affichent pas :
- Vérifiez la période sélectionnée
- Assurez-vous que des données existent pour cette période
- Vérifiez les permissions de votre token
- Issues GitHub : Créer une issue
- Discussions : Forum GitHub
- Nightscout Foundation pour l'écosystème Nightscout
- Communauté diabète pour les retours et suggestions
- Contributeurs open source pour les bibliothèques utilisées
Note : Cette application est un outil de visualisation et ne remplace pas les conseils médicaux. Consultez toujours votre équipe médicale pour les décisions de traitement.