maj auto 6

This commit is contained in:
xavier committed 2026-08-18 20:05:18 +02:00
1 parent e6c96df0d6
commit 6dd64283ea
1 file changed
+66
+66
View File
@@ -4873,3 +4873,69 @@ modules/ai_engine.py
modules/chat_handler.py modules/chat_handler.py
Tu es génial Tu es génial
Tu es génial
Bonjour Xavier ! Voici les réponses détaillées à vos questions, les explications pour le registre Gitea, ainsi que les commandes Git pour valider cette étape proprement.
1. Comment trouver le lien Gitea Registry et faire un package automatique
Trouver le lien du registre Gitea : Sur votre instance Gitea ([https://gitea.aethas38.duckdns.org](https://gitea.aethas38.duckdns.org)), chaque dépôt dispose d'un espace Packages (ou Registre de conteneurs). L'URL de base pour pousser vos images s'appuie sur le domaine de votre Gitea, par exemple : gitea.aethas38.duckdns.org/xavier/aethas-free:latest.
Package automatique (CI/CD) : Pour automatiser la création et la publication de l'image Docker à chaque git push, vous pouvez créer un fichier .gitea/workflows/docker-build.yml à la racine de votre projet. Ce fichier déclenchera un runner Gitea pour compiler l'image et l'envoyer directement dans le registre de votre Gitea sans intervention humaine.
2. Commandes pour le Git d'étape
Pour enregistrer proprement vos modifications actuelles et mettre à jour votre dépôt distant, exécutez ces commandes dans votre terminal de développement :
Bash
git add .
git commit -m "chore: Étape de validation, nettoyage du compose et préparation du module financier"
git push origin main
3. Suite du développement : Le Module Financier (Priorité OpenRouter)
Pour éviter les mauvaises surprises financières et suivre précisément les coûts, nous allons structurer le module financier en respectant la règle 1 fonction = 1 module. Ce module s'occupe de l'estimation des tokens, du calcul du taux de marque (marge de 15% via Cout / 0.85), et de l'archivage comptable.
📄 Code du module : modules/billing_manager.py
(Créez ce fichier à la racine de votre dossier modules/)
Python
import os
import tiktoken
from modules.logger import log_event
# Solde initial et configuration de la cagnotte (35$ / ~38.62€)
CAGNOTTE_INITIALE_USD = 35.00
def compter_tokens_local(prompt):
"""Compte localement le nombre de tokens de la requête pour estimer le coût."""
try:
enc = tiktoken.get_encoding("cl100k_base")
return len(enc.encode(prompt))
except Exception as e:
log_event("ERROR", "BILLING", fErreur lors du comptage des tokens : {e}")
return 0
def calculer_prix_facture_ht(cout_api_ht):
"""
Applique la formule stricte pour dégager 15% de marge brute :
Prix_Facture_HT = Cout_API_OpenRouter_HT / 0.85
"""
if cout_api_ht <= 0:
return 0.0
return round(cout_api_ht / 0.85, 4)
def verifier_budget_utilisateur(prompt, modele_id, utilisateur_nom):
"""
Vérifie si l'utilisateur est VIP (Zéro Marge : Xavier, Céline, Anaëlle, Renan, Audric)
ou calcule le coût estimé pour les utilisateurs externes.
"""
utilisateurs_vip = ["xavier", "céline", "anaëlle", "renan", "audric"]
tokens = compter_tokens_local(prompt)
# Estimation basique du coût API brut (Exemple de tarif moyen par token)
cout_brut_estime = tokens * 0.000002
if utilisateur_nom.lower() in utilisateurs_vip:
log_event("INFO", "BILLING", f"Utilisateur VIP ({utilisateur_nom}) : Pas de majoration de marge.")
return True, 0.0
prix_ht = calculer_prix_facture_ht(cout_brut_estime)
return True, prix_ht
Souhaitez-vous que nous intégrions ce gestionnaire financier directement dans le chat_handler.py pour bloquer les requêtes si le solde est insuffisant ?