Skip to content

Repository files navigation

📅 Steph Calendar

VersionLicenseNetlify Status

Une Progressive Web App moderne et élégante pour consulter votre emploi du temps universitaire français (CELCAT, Hyperplanning, ADE Campus).

Calendar Preview


📋 Table des matières


✨ Fonctionnalités

🎯 Fonctionnalités principales

  • 📱 PWA - Installable sur mobile et desktop, fonctionne hors-ligne
  • 🔄 Multi-format ICS - Compatible CELCAT, Hyperplanning, ADE Campus
  • 🎨 Interface moderne - Design glassmorphism avec animations fluides
  • 📅 Vues multiples - Jour, Agenda, Mois
  • 🔍 Recherche - Trouvez rapidement vos cours
  • ⏱️ Countdown - Compte à rebours vers le prochain cours
  • 📊 Statistiques - Visualisez votre charge de travail

🇫🇷 Compatibilité Calendriers Français

SystèmeLabelsGroupesMulti-profs
CELCAT
Hyperplanning
ADE Campus

📲 Fonctionnalités additionnelles

  • 🌙 Mode sombre automatique
  • 👆 Gestes tactiles - Swipe pour naviguer
  • 🔔 Filtres - Masquer matières/types de cours
  • 📡 Calendrier secondaire - Fusionner deux EDT
  • 💾 Cache hors-ligne - Accès sans internet

🚀 Démarrage rapide

# Cloner et lancer en une commande
git clone https://github.com/ProGen18/calendar.git &&cd calendar && npm install && npm run dev

📦 Installation

Prérequis

  • Node.js ≥ 18.0.0
  • npm ≥ 9.0.0

Étapes

# 1. Cloner le repository
git clone https://github.com/ProGen18/calendar.git
# 2. Accéder au dossiercd calendar
# 3. Installer les dépendances
npm install

⚙️ Configuration

Variables d'environnement

Aucune variable d'environnement requise ! L'application stocke tout localement.

Configuration utilisateur

Au premier lancement, l'application demande votre URL de calendrier ICS :

  1. Connectez-vous à votre ENT universitaire
  2. Accédez à CELCAT/Hyperplanning
  3. Exportez votre calendrier au format ICS
  4. Collez le lien dans l'application

🏃 Lancement

Développement

npm run dev
# Accessible sur http://localhost:5173

Production

# Build
npm run build
# Preview du build
npm run preview

📁 Structure du projet

calendar/
├── 📄 index.html # Point d'entrée HTML
├── 📄 package.json # Dépendances npm
├── 📄 vite.config.js # Configuration Vite + PWA
├── 📄 netlify.toml # Configuration Netlify
├── 📁 public/
│ └── 📄 favicon.svg # Icône de l'app
└── 📁 src/
├── 📄 main.jsx # Point d'entrée React
├── 📄 App.jsx # Composant principal + UI
├── 📄 calendarService.js # Parser ICS multi-format
└── 📄 index.css # Styles (glassmorphism)

🛠️ Technologies

Stack principal

TechnologieVersionUsage
React18.3UI Components
Vite5.4Build tool
vite-plugin-pwa0.20Service Worker

Dépendances

  • date-fns - Manipulation des dates
  • date-fns-tz - Gestion des fuseaux horaires
  • node-ical - Parsing ICS (référence)

Design

  • CSS Variables - Theming dynamique
  • Glassmorphism - Effets de verre modernes
  • Inter - Police Google Fonts

📝 Utilisation

Formats ICS supportés

# CELCAT
webcal://celcat.univ-xyz.fr/...
# Hyperplanning
https://planning.xyz.fr/hp2025/Telechargements/ical/...
# ADE Campus
https://ade.univ-xyz.fr/jsp/custom/modules/plannings/...

Paramètres disponibles

OptionDescription
URL ICSLien vers votre calendrier
URL SecondaireCombiner deux emplois du temps
Filtres regexMasquer cours par motif
Masquer dimanchesCacher les dimanches de la navigation

🤝 Contribution

Les contributions sont les bienvenues !

  1. Fork le projet
  2. Créez votre branche (git checkout -b feature/nouvelle-fonctionnalite)
  3. Committez (git commit -m 'Ajout nouvelle fonctionnalité')
  4. Push (git push origin feature/nouvelle-fonctionnalite)
  5. Ouvrez une Pull Request

📄 Licence

Distribué sous licence MIT. Voir LICENSE pour plus d'informations.


🔒 Politique de Confidentialité & RGPD

Cette application est conçue dans le respect de la vie privée ("Privacy by Design").

1. Collecte des données

Aucune donnée personnelle n'est collectée, trackée ou vendue. L'application fonctionne selon le principe du "Local-First" :

  • Vos préférences (thème, filtres) sont stockées dans le localStorage de votre navigateur.
  • Vos données de calendrier sont mises en cache localement pour permettre le mode hors-ligne.

2. Flux de données

  • Calendriers : L'application récupère votre emploi du temps via des requêtes directes ou via des proxys CORS publics (AllOrigins) si nécessaire. Ces proxys ne font que relayer la requête sans stocker les données.
  • Analytics : Aucun tracker publicitaire ou d'analyse comportementale (Google Analytics, etc.) n'est intégré.

👥 Auteurs

Stéphane Talab - Créateur - stephane-talab.fr


🐛 Problèmes connus

ProblèmeSolution
CORS bloquéL'app utilise des proxies automatiques
Cache obsolèteRafraîchir via le menu "..."
Dates décaléesVérifiez le fuseau horaire de l'ICS

Fait avec ❤️ pour les étudiants et les professeurs français

About

Une Progressive Web App moderne et élégante pour consulter votre emploi du temps universitaire français (CELCAT, Hyperplanning, ADE Campus).

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages