From b4ed2947d47825645f352a65424fcb1a0e76b181 Mon Sep 17 00:00:00 2001 From: Xavier Date: Sat, 22 Aug 2026 01:10:40 +0200 Subject: [PATCH] =?UTF-8?q?Auto-updater,=20limites=20CPU=2060%=20et=20fact?= =?UTF-8?q?uration=20corrig=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 16 +- aethas_balances.json | 2 +- aethas_financial_audit.json | 57 + aethas_ip_logs.json | 7038 +++++++++++++++++++++++++++++++++++ main.py | 29 +- modules/ai_engine.py | 13 +- modules/ai_gemini.py | 6 +- modules/ai_local.py | 14 +- modules/ai_openrouter.py | 75 +- modules/chat_handler.py | 121 +- modules/logger.py | 40 +- modules/model_updater.py | 55 + modules/moderator.py | 9 +- modules/rag_manager.py | 39 +- modules/ui_components.py | 21 +- 15 files changed, 7413 insertions(+), 122 deletions(-) create mode 100644 aethas_financial_audit.json create mode 100644 modules/model_updater.py diff --git a/README.md b/README.md index cb117be..73e9a4d 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Pour fonctionner de manière optimale, l'Orchestrateur Local nécessite au minim ### Phase 4 : Gestion des Utilisateurs & Sécurité Légale - [ ] Mettre en place une bibliothèque logicielle autonome sur le serveur (création PDF, DOCX, etc.). -- [ ] Routage automatique (Gratuit vs Payant) sélectionné par l'utilisateur. +- [x] Routage automatique (Gratuit vs Payant) sélectionné par l'utilisateur. - [X] Système de connexion sécurisé avec configuration du premier lancement (DOB depuis 1900, Email, Clés API). L'installateur a obligatoirement le rôle "Dieu tout puissant" sur son se (Admin global = Super Admin). - [x] Système de cryptage de grade militaire (Fernet) et de Hashing (Bcrypt) mis en place. - [X] Sécurité Légère : Fail2Ban, protection Bruteforce et DDoS. **Blocage total des accès VPN sauf adresses locales (192.168.xxx.xxx & 10.xxx.xxx.xxx)**. @@ -41,8 +41,8 @@ Pour fonctionner de manière optimale, l'Orchestrateur Local nécessite au minim ### Phase 5 : Sécurité Financière & Facturation Exacte 💰 - [x] Pré-calcul local du nombre de tokens (via `tiktoken`) pour estimer le coût avant envoi (Module `billing_manager.py`). Bloquage automatique si coût > 0. -- [x] Synchronisation dynamique du catalogue OpenRouter et calcul de facturation au token réel (`tokens_in` / `tokens_out` via `response.usage`). -- [ ] Interface UI : Affichage du Pop-Up de validation du coût pour l'utilisateur. +- [x] Synchronisation dynamique du catalogue OpenRouter et calcul de facturation au token réel (`tokens_in` / `tokens_out` via `response.usage`). +- [x] Interface UI : Affichage du Pop-Up OBLIGATOIRE de validation du coût pour TOUS les utilisateurs. - [ ] Cryptage absolu de toutes les données sensibles et bancaires. - [ ] Module de conversion des devises en temps réel (Taux du jour) pour un affichage transparent. - [ ] **Utilisateurs Privilégiés (Zéro Marge) :** A définir par Admin/Super Admin. Autorisation de virements manuels pour la cagnotte. @@ -50,11 +50,11 @@ Pour fonctionner de manière optimale, l'Orchestrateur Local nécessite au minim - [ ] Export comptable Excel (TCD) par utilisateur via Pandas/Openpyxl et archivage PDF automatisé. ### Phase 6 : Nouvelles Capacités IA (Spécialisations & Modèles) 🤖 -*Note : L'infrastructure bascule sur un catalogue dynamique pour pallier les décommissionnements constants des fournisseurs tiers.* +*Note : L'infrastructure bascule sur un catalogue dynamique via `modules/model_updater.py` pour pallier les décommissionnements constants des fournisseurs tiers (MAJ toutes les 2h).* | Domaine de tâche | Modèle / Moteur | Fournisseur / Hébergement | Rôle principal | | :--- | :--- | :--- | :--- | -| **Orchestration & Tri** | Qwen 2.5 Coder (3B) | Local (GTX 1650 / Ollama) | Analyse l'intention, juge de sécurité et route vers la bonne IA | +| **Orchestration & Tri** | Llama 3.2 3B Instruct Abliterated | Local (GTX 1650 / Ollama) | Analyse l'intention, juge de sécurité sans censure et route vers la bonne IA | | **Bureautique & Code** | à définir par le Super Admin | Programmation, scripts, macros VBA, mathématiques | | **Images HD / Fichiers** | à définir par le Super Admin | Analyse d'images/vidéos et documents joints | | **Génération Multimédia** | à définir par le Super Admin | Création d'images et vidéos (Text-to-Image / Text-to-Video) | @@ -67,18 +67,18 @@ Pour fonctionner de manière optimale, l'Orchestrateur Local nécessite au minim - [ ] Création d'un Wiki détaillé multilingue pour l'installation personnelle. ### Phase 9 : Modération Automatisée & Conformité Pénale 🚨 - - [x] Système hiérarchique strict : `Super Admin` (Installateur), `Admin` (Modération/VIP), `VIP` (Grade de filiation sans privilèges d'administration) et Utilisateurs. - [ ] Validation obligatoire des CGV/CGU incluant une clause de "Ban sans remboursement et signalement aux autorités" en cas de contenu manifestement illicite. -- [x] Modération préventive "Anti-Zèle" : Filtrage par IA Locale (Qwen) des intentions illégales bloquant la requête vers OpenRouter tout en tolérant la fiction et les demandes juridiques. +- [x] Modération préventive "Anti-Zèle" : Filtrage par IA Locale des intentions illégales bloquant la requête vers OpenRouter tout en tolérant la fiction et les demandes juridiques. - [x] Système d'Avertissements (Strikes) automatisé avec alerte E-mail aux Admins. - [x] Protection anti-abus Admin : Si un Admin enfreint la loi, il est exclu de l'alerte ; seuls les autres Admins statuent. - [x] Archivage légal sécurisé : Stockage pérenne des logs, preuves d'infractions et **décisions d'audit manuscrites des Admins** dans une arborescence dédiée. ### Phase 10 : Base de Connaissances Intelligente (RAG) 📚 - [x] Initialisation de l'arborescence dynamique (`modules/rag_manager.py`) sur le RAID (`/DATA/AppData/MULTI-IA-AETHAS38/RAG/`). -- [x] Évolution de l'Orchestrateur Local (Qwen) pour la sélection automatique du dossier sémantique pertinent ("minecraft", "droit", etc.). +- [x] Évolution de l'Orchestrateur Local pour la sélection automatique du dossier sémantique pertinent ("minecraft", "droit", etc.). - [x] Injection asynchrone des documents Markdown et Texte directement dans la fenêtre de contexte des LLMs. +- [x] Auto-Apprentissage : Le système génère automatiquement des fichiers `.md` de son propre savoir après validation. - [ ] Interface UI : Ajout d'une vue Administrateur pour téléverser de nouveaux documents RAG directement depuis le navigateur. ## 📷 Vidéosurveillance & Détection Intelligente diff --git a/aethas_balances.json b/aethas_balances.json index 5958458..d8b69d3 100644 --- a/aethas_balances.json +++ b/aethas_balances.json @@ -1,3 +1,3 @@ { - "cagnotte_commune_vip": 35.0 + "cagnotte_commune_vip": 34.988855 } \ No newline at end of file diff --git a/aethas_financial_audit.json b/aethas_financial_audit.json new file mode 100644 index 0000000..10b1ccd --- /dev/null +++ b/aethas_financial_audit.json @@ -0,0 +1,57 @@ +[ + { + "timestamp": 1787262333.1032357, + "date": "2026-08-20 23:45:33", + "utilisateur": "xavier", + "rang": "Super Admin", + "type_operation": "DEBIT_REQUETE", + "modele": "anthropic/claude-3.5-sonnet", + "tokens": 87, + "cout_brut_api": 0.00261, + "prix_facture_client": 0.00261 + }, + { + "timestamp": 1787262606.6284242, + "date": "2026-08-20 23:50:06", + "utilisateur": "xavier", + "rang": "Super Admin", + "type_operation": "DEBIT_REQUETE", + "modele": "anthropic/claude-3.5-sonnet", + "tokens": 88, + "cout_brut_api": 0.00132, + "prix_facture_client": 0.00132 + }, + { + "timestamp": 1787263101.5169146, + "date": "2026-08-20 23:58:21", + "utilisateur": "xavier", + "rang": "Super Admin", + "type_operation": "DEBIT_REQUETE", + "modele": "anthropic/claude-3.5-sonnet", + "tokens": 88, + "cout_brut_api": 0.00264, + "prix_facture_client": 0.00264 + }, + { + "timestamp": 1787344221.9884093, + "date": "2026-08-21 22:30:21", + "utilisateur": "xavier", + "rang": "Super Admin", + "type_operation": "DEBIT_REQUETE", + "modele": "anthropic/claude-3.5-sonnet", + "tokens": 17, + "cout_brut_api": 0.000255, + "prix_facture_client": 0.000255 + }, + { + "timestamp": 1787348873.0218458, + "date": "2026-08-21 23:47:53", + "utilisateur": "xavier", + "rang": "Super Admin", + "type_operation": "DEBIT_REQUETE", + "modele": "anthropic/claude-3.5-sonnet", + "tokens": 288, + "cout_brut_api": 0.00432, + "prix_facture_client": 0.00432 + } +] \ No newline at end of file diff --git a/aethas_ip_logs.json b/aethas_ip_logs.json index c91107f..8e07766 100644 --- a/aethas_ip_logs.json +++ b/aethas_ip_logs.json @@ -4558,5 +4558,7043 @@ "action": "Acc\u00e8s \u00e0 /ping", "date": "2026-08-20 21:59:29", "timestamp": 1787255969.2569382 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:00:28", + "timestamp": 1787256028.9651341 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:01:29", + "timestamp": 1787256089.2905755 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:02:28", + "timestamp": 1787256148.9494777 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:03:29", + "timestamp": 1787256209.255773 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:04:28", + "timestamp": 1787256268.9530144 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:05:29", + "timestamp": 1787256329.273466 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:05:49", + "timestamp": 1787256349.5060327 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:05:51", + "timestamp": 1787256351.1392586 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:05:56", + "timestamp": 1787256356.1442537 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:06:01", + "timestamp": 1787256361.1431422 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:06:06", + "timestamp": 1787256366.1381626 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:06:11", + "timestamp": 1787256371.1443005 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:06:16", + "timestamp": 1787256376.1376379 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:06:21", + "timestamp": 1787256381.1466491 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:06:26", + "timestamp": 1787256386.1450667 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:06:31", + "timestamp": 1787256391.1359327 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:06:36", + "timestamp": 1787256396.1422555 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:06:41", + "timestamp": 1787256401.1377099 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:06:46", + "timestamp": 1787256406.136531 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:06:51", + "timestamp": 1787256411.1458404 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:06:56", + "timestamp": 1787256416.1379497 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:07:01", + "timestamp": 1787256421.1377752 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:07:06", + "timestamp": 1787256426.1382217 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:07:11", + "timestamp": 1787256431.1380396 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:07:16", + "timestamp": 1787256436.1377406 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-20 22:07:18", + "timestamp": 1787256438.6718068 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:07:21", + "timestamp": 1787256441.13776 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:07:27", + "timestamp": 1787256447.2443223 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:07:31", + "timestamp": 1787256451.9388509 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:07:36", + "timestamp": 1787256456.9388747 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:07:41", + "timestamp": 1787256461.9388225 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:07:46", + "timestamp": 1787256466.9388368 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:07:51", + "timestamp": 1787256471.938293 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:07:56", + "timestamp": 1787256476.938663 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:08:01", + "timestamp": 1787256481.9386537 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:08:06", + "timestamp": 1787256486.9375737 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:08:11", + "timestamp": 1787256491.9375174 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:08:16", + "timestamp": 1787256496.9386706 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:08:21", + "timestamp": 1787256501.9375806 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:08:29", + "timestamp": 1787256509.3108041 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:09:28", + "timestamp": 1787256568.9606645 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:10:29", + "timestamp": 1787256629.2897234 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:11:28", + "timestamp": 1787256688.986537 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:12:29", + "timestamp": 1787256749.2983167 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:13:28", + "timestamp": 1787256808.9840503 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:14:29", + "timestamp": 1787256869.2611558 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:15:28", + "timestamp": 1787256928.9835353 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:16:29", + "timestamp": 1787256989.267795 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:17:28", + "timestamp": 1787257048.9690225 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:18:29", + "timestamp": 1787257109.286556 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:19:28", + "timestamp": 1787257168.9550261 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:20:29", + "timestamp": 1787257229.2675972 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:21:28", + "timestamp": 1787257288.966403 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:22:29", + "timestamp": 1787257349.303789 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:23:28", + "timestamp": 1787257408.9766245 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:24:29", + "timestamp": 1787257469.271874 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:25:29", + "timestamp": 1787257529.3023 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:26:28", + "timestamp": 1787257588.9652586 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:27:29", + "timestamp": 1787257649.245572 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:28:28", + "timestamp": 1787257708.9786339 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:29:29", + "timestamp": 1787257769.2444572 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:30:28", + "timestamp": 1787257828.9713907 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:31:29", + "timestamp": 1787257889.291081 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:32:28", + "timestamp": 1787257948.9516435 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:33:29", + "timestamp": 1787258009.2659125 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:34:28", + "timestamp": 1787258068.9426327 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:35:29", + "timestamp": 1787258129.277164 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:36:28", + "timestamp": 1787258188.9650252 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:37:29", + "timestamp": 1787258249.261247 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:38:28", + "timestamp": 1787258308.9539354 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:39:29", + "timestamp": 1787258369.2693095 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:40:28", + "timestamp": 1787258428.9582858 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:41:29", + "timestamp": 1787258489.280347 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:42:28", + "timestamp": 1787258548.9535744 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:43:29", + "timestamp": 1787258609.2822819 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:44:28", + "timestamp": 1787258668.947554 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:45:29", + "timestamp": 1787258729.2725961 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:46:28", + "timestamp": 1787258788.9562197 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:47:29", + "timestamp": 1787258849.2625673 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:48:28", + "timestamp": 1787258908.9986246 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:49:29", + "timestamp": 1787258969.2785616 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:50:28", + "timestamp": 1787259028.9704556 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:51:29", + "timestamp": 1787259089.2692928 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:52:28", + "timestamp": 1787259148.969229 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:53:29", + "timestamp": 1787259209.2529776 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:54:28", + "timestamp": 1787259268.96284 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:55:29", + "timestamp": 1787259329.2588995 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:56:28", + "timestamp": 1787259388.941903 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:57:29", + "timestamp": 1787259449.2694132 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:58:28", + "timestamp": 1787259508.9627972 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 22:59:29", + "timestamp": 1787259569.2750518 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:00:28", + "timestamp": 1787259628.973362 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:01:29", + "timestamp": 1787259689.2882657 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:02:28", + "timestamp": 1787259748.952329 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:03:29", + "timestamp": 1787259809.269096 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:04:29", + "timestamp": 1787259869.2799323 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:05:28", + "timestamp": 1787259928.9519365 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:06:29", + "timestamp": 1787259989.2579484 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:07:28", + "timestamp": 1787260048.9715214 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:08:29", + "timestamp": 1787260109.259725 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:09:28", + "timestamp": 1787260168.9661798 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:10:29", + "timestamp": 1787260229.2952993 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:11:14", + "timestamp": 1787260274.0951543 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:11:16", + "timestamp": 1787260276.1380253 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /", + "date": "2026-08-20 23:11:19", + "timestamp": 1787260279.402594 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:11:24", + "timestamp": 1787260284.5747044 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:11:29", + "timestamp": 1787260289.5822573 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:11:34", + "timestamp": 1787260294.5792344 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:11:39", + "timestamp": 1787260299.5680141 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:11:44", + "timestamp": 1787260304.578897 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:11:49", + "timestamp": 1787260309.5812109 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:11:54", + "timestamp": 1787260314.581266 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:11:59", + "timestamp": 1787260319.5740962 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:12:04", + "timestamp": 1787260324.5752833 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:12:09", + "timestamp": 1787260329.570365 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:12:14", + "timestamp": 1787260334.5754533 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:12:19", + "timestamp": 1787260339.581129 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:12:24", + "timestamp": 1787260344.568694 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:12:29", + "timestamp": 1787260349.5718281 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-20 23:12:30", + "timestamp": 1787260350.2650723 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:12:34", + "timestamp": 1787260354.5794153 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:12:39", + "timestamp": 1787260359.5774345 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /", + "date": "2026-08-20 23:12:44", + "timestamp": 1787260364.3969266 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:12:49", + "timestamp": 1787260369.6417768 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-20 23:12:53", + "timestamp": 1787260373.2181563 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:12:54", + "timestamp": 1787260374.6347198 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:12:59", + "timestamp": 1787260379.6334825 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:13:04", + "timestamp": 1787260384.6335835 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:13:09", + "timestamp": 1787260389.6436195 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:13:14", + "timestamp": 1787260394.6386626 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:13:19", + "timestamp": 1787260399.6325715 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:13:24", + "timestamp": 1787260404.6364374 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:13:29", + "timestamp": 1787260409.629288 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:13:34", + "timestamp": 1787260414.6323075 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:13:39", + "timestamp": 1787260419.632306 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:13:44", + "timestamp": 1787260424.6430504 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:13:50", + "timestamp": 1787260430.2569888 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:13:54", + "timestamp": 1787260434.946199 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:13:59", + "timestamp": 1787260439.9422271 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:14:04", + "timestamp": 1787260444.949118 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:14:09", + "timestamp": 1787260449.943713 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:14:14", + "timestamp": 1787260454.9458885 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:14:19", + "timestamp": 1787260459.9526057 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:14:24", + "timestamp": 1787260464.9400826 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:14:29", + "timestamp": 1787260469.9495718 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:14:34", + "timestamp": 1787260474.9415522 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:14:39", + "timestamp": 1787260479.943978 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:15:29", + "timestamp": 1787260529.2571173 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:16:28", + "timestamp": 1787260588.9624732 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:17:15", + "timestamp": 1787260635.9068503 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /", + "date": "2026-08-20 23:17:18", + "timestamp": 1787260638.5739744 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:17:23", + "timestamp": 1787260643.7599523 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:17:28", + "timestamp": 1787260648.7597463 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-20 23:17:31", + "timestamp": 1787260651.6554737 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:17:33", + "timestamp": 1787260653.9067452 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:17:38", + "timestamp": 1787260658.761391 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:17:43", + "timestamp": 1787260663.7646081 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:17:48", + "timestamp": 1787260668.755711 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:17:53", + "timestamp": 1787260673.7642286 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:17:58", + "timestamp": 1787260678.7653532 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:18:03", + "timestamp": 1787260683.7531135 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:18:08", + "timestamp": 1787260688.7535915 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:18:13", + "timestamp": 1787260693.941534 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:18:18", + "timestamp": 1787260698.9458811 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:18:23", + "timestamp": 1787260703.9427524 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:18:29", + "timestamp": 1787260709.3009686 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:18:33", + "timestamp": 1787260713.9424808 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:18:38", + "timestamp": 1787260718.9386861 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:18:43", + "timestamp": 1787260723.9406593 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:18:48", + "timestamp": 1787260728.9475162 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:18:53", + "timestamp": 1787260733.9402902 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:18:58", + "timestamp": 1787260738.95295 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:19:03", + "timestamp": 1787260743.9506445 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:19:08", + "timestamp": 1787260748.9705148 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:19:29", + "timestamp": 1787260769.2512355 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:20:28", + "timestamp": 1787260828.9602492 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:21:29", + "timestamp": 1787260889.2598286 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:22:24", + "timestamp": 1787260944.074904 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /", + "date": "2026-08-20 23:22:27", + "timestamp": 1787260947.0784233 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:22:32", + "timestamp": 1787260952.2452326 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:22:37", + "timestamp": 1787260957.2412453 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:22:42", + "timestamp": 1787260962.2490122 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:22:47", + "timestamp": 1787260967.2426636 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:22:52", + "timestamp": 1787260972.2494354 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:22:57", + "timestamp": 1787260977.2416792 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:23:02", + "timestamp": 1787260982.2516499 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:23:07", + "timestamp": 1787260987.2486074 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:23:12", + "timestamp": 1787260992.2445962 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:23:17", + "timestamp": 1787260997.2545974 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:23:22", + "timestamp": 1787261002.2535057 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:23:27", + "timestamp": 1787261007.25046 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:23:32", + "timestamp": 1787261012.2429914 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:23:37", + "timestamp": 1787261017.248701 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:23:42", + "timestamp": 1787261022.2427773 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:23:47", + "timestamp": 1787261027.251478 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:23:52", + "timestamp": 1787261032.251473 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:23:57", + "timestamp": 1787261037.2493072 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:24:02", + "timestamp": 1787261042.2544663 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:24:07", + "timestamp": 1787261047.245476 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-20 23:24:08", + "timestamp": 1787261048.2202642 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:24:18", + "timestamp": 1787261058.9631834 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:24:18", + "timestamp": 1787261058.9699926 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:24:22", + "timestamp": 1787261062.252696 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:24:27", + "timestamp": 1787261067.2458103 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:24:32", + "timestamp": 1787261072.2514598 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:24:37", + "timestamp": 1787261077.243282 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:24:42", + "timestamp": 1787261082.2514741 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:24:47", + "timestamp": 1787261087.2433076 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:24:52", + "timestamp": 1787261092.2558012 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:24:57", + "timestamp": 1787261097.2420082 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:25:02", + "timestamp": 1787261102.2419007 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:25:07", + "timestamp": 1787261107.5640807 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:25:12", + "timestamp": 1787261112.2443764 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:25:17", + "timestamp": 1787261117.951356 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:25:22", + "timestamp": 1787261122.9456046 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:25:27", + "timestamp": 1787261127.247172 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:25:32", + "timestamp": 1787261132.2565825 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-20 23:25:36", + "timestamp": 1787261136.9459927 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:25:49", + "timestamp": 1787261149.0815592 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:25:49", + "timestamp": 1787261149.0885065 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:25:49", + "timestamp": 1787261149.0969 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:25:52", + "timestamp": 1787261152.2429438 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:25:57", + "timestamp": 1787261157.2458518 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:26:02", + "timestamp": 1787261162.2545342 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:26:07", + "timestamp": 1787261167.248409 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:26:12", + "timestamp": 1787261172.2469683 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:26:17", + "timestamp": 1787261177.2488258 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:26:22", + "timestamp": 1787261182.247213 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:26:27", + "timestamp": 1787261187.2489665 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:26:32", + "timestamp": 1787261192.2517586 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:26:37", + "timestamp": 1787261197.2559717 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:26:42", + "timestamp": 1787261202.2547169 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:26:47", + "timestamp": 1787261207.2540638 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:26:52", + "timestamp": 1787261212.2463994 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:26:57", + "timestamp": 1787261217.2436795 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:27:02", + "timestamp": 1787261222.2505636 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:27:07", + "timestamp": 1787261227.2476645 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:27:12", + "timestamp": 1787261232.2446525 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:27:17", + "timestamp": 1787261237.256168 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:27:22", + "timestamp": 1787261242.2561269 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:27:27", + "timestamp": 1787261247.244912 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:27:32", + "timestamp": 1787261252.257586 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:27:37", + "timestamp": 1787261257.2493272 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:27:42", + "timestamp": 1787261262.252709 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:27:47", + "timestamp": 1787261267.244136 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:27:52", + "timestamp": 1787261272.2511337 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:27:57", + "timestamp": 1787261277.2437067 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:28:02", + "timestamp": 1787261282.254493 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:28:07", + "timestamp": 1787261287.2403502 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:28:13", + "timestamp": 1787261293.2497683 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:28:17", + "timestamp": 1787261297.950012 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:28:22", + "timestamp": 1787261302.942501 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:28:27", + "timestamp": 1787261307.9415908 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:28:32", + "timestamp": 1787261312.9467049 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:28:37", + "timestamp": 1787261317.9418802 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:28:42", + "timestamp": 1787261322.948585 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:28:47", + "timestamp": 1787261327.949732 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:28:52", + "timestamp": 1787261332.9510899 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:28:57", + "timestamp": 1787261337.946791 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:29:02", + "timestamp": 1787261342.950546 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:29:07", + "timestamp": 1787261347.9513988 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:29:29", + "timestamp": 1787261369.2670634 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:30:28", + "timestamp": 1787261428.9641807 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:31:29", + "timestamp": 1787261489.2991219 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:32:28", + "timestamp": 1787261548.9703882 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:33:29", + "timestamp": 1787261609.2807713 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:34:29", + "timestamp": 1787261669.26681 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:35:13", + "timestamp": 1787261713.4796026 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /", + "date": "2026-08-20 23:35:15", + "timestamp": 1787261715.8135524 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:35:20", + "timestamp": 1787261720.9906578 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:35:25", + "timestamp": 1787261725.9841363 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:35:30", + "timestamp": 1787261730.9922504 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:35:35", + "timestamp": 1787261735.9833796 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-20 23:35:40", + "timestamp": 1787261740.5968947 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:36:19", + "timestamp": 1787261779.3870153 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:36:19", + "timestamp": 1787261779.3941426 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:36:19", + "timestamp": 1787261779.4039657 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:36:19", + "timestamp": 1787261779.411157 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:36:19", + "timestamp": 1787261779.418326 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:36:19", + "timestamp": 1787261779.427626 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:36:19", + "timestamp": 1787261779.4380262 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:36:19", + "timestamp": 1787261779.4459422 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:36:20", + "timestamp": 1787261780.9905677 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:36:25", + "timestamp": 1787261785.987082 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:36:30", + "timestamp": 1787261790.9876447 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:36:35", + "timestamp": 1787261795.9887629 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:36:40", + "timestamp": 1787261800.9834428 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:36:45", + "timestamp": 1787261805.9933915 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:36:50", + "timestamp": 1787261810.9874125 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:36:55", + "timestamp": 1787261815.9866793 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:37:00", + "timestamp": 1787261820.9883559 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:37:05", + "timestamp": 1787261825.9805253 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:37:10", + "timestamp": 1787261830.986236 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:37:15", + "timestamp": 1787261835.9815335 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:37:20", + "timestamp": 1787261840.9937768 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:37:25", + "timestamp": 1787261845.9877338 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:37:30", + "timestamp": 1787261850.9793797 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-20 23:37:33", + "timestamp": 1787261853.1167095 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.2304082 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.238021 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.2458153 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.2533941 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.260652 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.270219 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.2812765 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.2897432 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.2991035 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.3063116 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.3140483 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.321391 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.3331282 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.3408582 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.3498816 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.3571382 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.364462 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.3715794 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.3836622 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.3915992 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.4021413 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.4096985 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.4168892 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:32", + "timestamp": 1787261972.4242232 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:35", + "timestamp": 1787261975.9932468 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:40", + "timestamp": 1787261980.9841511 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:45", + "timestamp": 1787261985.9907608 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:50", + "timestamp": 1787261990.9804585 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:39:55", + "timestamp": 1787261995.9846208 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:40:00", + "timestamp": 1787262000.9866183 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:40:05", + "timestamp": 1787262005.9925811 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:40:10", + "timestamp": 1787262010.9803162 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:40:15", + "timestamp": 1787262015.9816747 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:40:20", + "timestamp": 1787262020.984543 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:40:25", + "timestamp": 1787262025.9889123 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:40:30", + "timestamp": 1787262030.9877548 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:40:35", + "timestamp": 1787262035.9868834 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:40:40", + "timestamp": 1787262040.9842207 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:40:45", + "timestamp": 1787262045.9816651 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:40:50", + "timestamp": 1787262050.9906912 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:40:55", + "timestamp": 1787262055.992648 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:41:00", + "timestamp": 1787262060.9905188 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:41:05", + "timestamp": 1787262065.9789584 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:41:10", + "timestamp": 1787262070.9803767 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:41:15", + "timestamp": 1787262075.98424 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:41:20", + "timestamp": 1787262080.9808447 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:41:25", + "timestamp": 1787262085.9929464 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:41:30", + "timestamp": 1787262090.9905074 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:41:35", + "timestamp": 1787262095.9870753 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:41:40", + "timestamp": 1787262100.991504 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:41:45", + "timestamp": 1787262105.9932978 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:41:50", + "timestamp": 1787262110.9943657 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:41:55", + "timestamp": 1787262115.9895346 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:42:00", + "timestamp": 1787262120.9924362 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:42:05", + "timestamp": 1787262125.9879055 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:42:10", + "timestamp": 1787262130.986086 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:42:15", + "timestamp": 1787262135.9821877 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:42:20", + "timestamp": 1787262140.9894116 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:42:25", + "timestamp": 1787262145.9804235 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:42:30", + "timestamp": 1787262150.9868138 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:42:35", + "timestamp": 1787262155.9876852 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:42:40", + "timestamp": 1787262160.994058 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:42:45", + "timestamp": 1787262165.9912088 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:42:50", + "timestamp": 1787262170.9832325 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:42:55", + "timestamp": 1787262175.9820774 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:43:00", + "timestamp": 1787262180.9812748 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:43:05", + "timestamp": 1787262185.9940114 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:43:10", + "timestamp": 1787262190.986554 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:43:15", + "timestamp": 1787262195.9848778 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:43:20", + "timestamp": 1787262200.9833653 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:43:25", + "timestamp": 1787262205.993024 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:43:30", + "timestamp": 1787262210.990437 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:43:35", + "timestamp": 1787262215.9883683 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:43:40", + "timestamp": 1787262220.990661 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:43:45", + "timestamp": 1787262225.9794073 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:43:50", + "timestamp": 1787262230.9848628 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:43:55", + "timestamp": 1787262235.98592 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:44:00", + "timestamp": 1787262240.9946413 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:44:05", + "timestamp": 1787262245.9933226 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:44:10", + "timestamp": 1787262250.988717 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:44:15", + "timestamp": 1787262255.9800007 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:44:20", + "timestamp": 1787262260.9861832 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:44:25", + "timestamp": 1787262265.9823284 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:44:30", + "timestamp": 1787262270.980789 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:44:35", + "timestamp": 1787262275.988774 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:44:40", + "timestamp": 1787262280.9874494 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:44:45", + "timestamp": 1787262285.988283 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:44:50", + "timestamp": 1787262290.9826434 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:44:55", + "timestamp": 1787262295.99402 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:45:00", + "timestamp": 1787262300.993651 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:45:05", + "timestamp": 1787262305.9838376 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:45:10", + "timestamp": 1787262310.9944046 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:45:15", + "timestamp": 1787262315.9913254 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:45:20", + "timestamp": 1787262320.9805427 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-20 23:45:21", + "timestamp": 1787262321.889845 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:13", + "timestamp": 1787262373.552516 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:13", + "timestamp": 1787262373.560708 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:13", + "timestamp": 1787262373.570751 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:13", + "timestamp": 1787262373.5810742 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:13", + "timestamp": 1787262373.5893126 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:13", + "timestamp": 1787262373.6001818 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:13", + "timestamp": 1787262373.6129339 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:13", + "timestamp": 1787262373.6224709 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:13", + "timestamp": 1787262373.6339993 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:13", + "timestamp": 1787262373.6428018 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:15", + "timestamp": 1787262375.987871 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:20", + "timestamp": 1787262380.980869 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:25", + "timestamp": 1787262385.993564 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:30", + "timestamp": 1787262390.9862757 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:35", + "timestamp": 1787262395.9875329 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:40", + "timestamp": 1787262400.9943788 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:45", + "timestamp": 1787262405.9843278 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:50", + "timestamp": 1787262410.9872956 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:46:55", + "timestamp": 1787262415.988391 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:47:00", + "timestamp": 1787262420.9947746 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:47:05", + "timestamp": 1787262425.9806745 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:47:12", + "timestamp": 1787262432.2449899 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:47:16", + "timestamp": 1787262436.9462447 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:47:21", + "timestamp": 1787262441.9494054 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:47:26", + "timestamp": 1787262446.9499285 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:47:31", + "timestamp": 1787262451.943037 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:47:36", + "timestamp": 1787262456.944573 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:47:41", + "timestamp": 1787262461.950805 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:47:46", + "timestamp": 1787262466.9528716 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:47:51", + "timestamp": 1787262471.9524505 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:47:56", + "timestamp": 1787262476.9499493 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:48:01", + "timestamp": 1787262481.9393537 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:48:29", + "timestamp": 1787262509.2719495 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:48:59", + "timestamp": 1787262539.5123184 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:49:00", + "timestamp": 1787262540.9823797 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:49:05", + "timestamp": 1787262545.9942524 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:49:10", + "timestamp": 1787262550.9846084 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:49:15", + "timestamp": 1787262555.9925923 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:49:20", + "timestamp": 1787262560.9885006 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:49:25", + "timestamp": 1787262565.9944153 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:49:30", + "timestamp": 1787262570.9895308 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:49:35", + "timestamp": 1787262575.9814806 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:49:40", + "timestamp": 1787262580.980408 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:49:45", + "timestamp": 1787262585.981534 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:49:50", + "timestamp": 1787262590.9860399 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:49:55", + "timestamp": 1787262595.989245 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:50:00", + "timestamp": 1787262600.9843323 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-20 23:50:01", + "timestamp": 1787262601.7919471 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:50:51", + "timestamp": 1787262651.296365 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:50:51", + "timestamp": 1787262651.3046567 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:50:51", + "timestamp": 1787262651.3147748 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:50:51", + "timestamp": 1787262651.323393 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:50:51", + "timestamp": 1787262651.3315666 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:50:51", + "timestamp": 1787262651.3426716 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:50:51", + "timestamp": 1787262651.354723 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:50:51", + "timestamp": 1787262651.3641572 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:50:51", + "timestamp": 1787262651.373662 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:50:51", + "timestamp": 1787262651.3824053 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:50:55", + "timestamp": 1787262655.9802144 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:51:00", + "timestamp": 1787262660.9875574 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:51:05", + "timestamp": 1787262665.9862564 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:51:10", + "timestamp": 1787262670.9846766 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:51:15", + "timestamp": 1787262675.9886224 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:51:20", + "timestamp": 1787262680.9819758 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:51:25", + "timestamp": 1787262685.9943757 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:51:30", + "timestamp": 1787262690.986714 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:51:35", + "timestamp": 1787262695.9893866 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:51:40", + "timestamp": 1787262700.98416 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:51:47", + "timestamp": 1787262707.264033 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:51:51", + "timestamp": 1787262711.9456036 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:51:56", + "timestamp": 1787262716.9429092 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:52:01", + "timestamp": 1787262721.9446242 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:52:06", + "timestamp": 1787262726.9466476 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:52:11", + "timestamp": 1787262731.9446428 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:52:16", + "timestamp": 1787262736.9400666 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:52:21", + "timestamp": 1787262741.9417331 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:52:26", + "timestamp": 1787262746.937797 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:52:31", + "timestamp": 1787262751.9552717 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:52:36", + "timestamp": 1787262756.9448118 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:52:41", + "timestamp": 1787262761.9438682 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:53:29", + "timestamp": 1787262809.2750936 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:54:28", + "timestamp": 1787262868.9811192 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:55:29", + "timestamp": 1787262929.271494 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:56:30", + "timestamp": 1787262990.467713 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:57:28", + "timestamp": 1787263048.999942 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:57:58", + "timestamp": 1787263078.3999102 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:58:01", + "timestamp": 1787263081.9389029 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:58:05", + "timestamp": 1787263085.9861515 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:58:10", + "timestamp": 1787263090.9790628 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-20 23:58:11", + "timestamp": 1787263091.1520233 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:58:57", + "timestamp": 1787263137.581028 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:58:57", + "timestamp": 1787263137.5902996 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:58:57", + "timestamp": 1787263137.599619 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:58:57", + "timestamp": 1787263137.6085906 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:58:57", + "timestamp": 1787263137.6173794 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:58:57", + "timestamp": 1787263137.6276195 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:58:57", + "timestamp": 1787263137.639608 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:58:57", + "timestamp": 1787263137.648972 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:58:57", + "timestamp": 1787263137.6577725 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:59:00", + "timestamp": 1787263140.9863544 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:59:05", + "timestamp": 1787263145.9865584 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:59:10", + "timestamp": 1787263150.9809988 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:59:15", + "timestamp": 1787263155.9952476 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:59:20", + "timestamp": 1787263160.9894009 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:59:25", + "timestamp": 1787263165.9847956 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:59:30", + "timestamp": 1787263170.99279 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:59:35", + "timestamp": 1787263175.980425 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:59:40", + "timestamp": 1787263180.984865 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:59:45", + "timestamp": 1787263185.9936285 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:59:50", + "timestamp": 1787263190.9795554 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-20 23:59:55", + "timestamp": 1787263195.9841428 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:00:00", + "timestamp": 1787263200.9824023 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:00:05", + "timestamp": 1787263205.986439 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:00:10", + "timestamp": 1787263210.981861 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:00:15", + "timestamp": 1787263215.986212 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:00:22", + "timestamp": 1787263222.2557683 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:00:26", + "timestamp": 1787263226.9416924 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:00:31", + "timestamp": 1787263231.9520726 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:00:36", + "timestamp": 1787263236.939186 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:00:41", + "timestamp": 1787263241.9451063 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:00:46", + "timestamp": 1787263246.938476 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:00:51", + "timestamp": 1787263251.9485626 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:00:56", + "timestamp": 1787263256.9481142 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:01:01", + "timestamp": 1787263261.9514647 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:01:06", + "timestamp": 1787263266.9461477 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:01:11", + "timestamp": 1787263271.9397912 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:01:16", + "timestamp": 1787263276.94029 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:01:29", + "timestamp": 1787263289.2712293 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:02:28", + "timestamp": 1787263348.9527712 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:03:29", + "timestamp": 1787263409.2630816 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:04:28", + "timestamp": 1787263468.9506905 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:05:29", + "timestamp": 1787263529.2686346 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:06:12", + "timestamp": 1787263572.3985717 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:06:15", + "timestamp": 1787263575.98065 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:06:22", + "timestamp": 1787263582.2587645 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:06:26", + "timestamp": 1787263586.9394615 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:06:31", + "timestamp": 1787263591.9431434 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:06:36", + "timestamp": 1787263596.9433904 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:06:41", + "timestamp": 1787263601.9515276 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:06:46", + "timestamp": 1787263606.9402783 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:06:51", + "timestamp": 1787263611.94275 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:06:56", + "timestamp": 1787263616.9378538 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:07:01", + "timestamp": 1787263621.9498205 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:07:06", + "timestamp": 1787263626.9485235 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:07:11", + "timestamp": 1787263631.9498808 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:07:29", + "timestamp": 1787263649.2649484 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:08:28", + "timestamp": 1787263708.9667532 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:09:29", + "timestamp": 1787263769.2619398 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:10:28", + "timestamp": 1787263828.9544196 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:11:29", + "timestamp": 1787263889.283592 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:12:28", + "timestamp": 1787263948.9579003 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:13:29", + "timestamp": 1787264009.271549 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:14:28", + "timestamp": 1787264068.9585183 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:15:29", + "timestamp": 1787264129.2550035 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:16:28", + "timestamp": 1787264188.94804 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:17:29", + "timestamp": 1787264249.2814155 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:18:28", + "timestamp": 1787264308.9432738 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:19:29", + "timestamp": 1787264369.2788334 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:20:28", + "timestamp": 1787264428.96034 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:20:36", + "timestamp": 1787264436.0128174 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:20:36", + "timestamp": 1787264436.0277731 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:20:40", + "timestamp": 1787264440.9803295 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:20:45", + "timestamp": 1787264445.9812152 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:20:50", + "timestamp": 1787264450.9850483 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:20:55", + "timestamp": 1787264455.980168 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:21:00", + "timestamp": 1787264460.97925 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:21:05", + "timestamp": 1787264465.990296 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:21:10", + "timestamp": 1787264470.9925728 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:21:15", + "timestamp": 1787264475.9872653 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:21:20", + "timestamp": 1787264480.9941988 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:21:25", + "timestamp": 1787264485.984328 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:21:30", + "timestamp": 1787264490.9892945 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:21:35", + "timestamp": 1787264495.9858363 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:21:40", + "timestamp": 1787264500.9852078 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:21:45", + "timestamp": 1787264505.9869754 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:21:50", + "timestamp": 1787264510.9886327 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:21:55", + "timestamp": 1787264515.9870136 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:22:00", + "timestamp": 1787264520.9796836 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:22:05", + "timestamp": 1787264525.9934068 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:22:10", + "timestamp": 1787264530.9900596 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:22:15", + "timestamp": 1787264535.9936552 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:22:20", + "timestamp": 1787264540.9939456 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:22:25", + "timestamp": 1787264545.9840488 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:22:30", + "timestamp": 1787264550.9901638 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:22:35", + "timestamp": 1787264555.9880905 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:22:40", + "timestamp": 1787264560.9824622 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:22:45", + "timestamp": 1787264565.9815602 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:22:50", + "timestamp": 1787264570.9793906 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:22:55", + "timestamp": 1787264575.9896057 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:23:00", + "timestamp": 1787264580.994136 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:23:05", + "timestamp": 1787264585.9886296 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:23:10", + "timestamp": 1787264590.9822025 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:23:15", + "timestamp": 1787264595.9853678 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:23:20", + "timestamp": 1787264600.9867213 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:23:25", + "timestamp": 1787264605.9815395 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:23:30", + "timestamp": 1787264610.9925473 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:23:35", + "timestamp": 1787264615.9870334 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:23:40", + "timestamp": 1787264620.9902117 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:23:45", + "timestamp": 1787264625.986436 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:23:50", + "timestamp": 1787264630.9879014 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:23:55", + "timestamp": 1787264635.981838 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:24:00", + "timestamp": 1787264640.9863462 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:24:05", + "timestamp": 1787264645.9867728 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:24:10", + "timestamp": 1787264650.9827547 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:24:15", + "timestamp": 1787264655.994084 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:24:20", + "timestamp": 1787264660.9796107 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:24:25", + "timestamp": 1787264665.9817388 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:24:32", + "timestamp": 1787264672.2560883 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:24:36", + "timestamp": 1787264676.9403484 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:24:41", + "timestamp": 1787264681.9493814 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:24:46", + "timestamp": 1787264686.9462235 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:24:51", + "timestamp": 1787264691.9441552 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:24:56", + "timestamp": 1787264696.9473517 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:25:01", + "timestamp": 1787264701.9534726 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:25:06", + "timestamp": 1787264706.941239 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:25:11", + "timestamp": 1787264711.9482524 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:25:16", + "timestamp": 1787264716.942433 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:25:21", + "timestamp": 1787264721.9409597 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:25:26", + "timestamp": 1787264726.950771 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 00:26:28", + "timestamp": 1787264788.255574 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:17:39", + "timestamp": 1787343459.3808947 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /", + "date": "2026-08-21 22:17:39", + "timestamp": 1787343459.4143822 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:17:45", + "timestamp": 1787343465.0144722 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:17:49", + "timestamp": 1787343469.9999747 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:17:54", + "timestamp": 1787343474.9990833 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:17:59", + "timestamp": 1787343479.999308 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:18:05", + "timestamp": 1787343485.0075252 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:18:10", + "timestamp": 1787343490.0054128 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:18:15", + "timestamp": 1787343495.007659 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:18:20", + "timestamp": 1787343500.0144827 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:18:25", + "timestamp": 1787343505.004389 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:18:30", + "timestamp": 1787343510.0093288 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:18:35", + "timestamp": 1787343515.000903 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:19:39", + "timestamp": 1787343579.3075194 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:20:39", + "timestamp": 1787343639.0148783 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:21:39", + "timestamp": 1787343699.3087263 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:22:39", + "timestamp": 1787343759.002213 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:23:39", + "timestamp": 1787343819.3056686 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:24:39", + "timestamp": 1787343879.0022106 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:25:39", + "timestamp": 1787343939.3085155 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:26:39", + "timestamp": 1787343999.0023048 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /", + "date": "2026-08-21 22:29:13", + "timestamp": 1787344153.1589622 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /", + "date": "2026-08-21 22:29:16", + "timestamp": 1787344156.943446 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:29:23", + "timestamp": 1787344163.0114012 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:29:28", + "timestamp": 1787344168.001423 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:29:33", + "timestamp": 1787344173.0062 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:29:38", + "timestamp": 1787344178.010593 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:29:42", + "timestamp": 1787344182.9993963 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:29:48", + "timestamp": 1787344188.0042615 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:29:52", + "timestamp": 1787344192.9968314 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:29:57", + "timestamp": 1787344197.9972637 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:30:02", + "timestamp": 1787344202.998209 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:30:07", + "timestamp": 1787344207.0035515 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-21 22:30:11", + "timestamp": 1787344211.7172985 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:30:42", + "timestamp": 1787344242.6749518 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:30:42", + "timestamp": 1787344242.6864603 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:30:42", + "timestamp": 1787344242.6971824 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:30:42", + "timestamp": 1787344242.7065966 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:30:42", + "timestamp": 1787344242.7159138 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:30:42", + "timestamp": 1787344242.725245 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:30:42", + "timestamp": 1787344242.74197 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:30:47", + "timestamp": 1787344247.0069728 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:30:52", + "timestamp": 1787344252.0103493 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:30:57", + "timestamp": 1787344257.0104182 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:31:02", + "timestamp": 1787344262.010416 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:31:07", + "timestamp": 1787344267.0037289 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:31:12", + "timestamp": 1787344272.01073 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:31:17", + "timestamp": 1787344277.003536 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:31:22", + "timestamp": 1787344282.0068076 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:31:27", + "timestamp": 1787344287.0041618 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:31:32", + "timestamp": 1787344292.3278947 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:31:37", + "timestamp": 1787344297.0106921 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:31:42", + "timestamp": 1787344302.0036397 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:31:47", + "timestamp": 1787344307.0115538 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:31:52", + "timestamp": 1787344312.012615 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:31:57", + "timestamp": 1787344317.0119302 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:32:02", + "timestamp": 1787344322.0120745 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:32:07", + "timestamp": 1787344327.0152688 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:32:12", + "timestamp": 1787344332.0081651 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:32:17", + "timestamp": 1787344337.0139537 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:32:22", + "timestamp": 1787344342.0145967 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:32:27", + "timestamp": 1787344347.0138478 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:32:32", + "timestamp": 1787344352.0153942 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:32:37", + "timestamp": 1787344357.0159597 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:32:42", + "timestamp": 1787344362.014997 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:32:47", + "timestamp": 1787344367.0138233 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:32:52", + "timestamp": 1787344372.0146964 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:32:57", + "timestamp": 1787344377.0124574 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /new_chat", + "date": "2026-08-21 22:39:53", + "timestamp": 1787344793.0510955 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /", + "date": "2026-08-21 22:39:53", + "timestamp": 1787344793.0689216 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:39:58", + "timestamp": 1787344798.3550649 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:40:03", + "timestamp": 1787344803.3502913 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:40:08", + "timestamp": 1787344808.3501189 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:40:13", + "timestamp": 1787344813.3492908 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-21 22:40:15", + "timestamp": 1787344815.538771 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:40:38", + "timestamp": 1787344838.7584884 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:40:38", + "timestamp": 1787344838.7702785 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:40:38", + "timestamp": 1787344838.7821856 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:40:38", + "timestamp": 1787344838.792452 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:40:38", + "timestamp": 1787344838.802811 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:40:43", + "timestamp": 1787344843.3486872 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /pin/b1a67f94-5feb-4678-b29b-8538234857c2", + "date": "2026-08-21 22:40:45", + "timestamp": 1787344845.6656878 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /rename/b1a67f94-5feb-4678-b29b-8538234857c2", + "date": "2026-08-21 22:40:56", + "timestamp": 1787344856.0564709 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:40:56", + "timestamp": 1787344856.072189 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /delete/6f6b6df7-8df4-4d15-958b-c12426d68d54", + "date": "2026-08-21 22:40:57", + "timestamp": 1787344857.9728727 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:40:58", + "timestamp": 1787344858.350368 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /delete/3308e472-7b83-4b46-89d4-582a004a26b3", + "date": "2026-08-21 22:40:58", + "timestamp": 1787344858.6966248 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /new_chat", + "date": "2026-08-21 22:41:03", + "timestamp": 1787344863.229642 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /", + "date": "2026-08-21 22:41:03", + "timestamp": 1787344863.246102 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:41:08", + "timestamp": 1787344868.4269853 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-21 22:41:10", + "timestamp": 1787344870.078577 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:41:21", + "timestamp": 1787344881.6624124 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:41:21", + "timestamp": 1787344881.677028 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:41:23", + "timestamp": 1787344883.4296756 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /pin/a9315efb-c0d6-4933-a672-abe376e46e2f", + "date": "2026-08-21 22:41:28", + "timestamp": 1787344888.3841503 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:41:28", + "timestamp": 1787344888.4342096 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 22:41:33", + "timestamp": 1787344893.426957 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:21:39", + "timestamp": 1787347299.3208966 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /", + "date": "2026-08-21 23:21:39", + "timestamp": 1787347299.3507967 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:21:45", + "timestamp": 1787347305.0090442 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:21:50", + "timestamp": 1787347310.002926 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:21:55", + "timestamp": 1787347315.004563 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:22:00", + "timestamp": 1787347320.001343 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:22:05", + "timestamp": 1787347325.0028653 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:22:10", + "timestamp": 1787347330.0095322 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:22:14", + "timestamp": 1787347334.9992464 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:22:19", + "timestamp": 1787347339.9974785 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:22:25", + "timestamp": 1787347345.0063257 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:22:30", + "timestamp": 1787347350.0010912 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:22:34", + "timestamp": 1787347354.9989357 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:23:38", + "timestamp": 1787347418.3133595 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:24:39", + "timestamp": 1787347479.3193228 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:25:39", + "timestamp": 1787347539.0028853 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:26:39", + "timestamp": 1787347599.3191755 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:27:39", + "timestamp": 1787347659.0156193 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:28:19", + "timestamp": 1787347699.3564079 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:28:19", + "timestamp": 1787347699.5581224 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /", + "date": "2026-08-21 23:28:22", + "timestamp": 1787347702.583012 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:28:27", + "timestamp": 1787347707.787522 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:28:33", + "timestamp": 1787347713.3237815 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:28:38", + "timestamp": 1787347718.0086813 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:28:43", + "timestamp": 1787347723.0016072 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:28:48", + "timestamp": 1787347728.0015392 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:28:53", + "timestamp": 1787347733.0083742 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:28:58", + "timestamp": 1787347738.002182 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:29:03", + "timestamp": 1787347743.0020087 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:29:08", + "timestamp": 1787347748.0077696 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:29:13", + "timestamp": 1787347753.0081332 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:29:18", + "timestamp": 1787347758.0091083 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:29:23", + "timestamp": 1787347763.009247 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:29:28", + "timestamp": 1787347768.0093446 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:29:33", + "timestamp": 1787347773.014401 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:29:38", + "timestamp": 1787347778.0046184 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:30:39", + "timestamp": 1787347839.3158631 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:31:39", + "timestamp": 1787347899.0092924 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:32:39", + "timestamp": 1787347959.3045042 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:33:19", + "timestamp": 1787347999.675309 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:33:22", + "timestamp": 1787348002.7855892 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:33:27", + "timestamp": 1787348007.7783227 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:33:32", + "timestamp": 1787348012.7854166 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:33:37", + "timestamp": 1787348017.7786012 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:33:42", + "timestamp": 1787348022.7937646 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:33:47", + "timestamp": 1787348027.7784834 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:33:52", + "timestamp": 1787348032.791585 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-21 23:33:55", + "timestamp": 1787348035.7892106 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:34:34", + "timestamp": 1787348074.7208705 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:34:34", + "timestamp": 1787348074.73172 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:34:34", + "timestamp": 1787348074.7421668 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:34:34", + "timestamp": 1787348074.7521496 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:34:34", + "timestamp": 1787348074.7621446 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:34:34", + "timestamp": 1787348074.774403 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:34:34", + "timestamp": 1787348074.7878592 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:34:34", + "timestamp": 1787348074.7978857 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:34:37", + "timestamp": 1787348077.7882655 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:34:42", + "timestamp": 1787348082.7831254 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:34:47", + "timestamp": 1787348087.7884312 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:34:52", + "timestamp": 1787348092.7783253 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:34:57", + "timestamp": 1787348097.7816796 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:35:02", + "timestamp": 1787348102.789075 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:35:07", + "timestamp": 1787348107.788535 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:35:12", + "timestamp": 1787348112.7893186 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:35:17", + "timestamp": 1787348117.7889812 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:35:22", + "timestamp": 1787348122.7962093 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:35:27", + "timestamp": 1787348127.7904932 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:35:32", + "timestamp": 1787348132.7895327 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:35:37", + "timestamp": 1787348137.7969136 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:35:42", + "timestamp": 1787348142.789215 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:35:47", + "timestamp": 1787348147.7885606 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:35:52", + "timestamp": 1787348152.7814586 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:35:57", + "timestamp": 1787348157.778618 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:36:02", + "timestamp": 1787348162.781476 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:36:07", + "timestamp": 1787348167.7787733 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:36:12", + "timestamp": 1787348172.785909 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-21 23:36:17", + "timestamp": 1787348177.4710908 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.6510396 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.661425 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.6722198 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.6834097 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.6941988 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.706895 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.721762 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.7335546 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.7439008 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.7541387 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.7648072 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.7748835 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.7899103 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.80053 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.811892 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.8229847 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.8347616 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.8462882 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.8607774 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.8715296 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.8831317 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.893543 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.9039307 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.9141202 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.928833 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.9394233 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.9502225 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.9621217 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.9724336 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.9829142 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:46", + "timestamp": 1787348446.9974847 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:47", + "timestamp": 1787348447.0088017 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:47", + "timestamp": 1787348447.018947 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:47", + "timestamp": 1787348447.0305436 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:47", + "timestamp": 1787348447.043827 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:47", + "timestamp": 1787348447.0544653 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:47", + "timestamp": 1787348447.0702064 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:47", + "timestamp": 1787348447.085951 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:47", + "timestamp": 1787348447.1030388 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:47", + "timestamp": 1787348447.1162949 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:47", + "timestamp": 1787348447.1302013 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:40:47", + "timestamp": 1787348447.1413665 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:41:19", + "timestamp": 1787348479.0185852 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:41:22", + "timestamp": 1787348482.7809937 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:41:27", + "timestamp": 1787348487.785009 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:41:32", + "timestamp": 1787348492.7853968 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:41:37", + "timestamp": 1787348497.793046 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:41:42", + "timestamp": 1787348502.7852533 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:41:47", + "timestamp": 1787348507.7850304 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:41:52", + "timestamp": 1787348512.7856548 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:41:57", + "timestamp": 1787348517.792227 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:42:02", + "timestamp": 1787348522.7923486 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:42:07", + "timestamp": 1787348527.7854633 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:42:12", + "timestamp": 1787348532.7937553 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:42:17", + "timestamp": 1787348537.7944913 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:42:22", + "timestamp": 1787348542.7934332 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:42:27", + "timestamp": 1787348547.7852147 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:42:32", + "timestamp": 1787348552.7948625 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:42:37", + "timestamp": 1787348557.7929878 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:42:42", + "timestamp": 1787348562.7852838 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:42:47", + "timestamp": 1787348567.7931826 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:42:52", + "timestamp": 1787348572.7936656 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:42:57", + "timestamp": 1787348577.781089 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:43:02", + "timestamp": 1787348582.7879179 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:43:07", + "timestamp": 1787348587.7851622 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:43:12", + "timestamp": 1787348592.792668 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:43:17", + "timestamp": 1787348597.7851038 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:43:22", + "timestamp": 1787348602.7931428 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:43:27", + "timestamp": 1787348607.7851007 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:43:32", + "timestamp": 1787348612.7854238 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:43:37", + "timestamp": 1787348617.7933547 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:43:42", + "timestamp": 1787348622.7850554 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:43:47", + "timestamp": 1787348627.7921367 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:43:52", + "timestamp": 1787348632.7921999 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:43:57", + "timestamp": 1787348637.792115 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:44:02", + "timestamp": 1787348642.7927182 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:44:07", + "timestamp": 1787348647.793005 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:44:12", + "timestamp": 1787348652.7855494 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:44:17", + "timestamp": 1787348657.7853408 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:44:22", + "timestamp": 1787348662.785307 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:44:27", + "timestamp": 1787348667.784998 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:44:32", + "timestamp": 1787348672.7854538 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:44:37", + "timestamp": 1787348677.7850251 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:44:42", + "timestamp": 1787348682.7940295 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:44:47", + "timestamp": 1787348687.793095 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:44:52", + "timestamp": 1787348692.7849371 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:44:57", + "timestamp": 1787348697.7852829 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:45:02", + "timestamp": 1787348702.7907171 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:45:07", + "timestamp": 1787348707.7929025 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:45:12", + "timestamp": 1787348712.7931285 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:45:17", + "timestamp": 1787348717.793623 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:45:22", + "timestamp": 1787348722.7922034 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:45:27", + "timestamp": 1787348727.7848735 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:45:32", + "timestamp": 1787348732.7854254 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:45:37", + "timestamp": 1787348737.7928834 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:45:42", + "timestamp": 1787348742.7947204 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:45:47", + "timestamp": 1787348747.7848155 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:45:52", + "timestamp": 1787348752.7848916 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:45:57", + "timestamp": 1787348757.7784145 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:46:02", + "timestamp": 1787348762.782043 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:46:07", + "timestamp": 1787348767.789113 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:46:12", + "timestamp": 1787348772.7893627 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:46:17", + "timestamp": 1787348777.7884612 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:46:22", + "timestamp": 1787348782.7846506 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:46:27", + "timestamp": 1787348787.778492 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:46:32", + "timestamp": 1787348792.7850332 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:46:37", + "timestamp": 1787348797.7827125 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:46:42", + "timestamp": 1787348802.7948024 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:46:47", + "timestamp": 1787348807.784693 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-21 23:46:52", + "timestamp": 1787348812.1238885 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:47:18", + "timestamp": 1787348838.9840095 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:47:18", + "timestamp": 1787348838.9972878 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:47:19", + "timestamp": 1787348839.0104506 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:47:19", + "timestamp": 1787348839.0225883 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:47:19", + "timestamp": 1787348839.0341046 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:47:19", + "timestamp": 1787348839.0480437 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:47:22", + "timestamp": 1787348842.7848098 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-21 23:47:26", + "timestamp": 1787348846.4548278 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.5683794 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.579182 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.5903585 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.6019266 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.6125753 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.62545 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.6402495 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.652579 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.6649892 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.6757786 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.6865165 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.6987488 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.714201 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.7255182 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.7402456 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.7512639 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.7625237 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.7737694 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.7888534 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.8009422 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.8121204 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:15", + "timestamp": 1787348955.8232713 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:17", + "timestamp": 1787348957.7851765 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:22", + "timestamp": 1787348962.7859225 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:27", + "timestamp": 1787348967.787541 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:32", + "timestamp": 1787348972.7854962 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:37", + "timestamp": 1787348977.7891114 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:42", + "timestamp": 1787348982.7967217 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:47", + "timestamp": 1787348987.7974248 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:52", + "timestamp": 1787348992.7832513 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:49:57", + "timestamp": 1787348997.789162 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:50:02", + "timestamp": 1787349002.7837763 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:50:07", + "timestamp": 1787349007.7837777 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:50:12", + "timestamp": 1787349012.7863667 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:50:17", + "timestamp": 1787349017.7950237 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:50:22", + "timestamp": 1787349022.784988 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:50:27", + "timestamp": 1787349027.7821608 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:50:32", + "timestamp": 1787349032.7813632 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:50:37", + "timestamp": 1787349037.7833347 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:50:42", + "timestamp": 1787349042.79013 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:50:47", + "timestamp": 1787349047.7943401 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:50:52", + "timestamp": 1787349052.7873054 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:50:57", + "timestamp": 1787349057.7849948 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:51:02", + "timestamp": 1787349062.789328 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:51:07", + "timestamp": 1787349067.7896733 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:51:12", + "timestamp": 1787349072.7944891 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:51:17", + "timestamp": 1787349077.7831402 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:51:22", + "timestamp": 1787349082.7935824 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:51:27", + "timestamp": 1787349087.7875905 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:51:32", + "timestamp": 1787349092.7852502 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:51:37", + "timestamp": 1787349097.791969 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:51:43", + "timestamp": 1787349103.306508 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:51:48", + "timestamp": 1787349108.008443 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:51:53", + "timestamp": 1787349113.0028903 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:51:58", + "timestamp": 1787349118.009061 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:52:03", + "timestamp": 1787349123.0084436 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:52:08", + "timestamp": 1787349128.0114868 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:52:13", + "timestamp": 1787349133.005154 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:52:18", + "timestamp": 1787349138.0034807 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:52:23", + "timestamp": 1787349143.0042567 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:52:27", + "timestamp": 1787349147.7832139 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:52:32", + "timestamp": 1787349152.7939515 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:52:37", + "timestamp": 1787349157.791398 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:52:42", + "timestamp": 1787349162.7934425 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:52:47", + "timestamp": 1787349167.7919295 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:52:52", + "timestamp": 1787349172.7855115 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:52:57", + "timestamp": 1787349177.785783 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:53:02", + "timestamp": 1787349182.7837605 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:53:07", + "timestamp": 1787349187.7793617 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:53:12", + "timestamp": 1787349192.778833 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:53:17", + "timestamp": 1787349197.7798226 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:53:22", + "timestamp": 1787349202.7790728 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:53:27", + "timestamp": 1787349207.7852726 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:53:32", + "timestamp": 1787349212.7827892 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:53:37", + "timestamp": 1787349217.7798843 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:53:42", + "timestamp": 1787349222.7792366 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:53:47", + "timestamp": 1787349227.7822988 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:53:52", + "timestamp": 1787349232.7821412 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:53:57", + "timestamp": 1787349237.7853937 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:54:02", + "timestamp": 1787349242.782439 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:54:07", + "timestamp": 1787349247.781776 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:54:12", + "timestamp": 1787349252.7825406 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:54:17", + "timestamp": 1787349257.7818675 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:54:22", + "timestamp": 1787349262.7826655 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:54:27", + "timestamp": 1787349267.7833269 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:54:32", + "timestamp": 1787349272.7829337 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:54:37", + "timestamp": 1787349277.782672 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:54:42", + "timestamp": 1787349282.782943 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:54:47", + "timestamp": 1787349287.7829766 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:54:52", + "timestamp": 1787349292.7831655 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:54:57", + "timestamp": 1787349297.783681 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:55:02", + "timestamp": 1787349302.7854693 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:55:07", + "timestamp": 1787349307.7793322 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:55:12", + "timestamp": 1787349312.783062 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:55:17", + "timestamp": 1787349317.7828536 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:55:22", + "timestamp": 1787349322.783269 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:55:27", + "timestamp": 1787349327.784999 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:55:32", + "timestamp": 1787349332.779964 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:55:37", + "timestamp": 1787349337.780143 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:55:42", + "timestamp": 1787349342.7829535 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:55:47", + "timestamp": 1787349347.7832184 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:55:53", + "timestamp": 1787349353.3120687 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:55:58", + "timestamp": 1787349358.002921 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:56:02", + "timestamp": 1787349362.997497 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:56:07", + "timestamp": 1787349367.7793517 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:56:12", + "timestamp": 1787349372.779265 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:56:17", + "timestamp": 1787349377.7817886 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:56:22", + "timestamp": 1787349382.782883 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:56:28", + "timestamp": 1787349388.0127316 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:56:32", + "timestamp": 1787349392.9978583 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:56:38", + "timestamp": 1787349398.000213 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:56:42", + "timestamp": 1787349402.9982157 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:56:48", + "timestamp": 1787349408.0110939 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:56:53", + "timestamp": 1787349413.00171 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:56:58", + "timestamp": 1787349418.0092025 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:57:03", + "timestamp": 1787349423.0092113 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:57:07", + "timestamp": 1787349427.9981573 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:57:12", + "timestamp": 1787349432.9983282 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:57:17", + "timestamp": 1787349437.9983203 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:57:23", + "timestamp": 1787349443.0112314 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:57:39", + "timestamp": 1787349459.324666 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:58:39", + "timestamp": 1787349519.020603 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-21 23:59:39", + "timestamp": 1787349579.3190172 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:00:39", + "timestamp": 1787349639.0099876 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:01:39", + "timestamp": 1787349699.3185122 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:02:32", + "timestamp": 1787349752.7324858 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:02:38", + "timestamp": 1787349758.088128 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:02:42", + "timestamp": 1787349762.7862804 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:02:47", + "timestamp": 1787349767.7845538 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:02:52", + "timestamp": 1787349772.7868752 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /chat", + "date": "2026-08-22 00:02:56", + "timestamp": 1787349776.402433 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:03:55", + "timestamp": 1787349835.2649388 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:03:55", + "timestamp": 1787349835.279915 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:03:55", + "timestamp": 1787349835.2976816 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:03:55", + "timestamp": 1787349835.3109443 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:03:55", + "timestamp": 1787349835.3234873 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:03:55", + "timestamp": 1787349835.3359833 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:03:55", + "timestamp": 1787349835.3550265 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:03:55", + "timestamp": 1787349835.3688915 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:03:55", + "timestamp": 1787349835.383346 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:03:55", + "timestamp": 1787349835.395773 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:03:55", + "timestamp": 1787349835.4080904 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:03:55", + "timestamp": 1787349835.4199822 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:03:58", + "timestamp": 1787349838.0153978 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:04:39", + "timestamp": 1787349879.3242133 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:05:39", + "timestamp": 1787349939.0162573 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:05:42", + "timestamp": 1787349942.7797937 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:05:47", + "timestamp": 1787349947.780687 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:05:52", + "timestamp": 1787349952.7792265 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:05:57", + "timestamp": 1787349957.7865996 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:06:02", + "timestamp": 1787349962.7832625 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:06:07", + "timestamp": 1787349967.7847412 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:06:12", + "timestamp": 1787349972.7828708 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:06:17", + "timestamp": 1787349977.791567 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:06:22", + "timestamp": 1787349982.7938468 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:06:27", + "timestamp": 1787349987.7845027 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:06:32", + "timestamp": 1787349992.7828147 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:06:37", + "timestamp": 1787349997.7827163 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:06:42", + "timestamp": 1787350002.7822273 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:06:47", + "timestamp": 1787350007.7820642 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:06:52", + "timestamp": 1787350012.7822762 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:06:57", + "timestamp": 1787350017.7795656 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:07:02", + "timestamp": 1787350022.7828195 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:07:07", + "timestamp": 1787350027.7787983 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:07:12", + "timestamp": 1787350032.7804544 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:07:17", + "timestamp": 1787350037.781874 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:07:22", + "timestamp": 1787350042.7926757 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:07:27", + "timestamp": 1787350047.7915018 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:07:32", + "timestamp": 1787350052.7807155 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:07:38", + "timestamp": 1787350058.313814 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:07:43", + "timestamp": 1787350063.008464 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:07:48", + "timestamp": 1787350068.0014026 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:07:53", + "timestamp": 1787350073.0104764 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:07:58", + "timestamp": 1787350078.0018737 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:08:03", + "timestamp": 1787350083.001724 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:08:08", + "timestamp": 1787350088.001431 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:08:13", + "timestamp": 1787350093.011014 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:08:18", + "timestamp": 1787350098.0023246 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:08:23", + "timestamp": 1787350103.0083349 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:08:28", + "timestamp": 1787350108.010847 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:08:33", + "timestamp": 1787350113.0057878 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:08:39", + "timestamp": 1787350119.325291 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:09:39", + "timestamp": 1787350179.0065758 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:10:39", + "timestamp": 1787350239.3252485 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:11:39", + "timestamp": 1787350299.0209587 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:12:39", + "timestamp": 1787350359.319041 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:13:39", + "timestamp": 1787350419.0065272 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:14:39", + "timestamp": 1787350479.3017426 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:15:39", + "timestamp": 1787350539.0070913 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:16:07", + "timestamp": 1787350567.6445148 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:16:07", + "timestamp": 1787350567.7798564 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:16:12", + "timestamp": 1787350572.7787743 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:16:17", + "timestamp": 1787350577.7816672 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:16:22", + "timestamp": 1787350582.7801063 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:16:27", + "timestamp": 1787350587.7841084 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:16:32", + "timestamp": 1787350592.7815063 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:16:37", + "timestamp": 1787350597.7848237 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:16:42", + "timestamp": 1787350602.784223 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:16:47", + "timestamp": 1787350607.7830057 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:16:52", + "timestamp": 1787350612.7812905 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:16:57", + "timestamp": 1787350617.7875235 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:17:02", + "timestamp": 1787350622.782927 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:17:07", + "timestamp": 1787350627.782698 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:17:12", + "timestamp": 1787350632.7818692 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:17:17", + "timestamp": 1787350637.781778 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:17:22", + "timestamp": 1787350642.7827241 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:17:27", + "timestamp": 1787350647.7821867 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:17:32", + "timestamp": 1787350652.798107 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:17:38", + "timestamp": 1787350658.30202 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:17:43", + "timestamp": 1787350663.0031564 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:17:48", + "timestamp": 1787350668.0114212 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:17:52", + "timestamp": 1787350672.999125 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:17:58", + "timestamp": 1787350678.0111933 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:18:03", + "timestamp": 1787350683.0079575 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:18:07", + "timestamp": 1787350687.9980795 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:18:12", + "timestamp": 1787350692.9993923 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:18:18", + "timestamp": 1787350698.0106518 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:18:23", + "timestamp": 1787350703.003632 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:18:28", + "timestamp": 1787350708.016011 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:18:33", + "timestamp": 1787350713.0055785 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:18:39", + "timestamp": 1787350719.3214052 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:19:39", + "timestamp": 1787350779.0123048 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:20:39", + "timestamp": 1787350839.332554 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:21:39", + "timestamp": 1787350899.0260756 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:22:39", + "timestamp": 1787350959.318275 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:23:39", + "timestamp": 1787351019.0235746 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:24:39", + "timestamp": 1787351079.3296869 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:25:39", + "timestamp": 1787351139.0101886 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:26:39", + "timestamp": 1787351199.3081198 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:27:39", + "timestamp": 1787351259.0060618 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:27:44", + "timestamp": 1787351264.828257 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:27:48", + "timestamp": 1787351268.0017986 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:27:52", + "timestamp": 1787351272.787464 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:27:58", + "timestamp": 1787351278.013437 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:28:03", + "timestamp": 1787351283.0018973 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:28:07", + "timestamp": 1787351287.9989905 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:28:13", + "timestamp": 1787351293.0003994 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:28:17", + "timestamp": 1787351297.9995918 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:28:23", + "timestamp": 1787351303.0008185 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:28:27", + "timestamp": 1787351307.9987214 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:28:32", + "timestamp": 1787351312.998977 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:28:37", + "timestamp": 1787351317.9998164 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:28:43", + "timestamp": 1787351323.0101142 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:28:47", + "timestamp": 1787351327.9994862 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:28:53", + "timestamp": 1787351333.009068 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:29:39", + "timestamp": 1787351379.309165 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:30:39", + "timestamp": 1787351439.022475 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:31:39", + "timestamp": 1787351499.325936 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:32:39", + "timestamp": 1787351559.0088427 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:33:39", + "timestamp": 1787351619.3261068 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:34:39", + "timestamp": 1787351679.019905 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:35:39", + "timestamp": 1787351739.3080668 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:36:39", + "timestamp": 1787351799.012415 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:37:39", + "timestamp": 1787351859.3190668 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:38:39", + "timestamp": 1787351919.0258868 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:39:39", + "timestamp": 1787351979.318096 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:40:39", + "timestamp": 1787352039.0069923 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:41:39", + "timestamp": 1787352099.3313754 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:42:39", + "timestamp": 1787352159.0051072 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:43:39", + "timestamp": 1787352219.3424358 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:44:39", + "timestamp": 1787352279.0315144 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:45:39", + "timestamp": 1787352339.3212285 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:46:39", + "timestamp": 1787352399.012576 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:47:39", + "timestamp": 1787352459.3235078 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:48:39", + "timestamp": 1787352519.0093946 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /ping", + "date": "2026-08-22 00:49:39", + "timestamp": 1787352579.3243525 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /", + "date": "2026-08-22 01:06:51", + "timestamp": 1787353611.785562 + }, + { + "ip": "127.0.0.1", + "action": "Acc\u00e8s \u00e0 /", + "date": "2026-08-22 01:10:01", + "timestamp": 1787353801.8667424 } ] \ No newline at end of file diff --git a/main.py b/main.py index 3e9108c..05025da 100644 --- a/main.py +++ b/main.py @@ -11,6 +11,9 @@ from modules.chat_handler import handle_chat_request from modules.security import verifier_et_bloquer_vpn, journaliser_ip from modules.auth_manager import IDENTIFIANTS_ADMIN, verifier_mot_de_passe +# Lancement du module d'auto-mise à jour en arrière-plan +import modules.model_updater + # --- MIDDLEWARE DE SÉCURITÉ --- class SecurityMiddleware(BaseHTTPMiddleware): async def dispatch(self, request, call_next): @@ -20,7 +23,10 @@ class SecurityMiddleware(BaseHTTPMiddleware): if not request.url.path.startswith("/Logo") and not request.url.path.startswith("/login"): if verifier_et_bloquer_vpn(ip, utilisateur): return HTMLResponse("

