Le champ pronote_url dans PronoteSettings avec env_prefix=PRONOTE_
produisait PRONOTE_PRONOTE_URL au lieu de PRONOTE_URL. La variable
documentée dans .env.example et tous les guides était donc ignorée.
Renomme le champ pronote_url → url pour que le mécanisme standard
env_prefix + nom de champ produise PRONOTE_URL. Toutes les références
au champ settings.pronote.pronote_url sont mises à jour vers
settings.pronote.url dans le code de production et les tests.
Changements :
- settings.py : champ pronote_url → url, retrait du contournement alias
- client.py : self._settings.pronote_url → self._settings.url
- fallback.py : pronote.pronote_url → pronote.url
- tests : mises à jour des constructions et assertions, test de
régression pour le mapping PRONOTE_URL → url
Co-authored-by: opencode/coder litellm/coder@agents.invalid
Co-authored-by: opencode/test-engineer litellm/test-engineer@agents.invalid
PRONOTE_ENT était incorrectement traité comme obligatoire pour pronotepy. Rend ENT optionnel pour les connexions directes, conformément à la spécification. Corrige le mode pronotepy explicite et le mode auto sans iCal. 10 tests de régression ajoutés.
Co-authored-by: Antoine Van Elstraete <antoine@van-elstraete.net>
Co-committed-by: Antoine Van Elstraete <antoine@van-elstraete.net>
- test_ical.py : 20 tests (fetch file://, parsing VEVENT, détection
cours annulé, collect_homeworks avec déduplication, normalisation,
génération d'ID déterministe, redaction des erreurs)
- test_pronote_client.py : 9 tests (Protocol, messages mockés,
informations, agenda fallback, credentials manquants, sécurité
mot de passe)
- test_fallback.py : 16 tests (modes ICAL/PRONOTEPY/AUTO, repli,
PipelineCriticalError si les deux sources échouent, redaction
des erreurs)
- pre-commit : ajout de responses et pytest-mock au hook mypy
- Total : 42 nouveaux tests M4 (122 tests au total sur le projet)
Co-authored-by: opencode/test-engineer <test-engineer@agents.invalid>