Dé-Replit-isation complète du projet

Supprimés :
- replit.md — doc Replit obsolète
- docs/GITEA_TUTO.md — tuto push Replit → Gitea (obsolète)
- artifacts/api-server/ — serveur TypeScript mort, remplacé par Flask
- artifacts/voix-du-peuple/vite.config.selfhost.ts — fusionné dans vite.config.ts

Nettoyés :
- ai_agent.py — fallback Replit AI supprimé (Mistral + OpenAI-compatible suffisent)
- vite.config.ts — plugins @replit/* retirés, PORT optionnel (défaut 5173)
- package.json + pnpm-workspace.yaml — @replit/* retirés du catalog et des deps
- badge.tsx + button.tsx — commentaires // @replit supprimés
- README.md, DEPLOIEMENT.md, DAT.md, DEX.md, WIKI.md — références Replit remplacées

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-23 22:41:06 +02:00
parent a7b7684e87
commit bc6bd3f9d7
28 changed files with 31 additions and 919 deletions
+7 -14
View File
@@ -3,7 +3,7 @@ La Voix du Peuple — Agent IA
Copyright (C) 2026 billisdead — Licence EUPL-1.2
Agent IA pour le filtrage éthique et la synthèse démocratique.
Supporte Mistral AI, OpenAI, et les intégrations Replit AI.
Supporte Mistral AI (par défaut) et tout fournisseur compatible OpenAI.
"""
import json
import os
@@ -20,10 +20,9 @@ _client: OpenAI | None = None
def get_client() -> OpenAI:
"""
Supporte trois modes (par ordre de priorité) :
1. Mistral AI : MISTRAL_API_KEY (+ MISTRAL_BASE_URL optionnel)
2. OpenAI standard : OPENAI_API_KEY (+ OPENAI_BASE_URL optionnel)
3. Replit AI Integration : AI_INTEGRATIONS_OPENAI_BASE_URL + AI_INTEGRATIONS_OPENAI_API_KEY
Supporte deux modes (par ordre de priorité) :
1. Mistral AI : MISTRAL_API_KEY (+ MISTRAL_BASE_URL optionnel)
2. OpenAI-compatible : OPENAI_API_KEY (+ OPENAI_BASE_URL optionnel)
"""
global _client
if _client is None:
@@ -31,26 +30,20 @@ def get_client() -> OpenAI:
mistral_base = os.environ.get("MISTRAL_BASE_URL", MISTRAL_BASE_URL)
std_key = os.environ.get("OPENAI_API_KEY")
std_base = os.environ.get("OPENAI_BASE_URL")
replit_base = os.environ.get("AI_INTEGRATIONS_OPENAI_BASE_URL")
replit_key = os.environ.get("AI_INTEGRATIONS_OPENAI_API_KEY")
if mistral_key:
logger.info("Utilisation de l'API Mistral AI (%s)", mistral_base)
_client = OpenAI(base_url=mistral_base, api_key=mistral_key)
elif std_key:
logger.info("Utilisation de l'API OpenAI")
kwargs = {"api_key": std_key}
logger.info("Utilisation d'une API compatible OpenAI")
kwargs: dict = {"api_key": std_key}
if std_base:
kwargs["base_url"] = std_base
_client = OpenAI(**kwargs)
elif replit_base and replit_key:
logger.info("Utilisation de l'intégration Replit AI")
_client = OpenAI(base_url=replit_base, api_key=replit_key)
else:
raise RuntimeError(
"Aucune clé IA configurée. "
"Définissez MISTRAL_API_KEY ou OPENAI_API_KEY dans le fichier .env, "
"ou configurez les intégrations Replit AI."
"Définissez MISTRAL_API_KEY (recommandé) ou OPENAI_API_KEY dans le fichier .env."
)
return _client