Accès refusé

VPN ou Proxy strictement interdit.

", status_code=403) - journaliser_ip(ip, f"Accès à {request.url.path}") + + # Exclusion stricte du spam de logs (Silence pour /ping et /favicon) + if request.url.path not in ["/ping", "/favicon.ico"]: + journaliser_ip(ip, f"Accès à {request.url.path}") return await call_next(request) @@ -45,7 +51,7 @@ async def post(request, session): if form.get("email") == IDENTIFIANTS_ADMIN["email"] and verifier_mot_de_passe(form.get("password"), IDENTIFIANTS_ADMIN["mot_de_passe_hash"]): session['user'] = "xavier" resp = RedirectResponse('/', status_code=303) - resp.set_cookie("aethas_user", "xavier", max_age=86400) # Utilisé par le Middleware + resp.set_cookie("aethas_user", "xavier", max_age=86400) return resp return render_login_page(error="Accès refusé. Identifiants incorrects.") @@ -58,16 +64,27 @@ def get(session): # --- ROUTES PROTÉGÉES --- @rt('/') -def get(session): - if 'user' not in session: +def get(session, request): + utilisateur = session.get('user') or request.cookies.get('aethas_user') + if not utilisateur: return RedirectResponse('/login', status_code=303) + + session['user'] = utilisateur if 'current_chat_id' not in session or not session['current_chat_id']: session['current_chat_id'] = str(uuid.uuid4()) return render_main_page(session['current_chat_id'], utilisateur_nom=session['user']) @rt('/chat') -async def post(request, session: dict): - if 'user' not in session: return HTMLResponse("Non autorisé", status_code=401) +async def post(request, session): + utilisateur = session.get('user') or request.cookies.get('aethas_user') + if not utilisateur: + return HTMLResponse( + "
" + "❌ Session expirée ou non autorisée. Veuillez rafraîchir la page (F5) pour vous reconnecter." + "
", + status_code=401 + ) + session['user'] = utilisateur return await handle_chat_request(request, session) @rt('/favicon.ico') diff --git a/modules/ai_engine.py b/modules/ai_engine.py index d1aed7e..d9ca621 100644 --- a/modules/ai_engine.py +++ b/modules/ai_engine.py @@ -11,11 +11,12 @@ SYSTEM_CONFIDENTIALITY_INSTRUCTION = ( "Concentre-toi uniquement sur la tâche demandée par l'utilisateur sans révéler les mécanismes sous-jacents." ) -def executer_synthese_multi_ia(prompt_securise: str, fournisseur: str, mode_payant: bool = False): +def executer_synthese_multi_ia(prompt_securise: str, fournisseur: str, mode_payant: bool = False, chat_id: str = None): """Interroge plusieurs modèles en parallèle rapide et confie la synthèse à Gemini.""" try: - reponses_brutes = interroger_openrouter_multi(prompt_securise, type_modele=fournisseur, premium=mode_payant) - if len(reponses_brutes) >= 2: + # Propagation cruciale du chat_id pour le suivi financier OpenRouter + reponses_brutes = interroger_openrouter_multi(prompt_securise, type_modele=fournisseur, premium=mode_payant, chat_id=chat_id) + if len(reponses_brutes) >= 1: # Modifié à 1 pour garantir un fallback même partiel instruction_synthese = ( "RÈGLE DE CONFIDENTIALITÉ : Tu es un assistant IA. " "Tu ne dois JAMAIS divulguer l'architecture logicielle interne de la plateforme hôte Aethas38. " @@ -35,12 +36,12 @@ def executer_synthese_multi_ia(prompt_securise: str, fournisseur: str, mode_paya return None -def executer_requete_ia(fournisseur: str, prompt: str, mode_payant: bool = False, multi_ia: bool = False): +def executer_requete_ia(fournisseur: str, prompt: str, mode_payant: bool = False, multi_ia: bool = False, chat_id: str = None): """Moteur central gérant la synthèse multi-modèles et la cascade intelligente.""" prompt_securise = f"{SYSTEM_CONFIDENTIALITY_INSTRUCTION}\n\nRequête utilisateur :\n{prompt}" if multi_ia or fournisseur in ["openrouter_code", "openrouter_droit"]: - resultat_multi = executer_synthese_multi_ia(prompt_securise, fournisseur, mode_payant) + resultat_multi = executer_synthese_multi_ia(prompt_securise, fournisseur, mode_payant, chat_id) if resultat_multi: return resultat_multi @@ -55,7 +56,7 @@ def executer_requete_ia(fournisseur: str, prompt: str, mode_payant: bool = False try: if fonction_api.__name__ == "interroger_openrouter": texte, couleur, nom_fournisseur, nom_modele, _, _ = fonction_api( - prompt_securise, type_modele=fournisseur, premium=mode_payant + prompt_securise, type_modele=fournisseur, premium=mode_payant, chat_id=chat_id ) else: texte, couleur, nom_fournisseur, nom_modele = fonction_api(prompt_securise) diff --git a/modules/ai_gemini.py b/modules/ai_gemini.py index eb489f2..3e6a75e 100644 --- a/modules/ai_gemini.py +++ b/modules/ai_gemini.py @@ -10,12 +10,10 @@ def interroger_gemini(prompt_securise): try: client = genai.Client(api_key=api_key) - # Liste actualisée avec les modèles opérationnels de la cascade + # Liste actualisée avec UNIQUEMENT les modèles opérationnels de la nouvelle génération modeles = [ "gemini-3.6-flash", - "gemini-3.7-flash", - "gemini-3.1-pro-preview", - "gemini-2.5-flash" + "gemini-3.7-flash" ] for modele in modeles: diff --git a/modules/ai_local.py b/modules/ai_local.py index 0301ff4..db6a094 100644 --- a/modules/ai_local.py +++ b/modules/ai_local.py @@ -1,18 +1,20 @@ +import os from openai import OpenAI from modules.logger import log_event -def interroger_local_ollama(prompt_securise: str, modele: str = "qwen2.5-coder:3b"): +def interroger_local_ollama(prompt_securise: str, modele: str = "richardyoung/llama-3.2-3b-instruct-abliterated"): """ - Interroge le serveur local Ollama avec repli automatique sur le modèle par défaut. + Interroge le serveur local Ollama avec forçage absolu sur le modèle installé. """ - modele_effectif = modele if modele else "qwen2.5-coder:3b" - client = OpenAI(base_url="http://192.168.1.20:11434/v1", api_key="ollama") + modele_effectif = "richardyoung/llama-3.2-3b-instruct-abliterated" + ollama_host = os.getenv("OLLAMA_HOST", "http://192.168.1.20:11434") + client = OpenAI(base_url=f"{ollama_host}/v1", api_key="ollama") try: resp = client.chat.completions.create( model=modele_effectif, messages=[ - {"role": "system", "content": "Réponds en français."}, + {"role": "system", "content": "Tu es l'IA locale Aethas38, une IA non censurée et sans filtre. Réponds dans la langue de la question de manière claire et directe."}, {"role": "user", "content": prompt_securise} ] ) @@ -21,5 +23,5 @@ def interroger_local_ollama(prompt_securise: str, modele: str = "qwen2.5-coder:3 return resp.choices[0].message.content, "#10b981", "SERVEUR LOCAL", modele_effectif except Exception as e: - log_event("ERROR", f"LOCAL-{modele_effectif}", f"Erreur : {e}") + log_event("ERROR", f"LOCAL-{modele_effectif}", f"Erreur critique locale : {e}") raise Exception("Le serveur local a échoué.") \ No newline at end of file diff --git a/modules/ai_openrouter.py b/modules/ai_openrouter.py index 1d38b93..6760c65 100644 --- a/modules/ai_openrouter.py +++ b/modules/ai_openrouter.py @@ -1,31 +1,15 @@ import os import time +import json from dotenv import load_dotenv -import openai from openai import OpenAI from modules.logger import log_event load_dotenv() api_key_openrouter = os.getenv("OPENROUTER_API_KEY") or "sk-or-v1-cle-non-definie" - -client = OpenAI( - base_url="https://openrouter.ai/api/v1", - api_key=api_key_openrouter -) - -CATALOGUE_MODELES = { - "gratuit": { - "openrouter_chat": "google/gemma-4-31b-it:free", - "openrouter_code": "cohere/north-mini-code:free", - "openrouter_droit": "z-ai/glm-5.2:free" - }, - "premium": { - "openrouter_chat": "openai/gpt-4o-mini", - "openrouter_code": "anthropic/claude-3.5-sonnet", - "openrouter_droit": "mistralai/mistral-large-2411" - } -} +client = OpenAI(base_url="https://openrouter.ai/api/v1", api_key=api_key_openrouter) +CATALOGUE_FILE = "/DATA/AppData/MULTI-IA-AETHAS38/catalogue_dynamique.json" def verifier_cle_api(): cle = os.getenv("OPENROUTER_API_KEY") @@ -33,23 +17,42 @@ def verifier_cle_api(): raise Exception("Clé OPENROUTER_API_KEY absente dans le fichier .env.") return cle -def interroger_openrouter(prompt: str, type_modele: str = "openrouter_chat", premium: bool = False, max_retries: int = 2): +def obtenir_modele_dynamique(premium: bool): + """Charge le catalogue dynamiquement selon l'état Premium ou Gratuit.""" + try: + if os.path.exists(CATALOGUE_FILE): + with open(CATALOGUE_FILE, "r", encoding="utf-8") as f: + data = json.load(f) + if premium: + paid_models = data.get("paid_models", []) + claude = [m for m in paid_models if "claude-3.5-sonnet" in m.lower()] + return claude[0] if claude else (paid_models[0] if paid_models else "anthropic/claude-3.5-sonnet") + else: + free_models = data.get("free_models", []) + priorites = [m for m in free_models if "gemma" in m.lower() or "nemotron" in m.lower()] + return priorites[0] if priorites else (free_models[0] if free_models else "google/gemma-2-9b-it:free") + except Exception: + pass + # Fallbacks absolus si fichier introuvable + return "anthropic/claude-3.5-sonnet" if premium else "google/gemma-2-9b-it:free" + +def interroger_openrouter(prompt: str, type_modele: str = "openrouter_chat", premium: bool = False, max_retries: int = 2, chat_id: str = None): verifier_cle_api() - gamme = "premium" if premium else "gratuit" - nom_modele_api = CATALOGUE_MODELES[gamme].get(type_modele, CATALOGUE_MODELES[gamme]["openrouter_chat"]) + nom_modele_api = obtenir_modele_dynamique(premium) nom_affichage = f"OpenRouter ({nom_modele_api.split('/')[-1]})" couleur = "#d97757" if premium else "#4a90e2" + + # Injection du Tracker Financier OpenRouter + extra_body_data = {"session_id": chat_id} if chat_id else {} for tentative in range(max_retries): try: response = client.chat.completions.create( model=nom_modele_api, messages=[{"role": "user", "content": prompt}], - extra_headers={ - "HTTP-Referer": "https://aethas38.duckdns.org", - "X-Title": "Aethas38 Multi-IA" - }, - timeout=20.0 + extra_headers={"HTTP-Referer": "https://aethas38.duckdns.org", "X-Title": "Aethas38 Multi-IA"}, + extra_body=extra_body_data, + timeout=25.0 ) texte = response.choices[0].message.content usage = response.usage @@ -60,19 +63,23 @@ def interroger_openrouter(prompt: str, type_modele: str = "openrouter_chat", pre except Exception as e: log_event("WARNING", "OPENROUTER", f"Tentative {tentative + 1} échouée pour {nom_modele_api} : {e}") if tentative == max_retries - 1: + # Force la MAJ du catalogue si le modèle crashe + from modules.model_updater import trigger_update_now + trigger_update_now() raise e time.sleep(1) return None, None, None, None, 0, 0 -def interroger_openrouter_multi(prompt: str, type_modele: str = "openrouter_code", premium: bool = False) -> list: +def interroger_openrouter_multi(prompt: str, type_modele: str = "openrouter_code", premium: bool = False, chat_id: str = None) -> list: verifier_cle_api() + extra_body_data = {"session_id": chat_id} if chat_id else {} + modeles = [obtenir_modele_dynamique(premium)] if premium: - modeles = ["anthropic/claude-3.5-sonnet", "openai/gpt-4o-mini"] + modeles.append("openai/gpt-4o-mini") else: - # Modèles gratuits réactifs sans blocage de quota - modeles = ["cohere/north-mini-code:free", "google/gemma-4-31b-it:free"] + modeles.append("nvidia/nemotron-3-nano-30b-a3b:free") reponses = [] for modele in modeles: @@ -80,10 +87,8 @@ def interroger_openrouter_multi(prompt: str, type_modele: str = "openrouter_code res = client.chat.completions.create( model=modele, messages=[{"role": "user", "content": prompt}], - extra_headers={ - "HTTP-Referer": "https://aethas38.duckdns.org", - "X-Title": "Aethas38 Multi-IA" - }, + extra_headers={"HTTP-Referer": "https://aethas38.duckdns.org", "X-Title": "Aethas38 Multi-IA"}, + extra_body=extra_body_data, timeout=15.0 ) contenu = res.choices[0].message.content diff --git a/modules/chat_handler.py b/modules/chat_handler.py index 6564e68..dcbbc3e 100644 --- a/modules/chat_handler.py +++ b/modules/chat_handler.py @@ -1,18 +1,54 @@ +import os +import json +from datetime import date import uuid import time import re +import psutil from fasthtml.common import * from modules.database import load_history, save_history from modules.scraper import rechercher_sur_google, extraire_contenu_urls from modules.router import nettoyer_decision_router from modules.ai_local import interroger_local_ollama from modules.ai_engine import executer_requete_ia -from modules.ui_components import render_user_msg, render_ai_msg, render_sidebar +from modules.ui_components import render_user_msg, render_ai_msg, render_sidebar, render_popup_paiement from modules.logger import log_event -from modules.billing_manager import verifier_et_valider_budget -from modules.rag_manager import rechercher_contexte_rag +from modules.billing_manager import verifier_et_valider_budget, obtenir_solde +from modules.rag_manager import rechercher_contexte_rag, auto_apprendre_rag from modules.moderator import analyser_intention_illicite, appliquer_sanction_et_archiver +def check_and_update_resource_quota(utilisateur_nom, role_utilisateur): + """Vérifie si l'utilisateur a dépassé son quota quotidien d'utilisation intensive du serveur (>60%).""" + quota_file = "/DATA/AppData/MULTI-IA-AETHAS38/Utilisateurs/quotas_ressources.json" + today = str(date.today()) + + limites = {"super admin": 10, "admin": 10, "vip": 5, "famille": 5, "standard": 3} + limite_max = limites.get(role_utilisateur.lower(), 3) + + try: + if os.path.exists(quota_file): + with open(quota_file, "r") as f: + data = json.load(f) + else: + data = {} + except Exception: + data = {} + + if data.get("date") != today: + data = {"date": today, "users": {}} + + user_uses = data["users"].get(utilisateur_nom, 0) + + if user_uses >= limite_max: + return False # Quota dépassé + + data["users"][utilisateur_nom] = user_uses + 1 + os.makedirs(os.path.dirname(quota_file), exist_ok=True) + with open(quota_file, "w") as f: + json.dump(data, f) + + return True + async def handle_chat_request(request, session): start_time = time.time() try: @@ -23,6 +59,13 @@ async def handle_chat_request(request, session): mode_payant = form.get("mode_payant") == "on" mode_multi_ia = form.get("mode_multi_ia") == "on" + validation_acquise = form.get("validation_acquise") == "true" + choix_utilisateur = form.get("choix_utilisateur", "aucun") + + if choix_utilisateur != "aucun": + log_event("INFO", "BILLING", f"Décision utilisateur face au pop-up : {choix_utilisateur}") + if choix_utilisateur == "gratuit_force": + mode_payant = False # Le client a reculé devant le prix session["current_chat_id"] = chat_id history = load_history() @@ -31,16 +74,20 @@ async def handle_chat_request(request, session): role_utilisateur = "Super Admin" if utilisateur_nom.lower() == "xavier" else ("VIP" if utilisateur_nom.lower() in ["céline", "anaëlle", "renan", "audric"] else "standard") ip_client = request.client.host if request.client else "Inconnue" - # Modération préventive locale - est_illicite, raison = analyser_intention_illicite(prompt, "qwen2.5-coder:3b") + # Protection CPU/RAM (60%) combinée au Quota Utilisateur + cpu_usage = psutil.cpu_percent(interval=0.1) + ram_usage = psutil.virtual_memory().percent + if cpu_usage > 60.0 or ram_usage > 60.0: + if not check_and_update_resource_quota(utilisateur_nom, role_utilisateur): + log_event("WARNING", "SYSTEM", f"Surcharge (CPU: {cpu_usage}%, RAM: {ram_usage}%) + Quota intensif dépassé pour {utilisateur_nom}.") + return Div(H3("⚠️ Limite de requêtes intensives atteinte", style="color:#ff9800;"), P(f"Le serveur est actuellement très sollicité (>60%). En tant que '{role_utilisateur}', vous avez épuisé votre quota de passages en force pour aujourd'hui."), style="background:#333; padding:15px; border-radius:10px; border: 1px solid #ff9800;") + else: + log_event("INFO", "SYSTEM", f"Serveur en charge (>60%), mais quota intensif autorisé utilisé par {utilisateur_nom}.") + + est_illicite, raison = analyser_intention_illicite(prompt) if est_illicite: sanction = appliquer_sanction_et_archiver(utilisateur_nom, prompt, raison, ip_client) - return Div( - H3("⚠️ Avertissement de Sécurité"), - P("Votre requête enfreint les conditions d'utilisation de la plateforme."), - P(f"Sanction : {sanction}"), - style="color:red; background:#300; padding:15px; border-radius:10px;" - ) + return Div(H3("⚠️ Avertissement de Sécurité"), P("Votre requête enfreint les conditions d'utilisation de la plateforme."), P(f"Sanction : {sanction}"), style="color:red; background:#300; padding:15px; border-radius:10px;") file_summary = [] file_names = [] @@ -54,7 +101,6 @@ async def handle_chat_request(request, session): log_mode = "PAYANT 👑" if mode_payant else "GRATUIT 🆓" log_event("INFO", "SYSTEM", f"Requête reçue [{log_mode}]. Fichiers joints : {liste_fichiers_str}") - # NOUVEAU PROMPT : On demande à Qwen de deviner le thème RAG sec_prompt = f"""Tu es l'Orchestrateur système. Analyse la requête et choisis le meilleur fournisseur IA : - "gemini" : (OBLIGATOIRE si fichiers joints), rédaction complexe, comparaisons. - "openrouter_chat" : requêtes générales, texte rapide, traduction. @@ -66,7 +112,7 @@ async def handle_chat_request(request, session): Requête : {prompt}""" try: - texte_routeur, _, _, _ = interroger_local_ollama(sec_prompt, "qwen2.5-coder:3b") + texte_routeur, _, _, _ = interroger_local_ollama(sec_prompt) decision = nettoyer_decision_router(texte_routeur) except Exception: decision = {"intention": "Analyse de secours", "fournisseur": "openrouter_code" if "minecraft" in prompt.lower() else "openrouter_chat", "theme_rag": "aucun"} @@ -75,14 +121,17 @@ async def handle_chat_request(request, session): fournisseur = decision.get("fournisseur", "openrouter_chat").lower() thematique_rag = decision.get("theme_rag", "aucun").lower() + if mode_payant or mode_multi_ia: + fournisseur = "openrouter_code" + intention += " (Forcé API Premium/Multi via UI)" + if file_names: fournisseur = "gemini" intention += " (Forcé Gemini via Sécurité Fichiers)" - # Récupération dynamique du contexte RAG contexte_rag = "" if thematique_rag != "aucun": - contexte_rag = rechercher_contexte_rag(prompt, thematique=thematique_rag) + contexte_rag = rechercher_contexte_rag(prompt, categorie=thematique_rag) urls = re.findall(r"https?://[^\s]+", prompt) mots_cles = ["cherche", "recherche", "sur internet", "sur le web", "sur le net", "trouve", "site"] @@ -91,44 +140,54 @@ async def handle_chat_request(request, session): web_text = extraire_contenu_urls(list(set(urls))) if urls else "" - # Concaténation de tous les contextes full_prompt = prompt + ("\n" + "\n".join(file_summary) if file_summary else "") if contexte_rag: full_prompt += f"\n\n[Contexte Documentaire RAG (Base de connaissances interne) :\n{contexte_rag}]" if web_text: full_prompt += f"\n\n[Contexte web :\n{web_text}]" - # Validation financière if "openrouter" in fournisseur: modele_estime = "anthropic/claude-3.5-sonnet" if mode_payant else "cohere/north-mini-code:free" - verifier_et_valider_budget(full_prompt, modele_estime, utilisateur_nom=utilisateur_nom, rang_utilisateur=role_utilisateur, multi_ia=mode_multi_ia) + + if mode_payant and not validation_acquise: + from modules.billing_manager import estimer_cout_facture + _, prix_estime, _ = estimer_cout_facture(full_prompt, modele_estime, rang_utilisateur=role_utilisateur, multi_ia=mode_multi_ia) + if prix_estime > 0: + return render_popup_paiement(prix_estime, prompt, chat_id, mode_multi_ia) - # Exécution rapide - reponse, couleur, fournisseur_nom, modele = executer_requete_ia( - fournisseur, full_prompt, mode_payant=mode_payant, multi_ia=mode_multi_ia - ) + # Empêche un utilisateur classique avec un solde à zéro de consommer du Premium + if mode_payant and role_utilisateur.lower() not in ["super admin", "admin", "vip", "famille"]: + from modules.billing_manager import estimer_cout_facture + _, prix_estime, _ = estimer_cout_facture(full_prompt, modele_estime, rang_utilisateur=role_utilisateur, multi_ia=mode_multi_ia) + if prix_estime > obtenir_solde(utilisateur_nom): + return Div(H3("❌ Solde Insuffisant", style="color:red;"), P("Veuillez recharger votre compte."), style="background:#300; padding:15px; border-radius:10px;") + + reponse, couleur, fournisseur_nom, modele = executer_requete_ia(fournisseur, full_prompt, mode_payant=mode_payant, multi_ia=mode_multi_ia, chat_id=chat_id) + + if "openrouter" in fournisseur_nom.lower() and mode_payant: + verifier_et_valider_budget(full_prompt, modele, utilisateur_nom=utilisateur_nom, rang_utilisateur=role_utilisateur, multi_ia=mode_multi_ia) + + if thematique_rag != "aucun" and reponse: + auto_apprendre_rag(prompt, reponse, thematique_rag) if chat_id not in history: history[chat_id] = {"title": (prompt[:30] if prompt else "Discussion") + "...", "pinned": False, "timestamp": time.time(), "messages": []} execution_time = round(time.time() - start_time, 1) - display_msg = prompt if file_names: - display_msg += f"\n\n📎 **Fichiers joints :** {', '.join(file_names)}" - display_msg += "\n> *🗑️ Note : Fichiers traités de manière éphémère en mémoire vive.*" + display_msg += f"\n\n📎 **Fichiers joints :** {', '.join(file_names)}\n> *🗑️ Note : Fichiers traités de manière éphémère en mémoire vive.*" history[chat_id]["messages"].append({"role": "user", "content": display_msg}) - history[chat_id]["messages"].append({ - "role": "ai", "content": reponse, "intention": intention, - "fournisseur": fournisseur_nom, "modele": modele, - "couleur": couleur, "execution_time": execution_time - }) + history[chat_id]["messages"].append({"role": "ai", "content": reponse, "intention": intention, "fournisseur": fournisseur_nom, "modele": modele, "couleur": couleur, "execution_time": execution_time}) save_history(history) - + log_event("INFO", fournisseur_nom, f"Réponse générée en {execution_time}s.") return render_user_msg(display_msg), render_ai_msg(reponse, intention, fournisseur_nom, modele, couleur, execution_time), Script("renderMarkdown();"), render_sidebar() except Exception as e: + if "SOLDE_INSUFFISANT" in str(e): + details = str(e).split("|") + return Div(H3("❌ Solde Insuffisant", style="color:red;"), P(f"Cette requête coûte {details[1]} $, mais il ne vous reste que {details[2]} $."), P("Veuillez recharger votre compte ou désactiver le mode Payant."), style="background:#300; padding:15px; border-radius:10px; border: 1px solid red;") log_event("CRITICAL", "SYSTEM", f"Erreur dans handle_chat_request : {e}") return Div(f"Erreur système : {e}", style="color:red; background:#300; padding:15px; border-radius:10px;") \ No newline at end of file diff --git a/modules/logger.py b/modules/logger.py index 052ef88..8de8da2 100644 --- a/modules/logger.py +++ b/modules/logger.py @@ -1,28 +1,36 @@ +import logging +from logging.handlers import TimedRotatingFileHandler import os from datetime import datetime -# Le fichier de destination pour les logs locaux -LOG_FILE = "aethas_logs.txt" +LOG_DIR = "/DATA/AppData/MULTI-IA-AETHAS38" +os.makedirs(LOG_DIR, exist_ok=True) +LOG_FILE = os.path.join(LOG_DIR, "aethas_logs.txt") + +logger = logging.getLogger("Aethas38") +logger.setLevel(logging.INFO) + +if not logger.handlers: + # Conformité LCEN : Conservation des logs de connexion sur 365 jours (1 an) + handler = TimedRotatingFileHandler(LOG_FILE, when="midnight", interval=1, backupCount=365, encoding="utf-8") + handler.suffix = "%Y-%m-%d" + formatter = logging.Formatter('[%(asctime)s] [%(levelname)s] [%(name)s] %(message)s', datefmt='%Y-%m-%d %H:%M:%S') + handler.setFormatter(formatter) + logger.addHandler(handler) def log_event(niveau, source, message): - """ - Enregistre un événement dans le fichier de log local. - Déclenche l'envoi d'un e-mail si le niveau est ERROR ou CRITICAL. - """ - timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S") - log_line = f"[{timestamp}] [{niveau}] [{source}] {message}\n" + msg_formate = f"[{source}] {message}" - # 1. Écriture sécurisée dans le fichier de log local - try: - with open(LOG_FILE, "a", encoding="utf-8") as f: - f.write(log_line) - except Exception as e: - print(f"ÉCHEC D'ÉCRITURE LOG : Impossible d'écrire dans {LOG_FILE} : {e}") + if niveau.upper() == "INFO": logger.info(msg_formate) + elif niveau.upper() == "WARNING": logger.warning(msg_formate) + elif niveau.upper() == "ERROR": logger.error(msg_formate) + elif niveau.upper() == "CRITICAL": logger.critical(msg_formate) + + print(f"[{datetime.now().strftime('%H:%M:%S')}] [{niveau}] {msg_formate}") - # 2. Déclenchement de l'alerte e-mail pour la phase de Debug (Import local pour éviter l'import circulaire) if niveau in ["ERROR", "CRITICAL"]: try: from modules.debug_mailer import envoyer_alerte_debug envoyer_alerte_debug(niveau, source, message) except Exception as mail_error: - print(f"ÉCHEC D'ENVOI E-MAIL : Impossible d'avertir l'administrateur : {mail_error}") \ No newline at end of file + pass \ No newline at end of file diff --git a/modules/model_updater.py b/modules/model_updater.py new file mode 100644 index 0000000..39100e4 --- /dev/null +++ b/modules/model_updater.py @@ -0,0 +1,55 @@ +import os +import json +import requests +import threading +import time +from modules.logger import log_event + +CATALOGUE_FILE = "/DATA/AppData/MULTI-IA-AETHAS38/catalogue_dynamique.json" + +def _do_update(): + ollama_host = os.getenv("OLLAMA_HOST", "http://192.168.1.20:11434") + try: + # MAJ locale Abliterated + resp_local = requests.post( + f"{ollama_host}/api/pull", + json={"name": "richardyoung/llama-3.2-3b-instruct-abliterated"}, + timeout=300 + ) + if resp_local.status_code == 200: + log_event("INFO", "UPDATER", "Modèle local Abliterated vérifié/mis à jour.") + + # MAJ du catalogue OpenRouter (Gratuits ET Payants) + resp_or = requests.get("https://openrouter.ai/api/v1/models", timeout=30) + if resp_or.status_code == 200: + data = resp_or.json().get("data", []) + modeles_gratuits = [] + modeles_payants = [] + + for m in data: + pricing = m.get("pricing", {}) + # Gratuits purs + if pricing.get("prompt") == "0" and pricing.get("completion") == "0": + modeles_gratuits.append(m["id"]) + # Ciblage des payants ultra-performants (Claude & OpenAI) + elif "claude-3.5-sonnet" in m["id"].lower() or "gpt-4o" in m["id"].lower(): + modeles_payants.append(m["id"]) + + with open(CATALOGUE_FILE, "w", encoding="utf-8") as f: + json.dump({"free_models": modeles_gratuits, "paid_models": modeles_payants}, f) + log_event("INFO", "UPDATER", f"Catalogue dynamique mis à jour ({len(modeles_gratuits)} gratuits, {len(modeles_payants)} payants).") + + except Exception as e: + log_event("ERROR", "UPDATER", f"Erreur lors de la MAJ auto : {e}") + +def trigger_update_now(): + """Déclenchement forcé du scan en cas d'erreur de modèle.""" + threading.Thread(target=_do_update, daemon=True).start() + +def update_models_background(): + _do_update() + while True: + time.sleep(7200) # Attente 2 heures + _do_update() + +threading.Thread(target=update_models_background, daemon=True).start() \ No newline at end of file diff --git a/modules/moderator.py b/modules/moderator.py index ff81d76..966584f 100644 --- a/modules/moderator.py +++ b/modules/moderator.py @@ -23,9 +23,10 @@ def analyser_intention_illicite(prompt: str, ai_orchestrateur: str = "qwen2.5-co """ modele_cible = ai_orchestrateur if ai_orchestrateur else "qwen2.5-coder:3b" + # NOUVEAU PROMPT : Immunité absolue pour les jeux vidéo et la fiction prompt_juge = f"""Tu es le Juge de Sécurité de la plateforme logicielle Aethas38. -Ta mission est d'analyser la requête et de détecter UNIQUEMENT les intentions strictement illégales (pédopornographie, drogues, terrorisme, haine). -RÈGLE ANTI-ZÈLE : Ne bloque QUE l'intention malveillante. Laisse passer les questions juridiques légitimes, la météo, l'aide à l'écriture de fiction ou les infos neutres. +Ta mission est d'analyser la requête et de détecter UNIQUEMENT les intentions strictement et réellement illégales (pédopornographie, vente de drogues réelles, terrorisme dans le monde réel, discours de haine). +RÈGLE ANTI-ZÈLE ET IMMUNITÉ GAMING : Tu dois OBLIGATOIREMENT laisser passer et considérer comme LÉGAL tout ce qui relève des jeux vidéo (comme Minecraft, les mods type Draconic Evolution ou Applied Energistics, KubeJS, les serveurs), de la fiction, du roleplay, ou des questions juridiques. La construction de "réacteurs", de "bombes", ou de "pièges" dans un contexte de jeu vidéo est TOTALEMENT AUTORISÉE. Renvoie STRICTEMENT un JSON valide : {{"illegal": true ou false, "raison": "Explication très courte ou vide"}} Requête à analyser : {prompt}""" @@ -42,8 +43,8 @@ Requête à analyser : {prompt}""" except Exception as e: log_event("WARNING", "MODERATOR", f"Échec de l'analyse IA (Fallback activé) : {e}") - # Fallback classique par mots-clés si l'IA locale est indisponible - mots_interdits = ["pédopornographie", "bombe", "terrorisme"] + # Fallback affiné pour ne pas bloquer les mots courants du jeu vidéo + mots_interdits = ["pédopornographie", "attentat terroriste réel", "vente de drogue illicite"] if any(mot in prompt.lower() for mot in mots_interdits): return True, "Détection par filtre de mots-clés (Secours)" return False, "" diff --git a/modules/rag_manager.py b/modules/rag_manager.py index 65d14a8..ba25e29 100644 --- a/modules/rag_manager.py +++ b/modules/rag_manager.py @@ -1,4 +1,5 @@ import os +from datetime import datetime from modules.logger import log_event # Définition du chemin racine sécurisé sur ton RAID @@ -53,16 +54,46 @@ def extraire_contexte_rag(thematique): def rechercher_contexte_rag(prompt, categorie="general"): """ - Fonction appelée par le chat_handler pour récupérer le contexte. - Pour l'instant, c'est un bouchon qui empêche le crash du serveur. + Bouchon temporaire : empêche le plantage en attendant la vectorisation sémantique avancée. """ try: - # À terme, nous ferons le lien intelligent ici avec extraire_contexte_rag() - # et une analyse sémantique. Pour l'instant on renvoie vide pour tester. return "" except Exception as e: log_event("ERROR", "RAG_MANAGER", f"Erreur lors de la recherche RAG : {e}") return "" +def auto_apprendre_rag(prompt, reponse, thematique_simplifiee): + """ + Sauvegarde automatiquement les réponses pertinentes pour enrichir la base de connaissances. + """ + # Mapping entre le mot-clé deviné par Qwen et le vrai nom de ton dossier + mapping = { + "minecraft": "Minecraft_KubeJS", + "droit": "Juridique_Loi_Francaise", + "serveur": "Serveur_Debian", + "excel": "Bureautique_Excel", + "regles": "Regles_Aethas38" + } + + theme_reel = mapping.get(thematique_simplifiee.lower()) + if not theme_reel: + return # Si Qwen n'a pas détecté de thème précis (ex: "aucun"), on n'enregistre rien pour ne pas polluer. + + try: + chemin_theme = os.path.join(RAG_BASE_DIR, theme_reel) + os.makedirs(chemin_theme, exist_ok=True) + + nom_fichier = f"apprentissage_{datetime.now().strftime('%Y%m%d_%H%M%S')}.md" + chemin_fichier = os.path.join(chemin_theme, nom_fichier) + + contenu = f"## Question utilisateur\n{prompt}\n\n## Réponse de l'IA (Contexte validé)\n{reponse}\n" + + with open(chemin_fichier, 'w', encoding='utf-8') as f: + f.write(contenu) + + log_event("INFO", "RAG_MANAGER", f"Nouvelle connaissance acquise et sauvegardée dans {theme_reel} ({nom_fichier}).") + except Exception as e: + log_event("ERROR", "RAG_MANAGER", f"Erreur lors de l'auto-apprentissage : {e}") + # On s'assure que les dossiers existent dès l'import du module initialiser_arborescence_rag() \ No newline at end of file diff --git a/modules/ui_components.py b/modules/ui_components.py index 0cbd6c0..d600c7a 100644 --- a/modules/ui_components.py +++ b/modules/ui_components.py @@ -158,7 +158,6 @@ def render_main_page(chat_id, utilisateur_nom="xavier", role="Super Admin"): ) def render_admin_moderation_panel(utilisateur_cible): - """Composant exclusif aux administrateurs pour statuer sur les infractions.""" return Div( H3(f"⚖️ Tribunal d'administration - Dossier de : {utilisateur_cible}", style="color: #ff4444;"), P("Loi applicable : Aucun utilisateur n'est dispensé du respect de la législation en vigueur."), @@ -215,4 +214,24 @@ def render_login_page(error=None): style="max-width: 400px; margin: 100px auto; padding: 30px; background: #1a1a1a; border-radius: 10px; border: 1px solid #333; box-shadow: 0 4px 15px rgba(0,229,255,0.1);" ), style="background-color: #0d0d0d; color: #fff; font-family: monospace; height: 100vh; display: flex; align-items: center; justify-content: center;" + ) + +def render_popup_paiement(cout_estime, prompt_sauvegarde, chat_id, multi_ia_state=False): + multi_ia_val = "on" if multi_ia_state else "off" + return Div( + Div( + H3("⚠️ Validation Financière Requise", style="color: #ff9800; margin-top: 0;"), + P("Cette requête nécessite l'utilisation d'un modèle d'IA payant.", style="color: #ccc;"), + P(f"Coût estimé (TTC) : {cout_estime} $", style="font-size: 1.2em; font-weight: bold; color: #fff; background: #333; padding: 10px; border-radius: 5px; text-align: center;"), + + Div( + Button("Annuler la requête", type="button", onclick="document.getElementById('popup-paiement').remove();", cls="btn-submit", style="background-color: #555; width: 30%; font-size: 0.8em;"), + + Form(Input(type="hidden", name="prompt", value=prompt_sauvegarde), Input(type="hidden", name="chat_id", value=chat_id), Input(type="hidden", name="mode_payant", value="off"), Input(type="hidden", name="mode_multi_ia", value=multi_ia_val), Input(type="hidden", name="validation_acquise", value="true"), Input(type="hidden", name="choix_utilisateur", value="gratuit_force"), Button("Tenter en Gratuit ⚠️", type="submit", onclick="document.getElementById('popup-paiement').remove();", cls="btn-submit", style="background-color: #00e5ff; width: 100%; color: black; font-size: 0.8em;"), hx_post="/chat", hx_target="#chat-history", hx_swap="beforeend", hx_indicator="#global-loader", style="width: 30%;"), + + Form(Input(type="hidden", name="prompt", value=prompt_sauvegarde), Input(type="hidden", name="chat_id", value=chat_id), Input(type="hidden", name="mode_payant", value="on"), Input(type="hidden", name="mode_multi_ia", value=multi_ia_val), Input(type="hidden", name="validation_acquise", value="true"), Input(type="hidden", name="choix_utilisateur", value="paiement_accepte"), Button("Payer l'API", type="submit", onclick="document.getElementById('popup-paiement').remove();", cls="btn-submit", style="background-color: #4caf50; width: 100%; font-size: 0.8em;"), hx_post="/chat", hx_target="#chat-history", hx_swap="beforeend", hx_indicator="#global-loader", style="width: 30%;"), + + style="display: flex; justify-content: space-between; margin-top: 20px; gap: 10px;" + ), style="background: #1a1a1a; padding: 25px; border-radius: 12px; border: 2px solid #ff9800; width: 500px; box-shadow: 0 10px 30px rgba(0,0,0,0.8);" + ), id="popup-paiement", style="position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.7); display: flex; align-items: center; justify-content: center; z-index: 9999;" ) \ No newline at end of file