Cliquez sur un nœud pour voir les détails
Cliquez sur un onglet pour voir les détails
~30 endpoints sur dashboard_api.py (port 8791)
| Endpoint | Méthode | Source | Description |
|---|
Cliquez sur une table pour voir les colonnes et descriptions
| Table | Lignes | Description | Colonnes |
|---|---|---|---|
| pmu_partants | 59,977 | Données complètes partants PMU | 19 |
| pmu_rapports | 57,011 | Rapports de gains PMU | 4 |
| ml_predictions_cache | 29,218 | Cache prédictions XGBoost | 11 |
| odds_history | 20,974 | Historique cotes (snapshots) | 5 |
| zeturf_cotes | 18,930 | Cotes ZEturf historiques | 4 |
| selection_du_jour | 17,980 | Sélections ML quotidiennes | 11 |
| race_scores | 12,917 | Scores par course | 0 |
| zeturf_results | 6,075 | Résultats ZEturf | 4 |
| pmu_courses | 5,266 | Informations courses | 9 |
| prediction_metrics | 4,803 | Métriques performance | 6 |
| paris | 3,663 | Historique paris | 7 |
| predictions | 2,653 | Prédictions ML | 10 |
| scoring | 1,367 | Scoring multi-critères | 17 |
| entraineur_stats | 1,386 | Stats entraîneurs | 6 |
| driver_stats | 1,274 | Stats drivers/jockeys | 6 |
| pmu_reunions | 774 | Réunions PMU | 0 |
| niche_keywords | 585 | Mots-clés niches POD | 0 |
| selection_gains | 411 | Gains sélections | 4 |
| ze24_recommendations | 53 | Recommandations ZE 2/4 | 17 |
| bet_results | 26 | Résultats paris | 7 |
| performance | 72 | Performance prédictions | 0 |
| niche_categories | 39 | Catégories niches | 0 |
| daily_stats | 2 | Stats quotidiennes | 6 |
Prédictions ML par cheval et course (CanalTurf + XGBoost)
| Colonne | Type | Description |
|---|---|---|
| id | INTEGER | Identifiant unique |
| date | TEXT | Date de la course (YYYY-MM-DD) |
| race_name | TEXT | Nom complet de la course |
| race_hippodrome | TEXT | Nom de l'hippodrome |
| horse_number | INTEGER | Numéro du cheval |
| horse_name | TEXT | Nom du cheval |
| odds | REAL | Cote au moment de la prédiction |
| prediction_rank | INTEGER | Rang (1=meilleur) |
| source | TEXT | Source: canalturf, scoring_v2, ml_xgboost |
| jockey | TEXT | Nom du jockey/driver |
Résultats d'arrivées officielles
| Colonne | Type | Description |
|---|---|---|
| date | TEXT | Date |
| race_name | TEXT | Course |
| position | INTEGER | Position (1=vainqueur) |
| horse_name | TEXT | Cheval |
| odds | REAL | Cote |
Scoring multi-critères des chevaux (28 colonnes)
| Colonne | Type | Description |
|---|---|---|
| score | REAL | Score global (0-100) |
| score_cote | REAL | Score basé sur les cotes |
| score_forme | REAL | Score forme récente |
| score_victoire | REAL | Score taux victoire |
| score_place | REAL | Score taux placement |
| score_tendance | REAL | Score tendance |
| score_avis | REAL | Score avis entraîneur |
| cote | REAL | Cote du cheval |
| forme_recente | REAL | Forme récente |
| tx_victoire | REAL | Taux victoire (%) |
| tx_place | REAL | Taux placement (%) |
| avis_entraineur | TEXT | POSITIF/NÉGATIF |
| musique | TEXT | Dernières courses (ex: 1-3-2) |
| rang_scoring | INTEGER | Rang dans le scoring |
| score_valeur | REAL | Score valeur (favoris) |
| driver_tx_victoire | REAL | Taux victoire driver |
| entraineur_tx_victoire | REAL | Taux victoire entraîneur |
Données complètes partants PMU (cotes, jockeys, stats carrière)
| Colonne | Type | Description |
|---|---|---|
| num_pmu | INTEGER | Numéro PMU du cheval |
| nom | TEXT | Nom du cheval |
| age | INTEGER | Âge |
| sexe | TEXT | M/F |
| driver | TEXT | Driver/jockey |
| driver_change | INTEGER | 1=nouveau driver |
| entraineur | TEXT | Entraîneur |
| musique | TEXT | Dernières performances |
| nombre_courses | INTEGER | Total courses carrière |
| nombre_victoires | INTEGER | Total victoires |
| gains_carriere | INTEGER | Gains carrière (€) |
| cote_direct | REAL | Cote simple gagnant |
| cote_reference | REAL | Cote référence PMU |
| tendance_cote | TEXT | Hausse/Baisse/Stable |
| favoris | INTEGER | 1=cheval favori |
| statut_partant | TEXT | PARTANT/NON_PARTANT |
| tx_victoire | REAL | Taux victoire (%) |
| tx_place | REAL | Taux placement (%) |
| forme_recente | REAL | Score forme |
Informations courses PMU (discipline, distance, dotation)
| Colonne | Type | Description |
|---|---|---|
| libelle | TEXT | Nom complet de la course |
| heure_depart_str | TEXT | Heure de départ |
| distance | INTEGER | Distance en mètres |
| discipline | TEXT | PLAT/ATTELE/MONTE/HAIE/STEEPLECHASE |
| nb_declares_partants | INTEGER | Nombre partants |
| montant_prix | INTEGER | Dotation totale (€) |
| montant_1er | INTEGER | Gains 1er (€) |
| arrivee_definitive | INTEGER | 1=arrivée confirmée |
| ordre_arrivee_json | TEXT | Arrivée JSON |
Rapports de gains PMU (dividendes par type de pari)
| Colonne | Type | Description |
|---|---|---|
| type_pari | TEXT | SIMPLE_GAGNANT, SIMPLE_PLACE, etc. |
| combinaison | TEXT | Combinaison gagnante |
| dividende_euro | REAL | Dividende en euros |
| nb_gagnants | REAL | Nombre de gagnants |
Historique cotes (snapshots horaires avant course)
| Colonne | Type | Description |
|---|---|---|
| horse_number | INTEGER | Numéro cheval |
| horse_name | TEXT | Nom cheval |
| odds | REAL | Cote à l'instant |
| scraped_at | TEXT | Timestamp scraping |
| source | TEXT | pmu ou zeturf |
Cache prédictions ML XGBoost (recalculé 1x/jour)
| Colonne | Type | Description |
|---|---|---|
| horse_name | TEXT | Nom cheval |
| horse_number | INTEGER | Numéro |
| odds | REAL | Cote |
| prob_top1 | REAL | Probabilité victoire (%) |
| prob_top3 | REAL | Probabilité top 3 (%) |
| ml_score | REAL | Score ML (0-100) |
| recommendation | TEXT | top1/top3/pass |
| is_value_bet | INTEGER | 1=value bet |
| discipline | TEXT | PLAT/ATTELE... |
| risque_label | TEXT | safe/neutral/trap |
| risque_score | INTEGER | Score risque (0-100) |
Recommandations ZE 2/4 (top 3 courses × 4 chevaux)
| Colonne | Type | Description |
|---|---|---|
| rank | INTEGER | Rang course (1=meilleure) |
| race_label | TEXT | R1C5, R3C2... |
| hippodrome | TEXT | Hippodrome |
| heure | TEXT | Heure départ |
| ze_estime | REAL | Rapport ZE estimé (€) |
| risque | TEXT | safe/neutral/trap |
| horse_1_num/nom/cote/ml | — | Cheval 1 (favori) |
| horse_2_num/nom/cote/ml | — | Cheval 2 |
| horse_3_num/nom/cote/ml | — | Cheval 3 |
| horse_4_num/nom/cote/ml | — | Cheval 4 |
| status | TEXT | pending/active/done/skipped |
| arrivees | TEXT | Top 4 réel (JSON) |
| rapport_ze24 | REAL | Rapport ZE réel (€) |
| nb_combos_gagnants | INTEGER | Combos gagnants (0-6) |
| gain_reel | REAL | Gain réel (€) |
| roi | REAL | ROI (%) |
| cotes_history | TEXT | Historique cotes (JSON) |
Historique de tous les paris placés
| Colonne | Type | Description |
|---|---|---|
| type_pari | TEXT | SG/SP/Couple/ZE 2/4... |
| numero1/2/3 | INTEGER | Numéros chevaux |
| cote | REAL | Cote du pari |
| mise | REAL | Montant misé (€) |
| statut | TEXT | GAGNE/PERDU/EN_ATTENTE |
| gain | REAL | Gain réel (€) |
| source_reco | TEXT | Source recommandation |
Sélections ML quotidiennes avec résultats
| Colonne | Type | Description |
|---|---|---|
| race_label | TEXT | Label course |
| horse_number | INTEGER | Numéro cheval |
| selection_rank | INTEGER | Rang sélection |
| odds | REAL | Cote |
| ml_score | REAL | Score ML |
| risque_label | TEXT | safe/neutral/trap |
| arrivee | INTEGER | Position réelle |
| est_gagnant | INTEGER | 1=gagnant |
| safe_hit | INTEGER | 1=safe bien classé |
| trap_avoided | INTEGER | 1=trap évité |
| top4_found | INTEGER | 1=dans top 4 |
Gains quotidiens des sélections ZE 2/4
| Colonne | Type | Description |
|---|---|---|
| rapport | REAL | Rapport pari (€) |
| mise | REAL | Mise (€) |
| gain_reel | REAL | Gain (€) |
| nb_combos_gagnants | INTEGER | Combos gagnants/6 |
Métriques performance par course et source
| Colonne | Type | Description |
|---|---|---|
| source | TEXT | canalturf/scoring_v2/ml_xgboost |
| nb_gagnants | INTEGER | Prédictions gagnantes |
| taux_gagnant | REAL | Taux gagnant (%) |
| taux_place | REAL | Taux placement (%) |
| roi_sg_brut | REAL | ROI SG brut (%) |
| value_bet_score | REAL | Score value bet |
Résultats scrapés ZEturf (arrivées + rapports)
| Colonne | Type | Description |
|---|---|---|
| arrivees_json | TEXT | Arrivées JSON [{num,position,nom}] |
| cotes_json | TEXT | Cotes pre-race JSON |
| rapports_json | TEXT | Rapports ZE 2/4 JSON |
| scraping_ts | TEXT | Timestamp scraping |
Cotes historiques ZEturf (snapshots)
| Colonne | Type | Description |
|---|---|---|
| horse_number | INTEGER | Numéro cheval |
| cote | REAL | Cote référence |
| cote_sg | REAL | Cote SG |
| ts | TEXT | Timestamp |
Stats drivers/jockeys (victoires, places, gains)
| Colonne | Type | Description |
|---|---|---|
| driver | TEXT | Nom driver |
| nb_courses | INTEGER | Courses |
| nb_victoires | INTEGER | Victoires |
| tx_victoire | REAL | Taux victoire (%) |
| tx_place | REAL | Taux placement (%) |
| gains_moyen | REAL | Gains moyens (€) |
Stats entraîneurs (victoires, places, gains)
| Colonne | Type | Description |
|---|---|---|
| entraineur | TEXT | Nom entraîneur |
| nb_courses | INTEGER | Courses |
| nb_victoires | INTEGER | Victoires |
| tx_victoire | REAL | Taux victoire (%) |
| tx_place | REAL | Taux placement (%) |
| gains_moyen | REAL | Gains moyens (€) |
Stats quotidiennes agrégées
| Colonne | Type | Description |
|---|---|---|
| total_bets | INTEGER | Total paris |
| bets_gagne | INTEGER | Paris gagnés |
| precision_pct | REAL | Précision (%) |
| mise_totale | REAL | Mise totale (€) |
| gain_total | REAL | Gain total (€) |
| roi_pct | REAL | ROI (%) |
Résultats détaillés des paris
| Colonne | Type | Description |
|---|---|---|
| type_pari | TEXT | Type de pari |
| horse_name | TEXT | Cheval |
| cote | REAL | Cote |
| mise | REAL | Mise (€) |
| resultat | TEXT | GAGNE/PERDU |
| gain | REAL | Gain (€) |
| model_source | TEXT | Source modèle |
Flux complet : de la source PMU/ZEturf au dashboard
6 systemd + 7 process non-systemd
| Port | Service | Type | Script | Rôle |
|---|---|---|---|---|
| 8790 | turf-saas-api | systemd | turf_saas/combined_api.py | API combinée |
| 8791 | turf-saas-dashboard | systemd | turf_saas/dashboard_api.py | Dashboard API |
| 8792 | turf-saas-portal | systemd | turf_saas/portal_server.py | Portail principal |
| 8793 | turf-saas-scheduler | systemd | arrière-plan | Planificateur SaaS |
| 8775 | turf-saas-leadhunter | systemd | turf_saas/leadhunter_api.py | LeadHunter |
| 8783 | token-broker | systemd | turf_saas/token_broker_api.py | Gestion tokens |
| 8765 | combined_api (legacy) | process | turf_scraper/combined_api.py | API legacy |
| 8770 | crm_api | process | turf_scraper/crm_api.py | API CRM |
| 8784 | consumption-tracker | process | turf_saas/consumption_api.py | Suivi consommation |
| 8795 | analyzer_api | process | turf_scraper/analyzer_api.py | API analyse |
| 8772 | skills_app | process | skills_app.py | App skills |
9 système + 4 Hermes
| Horaire | Script | Rôle |
|---|---|---|
| 0 6,10 * * * | recommend_ze24.py | Recommandations ZE 2/4 (favoris) |
| 0 20 * * * | update_results_cron.py | Résultats PMU du jour |
| 0 21 * * * | fetch_pmu_results.sh | Fetch résultats PMU |
| */30 8-22h | monitor_ze24.py | Monitoring ZE 2/4 |
| 0 8 * * * | tipster_generator.py | Publication tipster Telegram |
| 0 8 * * * | pod_niche_scout.py | Veille niches POD |
| 0 7 * * * | daily_ai_news.py | News IA quotidiennes |
| 0 9 * * * | airbnb_scraper.py | Scraper Airbnb colocation |
| */5min | watchdog_services.sh | Santé services |
| Job | Horaire | Script | Rôle |
|---|---|---|---|
| ze24-refresh-odds | */15 7-20h | refresh_ze24_odds.py | Refresh cotes temps réel |
| ze24-bilan-v2 | 0 22h | bilan_ze24_v2.py | Bilan + calibration |
| ze24-health-check | */30 8-22h | Agent Hermes | Santé pipeline |
| tipster-daily | 0 8h | tipster_generator.py | Publication tipster |