Cinq corrections de l'audit FIXME_M9 : - redact_secrets() étendue avec extra_secrets pour masquer les clés brutes ; providers stockent SecretStr jusqu'à l'appel SDK. - _build_prompt() inclut le contenu des messages (tronqué à 500 car.) ; prompt système renforcé contre l'injection. - _validate_output() supprime les emojis et rejette titre/liste/HTML → None. - Tests litellm utilisent importorskip + LITELLM_LOCAL_MODEL_COST_MAP=true. - .env.example désactive l'IA par défaut (AI_ENABLED=false). - Documentation §9.2-§9.5 alignée avec l'implémentation (SDK openai, SecretStr, factory réelle, validation sortie, politique hors réseau). Co-authored-by: opencode/coder <coder@agents.invalid> Co-authored-by: opencode/test-engineer <test-engineer@agents.invalid> Co-authored-by: opencode/tech-writer <tech-writer@agents.invalid>
59 lines
1.7 KiB
Plaintext
59 lines
1.7 KiB
Plaintext
# --- Pronote ---
|
|
PRONOTE_ICAL_URL=https://college.ent/pronote/ical/Edt_Jean.ics?icalsecurise=REPLACE_ME&version=2024
|
|
PRONOTE_URL=https://college.ent/pronote/eleve.html
|
|
PRONOTE_ACCOUNT_TYPE=parent
|
|
PRONOTE_USERNAME=parent.dupont
|
|
PRONOTE_PASSWORD=your_secure_password
|
|
PRONOTE_ENT=monbureaunumerique
|
|
|
|
# Sources (auto = essayer iCal d'abord, puis pronotepy)
|
|
PRONOTE_AGENDA_SOURCE=auto
|
|
PRONOTE_HOMEWORK_SOURCE=auto
|
|
PRONOTE_MESSAGES_SOURCE=pronotepy
|
|
|
|
# --- CalDAV ---
|
|
CALDAV_URL=https://caldav.example.com/calendars/user/pronote/
|
|
CALDAV_USERNAME=user@example.com
|
|
CALDAV_PASSWORD=your_caldav_password
|
|
CALDAV_CALENDAR_PATH=/pronote-sync/
|
|
# Autoriser HTTP (non-HTTPS) pour un serveur CalDAV local (localhost uniquement)
|
|
CALDAV_ALLOW_INSECURE_HTTP=false
|
|
|
|
# Fenêtre de synchronisation (jours)
|
|
SYNC_PAST_DAYS=7
|
|
SYNC_FUTURE_DAYS=30
|
|
|
|
# --- Agenda théorique ---
|
|
THEORETICAL_AGENDA_PATH=./data/theoretical.json
|
|
SCHOOL_HOLIDAYS_PATH=./data/school_holidays.json
|
|
THEORETICAL_WEEK_ANCHOR_DATE=2026-09-01
|
|
THEORETICAL_WEEK_ANCHOR_TYPE=even
|
|
|
|
# --- XMPP ---
|
|
XMPP_ENABLED=false
|
|
XMPP_JID=user@example.com
|
|
XMPP_PASSWORD=your_xmpp_password
|
|
XMPP_HOST=example.com
|
|
XMPP_PORT=5222
|
|
XMPP_TO=parent@example.com
|
|
XMPP_RESOURCE=pronote-sync
|
|
XMPP_USE_TLS=true
|
|
XMPP_TIMEOUT=30
|
|
|
|
# --- IA (optionnelle) ---
|
|
# L'IA est désactivée par défaut ; l'activer volontairement (AI_ENABLED=true)
|
|
# et renseigner une clé API valide avant tout envoi.
|
|
AI_ENABLED=false
|
|
AI_PROVIDER=openai
|
|
AI_BASE_URL=https://api.openai.com/v1
|
|
# AI_API_KEY=
|
|
# AI_MODEL=gpt-4o-mini # exemple recommandé, non activé par défaut
|
|
|
|
# --- Blog ---
|
|
BLOG_ENABLED=false
|
|
BLOG_RSS_URL=https://blogpeda.ac-bordeaux.fr/cjeliote/?feed=rss2
|
|
|
|
# --- Divers ---
|
|
DRY_RUN=false
|
|
LOG_LEVEL=INFO
|