Files
zeus-filter/README.md
2026-01-28 12:07:42 +01:00

131 lines
3.7 KiB
Markdown

# Zeus Filter 🎓
Un service Python léger qui filtre l'emploi du temps S4 Lyon 2029 de l'EPITA depuis l'API Zeus selon vos groupes de TD et SH.
## 📋 Description
Zeus Filter récupère le calendrier global de votre classe depuis Zeus au format ICS et applique des filtres personnalisés selon vos groupes. Vous obtenez ainsi un calendrier .ics optimisé contenant uniquement vos cours, facilement intégrable dans Apple Calendar, Google Calendar ou tout autre client de calendrier.
## ✨ Fonctionnalités
- 🔄 Récupération et synchronisation automatique du calendrier depuis l'API Zeus
- 🎯 Filtrage par groupe de TD (1.1 ou 1.2)
- 📚 Filtrage par groupe de SH - Anglais & Ethique (1.1, 1.2 ou 1.3)
- 📍 Conservation des informations de salle
- 📱 Compatible avec Apple Calendar, Google Calendar, Android
- 🔗 URL simple et intuitive
- ⚡ Léger et rapide
## 🚀 Usage
### Calendrier global (tous les cours)
```
https://zeus.ghirardiv.fr/calendar.ics
```
### Calendrier filtré
```
https://zeus.ghirardiv.fr/calendar.ics?td=<GROUPE_TD>&sh=<GROUPE_SH>
```
#### Paramètres disponibles
| Paramètre | Valeurs possibles | Description |
|-----------|-------------------|-------------|
| `td` | `1.1`, `1.2` | Votre groupe de TD |
| `sh` | `1.1`, `1.2`, `1.3` | Votre groupe de SH |
### Exemple
**Groupe TD 1.1 et SH 1.2 :**
```
https://zeus.ghirardiv.fr/calendar.ics?td=1.1&sh=1.2
```
## 📱 Intégration avec votre calendrier
### Sur iPhone / iPad (Apple Calendar)
1. Ouvrez l'application **Réglages**
2. Allez dans **Calendrier** > **Comptes Calendrier** > **Ajouter un compte**
3. Sélectionnez **Ajouter un autre compte...** > **Calendrier (abonnement)**
4. Collez votre URL personnalisée (par exemple : `https://zeus.ghirardiv.fr/calendar.ics?td=1.1&sh=1.2`)
5. Laissez coché **Utiliser SSL** et **Supprimer les alertes**
6. Personnalisez le nom d'affichage du calendrier (champ **Description**)
7. Appuyez sur **Enregistrer**
### Sur Android (Google Calendar) / Outlook / Autres clients
La plupart des clients de calendrier supportent l'abonnement à des calendriers ICS via URL. Consultez la documentation de votre client pour plus d'informations.
## 🛠️ Installation (pour développeurs)
### Prérequis
- Docker
- Docker Compose
- Make
### Installation locale
```bash
# Cloner le dépôt
git clone https://git.ghirardiv.fr/valentin/zeus-filter.git
cd zeus-filter
# Configurer les variables d'environnement
cp .env.empty .env
# Éditer le fichier .env avec vos paramètres
vim .env
# Créer le fichier compose.override.yml pour exposer le port (ou configuration réseau avancée si nécessaire)
cat > compose.override.yml << EOF
services:
zeus-filter:
ports:
- 80:80
EOF
# Lancer le service
make up
```
Le service sera accessible sur `http://localhost`
### Commandes utiles
```bash
make build # Construire l'image Docker
make up # Démarrer le service
make down # Arrêter le service
make restart # Redémarrer le service
make logs # Afficher les logs
```
## 🏗️ Architecture
```
zeus-filter/
├── app/ # Code source Python
├── .env.empty # Template de configuration
├── Dockerfile # Configuration de l'image Docker
├── compose.yml # Configuration du container Docker
└── Makefile # Gestionnaire de commandes
```
## 📄 Licence
Ce projet est destiné à un usage personnel et éducatif pour les étudiants de l'EPITA Lyon S4 2029.
## 🔗 Liens utiles
- Service en ligne : [zeus.ghirardiv.fr/calendar.ics](https://zeus.ghirardiv.fr/calendar.ics)
- Dépôt Git : [git.ghirardiv.fr/valentin/zeus-filter](https://git.ghirardiv.fr/valentin/zeus-filter)
---
Développé avec ❤️ pour les étudiants de l'EPITA Lyon