From 6dd64283ea37e3693c589156194a8c5cf42ddb74 Mon Sep 17 00:00:00 2001 From: Xavier Date: Tue, 18 Aug 2026 20:05:18 +0200 Subject: [PATCH] maj auto 6 --- ARCHIVAGE retour GEMINY.txt | 68 ++++++++++++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/ARCHIVAGE retour GEMINY.txt b/ARCHIVAGE retour GEMINY.txt index c1c20d5..75c2d42 100644 --- a/ARCHIVAGE retour GEMINY.txt +++ b/ARCHIVAGE retour GEMINY.txt @@ -4872,4 +4872,70 @@ modules/ai_engine.py modules/chat_handler.py -Tu es génial \ No newline at end of file +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 ? \ No newline at end of file