Administration

← Retour

Log : 20260430_140000

OK
Durée : 850s 8 OK 5470 annonces
clio_4 i20 berlingo c4 scenic 5008 fiesta nv200
2026-04-30 14:00:00 [INFO] [GLOBAL] [INIT] CRAWL ALL — 8 modele(s)
2026-04-30 14:00:00 [INFO] [clio_4] [INIT] [1/8] CLIO_4 (brand=renault, pages=auto)
2026-04-30 14:00:00 [INFO] [clio_4] [INIT] URL: https://www.leboncoin.fr/recherche?category=2&text=clio%204&price=3000-9000&regd...
2026-04-30 14:00:00 [INFO] [clio_4] [SEARCH] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --model clio_4
2026-04-30 14:00:00 [INFO] [clio_4] [SEARCH] Recuperation de la page 1 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=1
2026-04-30 14:00:03 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-30 14:00:03 [INFO] [clio_4] [SEARCH] Recuperation de la page 2 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=2
2026-04-30 14:00:05 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-30 14:00:05 [INFO] [clio_4] [SEARCH] Recuperation de la page 3 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=3
2026-04-30 14:00:08 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-30 14:00:08 [INFO] [clio_4] [SEARCH] Recuperation de la page 4 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=4
2026-04-30 14:00:10 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-30 14:00:10 [INFO] [clio_4] [SEARCH] Recuperation de la page 5 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=5
2026-04-30 14:00:12 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-30 14:00:12 [INFO] [clio_4] [SEARCH] Recuperation de la page 6 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=6
2026-04-30 14:00:15 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-30 14:00:15 [INFO] [clio_4] [SEARCH] Recuperation de la page 7 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=7
2026-04-30 14:00:17 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 245)
2026-04-30 14:00:17 [INFO] [clio_4] [SEARCH] Recuperation de la page 8 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=8
2026-04-30 14:00:20 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 280)
2026-04-30 14:00:20 [INFO] [clio_4] [SEARCH] Recuperation de la page 9 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=9
2026-04-30 14:00:23 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 315)
2026-04-30 14:00:23 [INFO] [clio_4] [SEARCH] Recuperation de la page 10 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=10
2026-04-30 14:00:28 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 350)
2026-04-30 14:00:28 [INFO] [clio_4] [SEARCH] Recuperation de la page 11 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=11
2026-04-30 14:00:31 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 385)
2026-04-30 14:00:31 [INFO] [clio_4] [SEARCH] Recuperation de la page 12 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=12
2026-04-30 14:00:34 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 420)
2026-04-30 14:00:34 [INFO] [clio_4] [SEARCH] Recuperation de la page 13 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=13
2026-04-30 14:00:37 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 455)
2026-04-30 14:00:37 [INFO] [clio_4] [SEARCH] Recuperation de la page 14 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=14
2026-04-30 14:00:39 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 490)
2026-04-30 14:00:39 [INFO] [clio_4] [SEARCH] Recuperation de la page 15 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=15
2026-04-30 14:00:42 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 525)
2026-04-30 14:00:42 [INFO] [clio_4] [SEARCH] Recuperation de la page 16 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=16
2026-04-30 14:00:45 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 560)
2026-04-30 14:00:45 [INFO] [clio_4] [SEARCH] Recuperation de la page 17 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=17
2026-04-30 14:00:47 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 595)
2026-04-30 14:00:47 [INFO] [clio_4] [SEARCH] Recuperation de la page 18 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=18
2026-04-30 14:00:50 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 630)
2026-04-30 14:00:50 [INFO] [clio_4] [SEARCH] Recuperation de la page 19 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=19
2026-04-30 14:00:52 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 665)
2026-04-30 14:00:52 [INFO] [clio_4] [SEARCH] Recuperation de la page 20 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=20
2026-04-30 14:00:54 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 700)
2026-04-30 14:00:54 [INFO] [clio_4] [SEARCH] Recuperation de la page 21 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=21
2026-04-30 14:00:56 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 735)
2026-04-30 14:00:56 [INFO] [clio_4] [SEARCH] Recuperation de la page 22 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=22
2026-04-30 14:00:59 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 770)
2026-04-30 14:00:59 [INFO] [clio_4] [SEARCH] Recuperation de la page 23 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=23
2026-04-30 14:01:02 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 805)
2026-04-30 14:01:02 [INFO] [clio_4] [SEARCH] Recuperation de la page 24 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=24
2026-04-30 14:01:05 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 840)
2026-04-30 14:01:05 [INFO] [clio_4] [SEARCH] Recuperation de la page 25 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=25
2026-04-30 14:01:16 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 875)
2026-04-30 14:01:16 [INFO] [clio_4] [SEARCH] Recuperation de la page 26 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=26
2026-04-30 14:01:18 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 910)
2026-04-30 14:01:18 [INFO] [clio_4] [SEARCH] Recuperation de la page 27 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=27
2026-04-30 14:01:20 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 945)
2026-04-30 14:01:20 [INFO] [clio_4] [SEARCH] Recuperation de la page 28 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=28
2026-04-30 14:01:25 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 980)
2026-04-30 14:01:25 [INFO] [clio_4] [SEARCH] Recuperation de la page 29 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=29
2026-04-30 14:01:27 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1015)
2026-04-30 14:01:27 [INFO] [clio_4] [SEARCH] Recuperation de la page 30 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=30
2026-04-30 14:01:30 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1050)
2026-04-30 14:01:30 [INFO] [clio_4] [SEARCH] Recuperation de la page 31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=31
2026-04-30 14:01:32 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1085)
2026-04-30 14:01:32 [INFO] [clio_4] [SEARCH] Recuperation de la page 32 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=32
2026-04-30 14:01:37 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1120)
2026-04-30 14:01:37 [INFO] [clio_4] [SEARCH] Recuperation de la page 33 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=33
2026-04-30 14:01:39 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1155)
2026-04-30 14:01:39 [INFO] [clio_4] [SEARCH] Recuperation de la page 34 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=34
2026-04-30 14:01:42 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1190)
2026-04-30 14:01:42 [INFO] [clio_4] [SEARCH] Recuperation de la page 35 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=35
2026-04-30 14:01:45 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1225)
2026-04-30 14:01:45 [INFO] [clio_4] [SEARCH] Recuperation de la page 36 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=36
2026-04-30 14:01:47 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1260)
2026-04-30 14:01:47 [INFO] [clio_4] [SEARCH] Recuperation de la page 37 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=37
2026-04-30 14:01:50 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1295)
2026-04-30 14:01:50 [INFO] [clio_4] [SEARCH] Recuperation de la page 38 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=38
2026-04-30 14:01:53 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1330)
2026-04-30 14:01:53 [INFO] [clio_4] [SEARCH] Recuperation de la page 39 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=39
2026-04-30 14:01:55 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1365)
2026-04-30 14:01:55 [INFO] [clio_4] [SEARCH] Recuperation de la page 40 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=40
2026-04-30 14:01:58 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1400)
2026-04-30 14:01:58 [INFO] [clio_4] [SEARCH] Recuperation de la page 41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=41
2026-04-30 14:02:00 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1435)
2026-04-30 14:02:00 [INFO] [clio_4] [SEARCH] Recuperation de la page 42 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=42
2026-04-30 14:02:03 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1470)
2026-04-30 14:02:03 [INFO] [clio_4] [SEARCH] Recuperation de la page 43 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=43
2026-04-30 14:02:05 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1505)
2026-04-30 14:02:05 [INFO] [clio_4] [SEARCH] Recuperation de la page 44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=44
2026-04-30 14:02:09 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1540)
2026-04-30 14:02:09 [INFO] [clio_4] [SEARCH] Recuperation de la page 45 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=45
2026-04-30 14:02:11 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1575)
2026-04-30 14:02:11 [INFO] [clio_4] [SEARCH] Recuperation de la page 46 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=46
2026-04-30 14:02:15 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1610)
2026-04-30 14:02:15 [INFO] [clio_4] [SEARCH] Recuperation de la page 47 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=47
2026-04-30 14:02:17 [INFO] [clio_4] [SEARCH] 17 annonces recuperees (total: 1627)
2026-04-30 14:02:17 [INFO] [clio_4] [SEARCH] Recuperation de la page 48 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=48
2026-04-30 14:02:19 [INFO] [clio_4] [SEARCH] Page 48 : aucune annonce, arret de la pagination.
2026-04-30 14:02:19 [INFO] [clio_4] [SEARCH] Termine : 1627 annonces au total dans /home/ubuntu/app/leboncoin_ads_clio_4_20260430_140000.csv
2026-04-30 14:02:19 [INFO] [clio_4] [SEARCH] CSV : leboncoin_ads_clio_4_20260430_140000.csv
2026-04-30 14:02:19 [INFO] [clio_4] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_clio_4_20260430_140000.csv --db /home/ubuntu/app/db/lbc.sqlite --model clio_4
2026-04-30 14:02:19 [INFO] [clio_4] [IMPORT] Model override : clio_4
2026-04-30 14:02:19 [INFO] [clio_4] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-30 14:02:19 [INFO] [clio_4] [IMPORT] Fichier: leboncoin_ads_clio_4_20260430_140000.csv
2026-04-30 14:02:19 [INFO] [clio_4] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:02:23 [INFO] [clio_4] [IMPORT] 1627 lus, 1627 inseres, 0 ignores, 0 erreurs
2026-04-30 14:02:23 [INFO] [clio_4] [IMPORT] TOTAL : 1627 lus, 1627 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:02:23 [INFO] [clio_4] [IMPORT] 15797 annonces en base
2026-04-30 14:02:23 [INFO] [clio_4] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_clio_4_20260430_140000.csv --brand renault --model clio_4 --db /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:02:23 [INFO] [clio_4] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_clio_4_20260430_140000.csv, Brand: renault, Model: clio_4
2026-04-30 14:02:23 [INFO] [clio_4] [AVAILABILITY] 1611 list_id lus dans le CSV.
2026-04-30 14:02:23 [INFO] [clio_4] [AVAILABILITY] 1657 annonces actives en base pour renault clio_4.
2026-04-30 14:02:23 [INFO] [clio_4] [AVAILABILITY] 46 annonce(s) marquées indisponibles.
2026-04-30 14:02:23 [INFO] [clio_4] [AVAILABILITY] CSV: 1611, Actives DB: 1657, Absentes: 46
2026-04-30 14:02:23 [INFO] [clio_4] [AVAILABILITY] Marquees indisponibles: 46
2026-04-30 14:02:23 [INFO] [clio_4] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model clio_4 --delay 0.5 --limit 200
2026-04-30 14:02:23 [INFO] [clio_4] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: clio_4 — Limite: 200
2026-04-30 14:02:23 [INFO] [clio_4] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:02:23 [INFO] [clio_4] [DETAIL] 30 annonce(s) à enrichir (modèle: clio_4)
2026-04-30 14:02:48 [INFO] [clio_4] [DETAIL] Progression : 10/30 (enrichies: 10, introuvables: 0, erreurs: 0)
2026-04-30 14:03:09 [INFO] [clio_4] [DETAIL] Progression : 20/30 (enrichies: 20, introuvables: 0, erreurs: 0)
2026-04-30 14:03:31 [INFO] [clio_4] [DETAIL] Progression : 30/30 (enrichies: 30, introuvables: 0, erreurs: 0)
2026-04-30 14:03:31 [INFO] [clio_4] [DETAIL] RESULTAT : 30 traitee(s), 30 enrichies, 0 introuvables, 0 erreurs
2026-04-30 14:03:31 [INFO] [clio_4] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model clio_4 --skip-plots
2026-04-30 14:03:31 [INFO] [clio_4] [STATS] ANALYSEUR LEBONCOIN — Base: /home/ubuntu/app/db/lbc.sqlite, Figures: /home/ubuntu/app/stats/clio_4/figures, Modele: clio_4, Graphiques: Non
2026-04-30 14:03:37 [INFO] [clio_4] [STATS] Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-04-30 14:03:37 [INFO] [clio_4] [STATS] Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-04-30 14:03:38 [INFO] [clio_4] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-30 14:03:38 [INFO] [clio_4] [STATS] Annonces sans evaluation LLM : 30
2026-04-30 14:03:52 [INFO] [clio_4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:03:53 [INFO] [clio_4] [STATS] LLM OUTPUT batch 1/1: 30 resultats extraits (modele=gpt-4.1-mini)
2026-04-30 14:03:53 [INFO] [clio_4] [STATS] Resultats extraits : 30
2026-04-30 14:03:53 [INFO] [clio_4] [STATS] Evaluations inserees : 30
2026-04-30 14:03:56 [INFO] [clio_4] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-30 14:03:56 [INFO] [clio_4] [STATS]   modele_regression : 2 lignes insérées
2026-04-30 14:03:56 [INFO] [clio_4] [STATS]   referentiel_prix : 55 segments insérés
2026-04-30 14:03:58 [INFO] [clio_4] [STATS]   ads.deal_columns : 5678 annonces mises à jour
2026-04-30 14:03:58 [INFO] [clio_4] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-30 14:03:58 [INFO] [clio_4] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:03:58 [INFO] [clio_4] [STATS] Champs actifs : 8
2026-04-30 14:03:59 [INFO] [clio_4] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 2
2026-04-30 14:03:59 [INFO] [clio_4] [STATS] ━━━ LLM DESC SYSTEM PROMPT ━━━
Tu es un expert automobile français. On te donne des descriptions d'annonces de véhicules d'occasion avec leur identifiant.

Pour chaque annonce, extrais depuis la description les informations suivantes :
- courroie_changee : true si la courroie de distribution a été changée ou remplacée, false si explicitement non changée, null si non mentionné
- embrayage_change : true si l'embrayage est neuf ou a été remplacé, false si explicitement non changé, null si non mentionné
- travaux_recents : liste des travaux ou réparations récentes mentionnés dans la description (ex: 'freins refaits', 'pneus neufs', 'vidange faite'). Liste vide si aucun.
- negociabilite : négociable si le vendeur indique être ouvert aux offres, ferme si le prix est indiqué ferme, null si non mentionné
- contexte_vente : contexte notable de la vente s'il est mentionné (ex: 'urgent', 'déménagement', 'décès', 'achat neuf'). null si rien de notable
- nb_proprietaires : nombre de propriétaires du véhicule si mentionné (ex: 1 pour '1ère main', 2 pour '2ème main'). null si non mentionné
- options_description : liste des équipements et options cités dans la description (ex: 'GPS', 'Caméra recul', 'Clim auto', 'Toit ouvrant'). Liste vide si aucun.
- accidente : true si le véhicule a subi un accident, un choc, une collision, des airbags déclenchés ou une carrosserie endommagée mentionné explicitement. false si le vendeur indique explicitement non accidenté ou sans accident. null si non mentionné.

Règles :
- Extrais UNIQUEMENT ce qui est explicitement dans la description
- Ne déduis pas, n'invente pas
- Pour les champs de type liste, retourne une liste vide si rien n'est mentionné
- Conserve le list_id exact tel que fourni
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:03:59 [INFO] [clio_4] [STATS] ━━━ LLM DESC INPUT batch 1/2 (1 annonces) ━━━
3188808527: "Renault Clio V SCe 65 Life berline, blanc, 4 cv, première mise en circulation le 17/07/2020.  Garantie 3 mois Prémium (France)  Le prix affiché est la mise à prix du véhicule (frais de vente inclus). VPauto enchères, spécialiste de la vente de véhicules d'occasion. * Tourisme, utilitaires, deux roues, 2000 véhicules en vente chaque semaine.  * Testés, contrôlés et garantis * Visite des véhicules sur rendez-vous (lien disponible sur le site de vpauto). * Pour toute information, contactez-nous par téléphone ou consultez notre site internet.  VPauto Nantes 362 ROUTE DE CLISSON 44120 VERTOU  5 places  OPTIONS ET ÉQUIPEMENTS : Audio - Télécommunications :   -  autoradio   - Bluetooth  Conduite :   - allumage automatique des feux   - régulateur de vitesse  Extérieur :   - rétroviseurs électriques  Intérieur :   - Cache bagages   - banquette arriere modulable   - climatisation : manuelle   - climatisation manuelle   - ordinateur de bord   - vitres électriques  Pack :   - volant multifonctions  Sécurité :   -  anti-brouillard  Autres équipements et informations :   - Classe Crit'air : 1  Référence annonce : 11409824"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:04:03 [INFO] [clio_4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:04:03 [INFO] [clio_4] [STATS] ━━━ LLM DESC OUTPUT batch 1/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188808527",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "autoradio",
      "Bluetooth",
      "allumage automatique des feux",
      "régulateur de vitesse",
      "rétroviseurs électriques",
      "Cache bagages",
      "banquette arriere modulable",
      "climatisation manuelle",
      "ordinateur de bord",
      "vitres électriques",
      "volant multifonctions",
      "anti-brouillard",
      "Classe Crit'air : 1"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:04:03 [INFO] [clio_4] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:04:03 [INFO] [clio_4] [STATS] ━━━ LLM DESC INPUT batch 2/2 (1 annonces) ━━━
3188949331: "Je vends ma Renault Clio 4 en bon état général, véhicule fiable et économique, parfait pour tous les jours.  🔹 Caractéristiques :  * Année : 2018 * Kilométrage : 125 000 km * Motorisation : 0.9 TCE 90 ch * Carburant : Essence * Boîte : Manuelle * 5 portes  🔹 Équipements :  * Climatisation * Bluetooth / USB * Régulateur / limiteur de vitesse * Vitres électriques * Écran multimédia * Fermeture centralisée  🔹 État :  * Véhicule bien entretenu * Quelques légères rayures carrosserie (rien de grave) * Aucun frais à prévoir * Contrôle technique OK  🔹 Prix : 6800 € (légèrement négociable)  📍 Disponible rapidement 📞 Me contacter pour plus d’informations"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:04:06 [INFO] [clio_4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:04:06 [INFO] [clio_4] [STATS] ━━━ LLM DESC OUTPUT batch 2/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188949331",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": "négociable",
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Climatisation",
      "Bluetooth / USB",
      "Régulateur / limiteur de vitesse",
      "Vitres électriques",
      "Écran multimédia",
      "Fermeture centralisée"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:04:06 [INFO] [clio_4] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:04:06 [INFO] [clio_4] [STATS] Évaluations insérées : 2
2026-04-30 14:04:06 [INFO] [clio_4] [STATS] ANALYSE TERMINEE en 21.7s — 5678 annonces (run #940) — Modele: clio_4
2026-04-30 14:04:07 [INFO] [clio_4] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model clio_4
2026-04-30 14:04:08 [INFO] [clio_4] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-30 14:04:09 [INFO] [clio_4] [LLM] Annonces sans evaluation LLM : 0
2026-04-30 14:04:09 [INFO] [clio_4] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-30 14:04:09 [INFO] [clio_4] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model clio_4
2026-04-30 14:04:09 [INFO] [clio_4] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-30 14:04:09 [INFO] [clio_4] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:04:09 [INFO] [clio_4] [LLM DESC] Champs actifs : 8
2026-04-30 14:04:09 [INFO] [clio_4] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-30 14:04:09 [INFO] [clio_4] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-30 14:04:09 [INFO] [i20] [LLM DESC] [2/8] I20 (brand=hyundai, pages=auto)
2026-04-30 14:04:09 [INFO] [i20] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000&regdate=2...
2026-04-30 14:04:09 [INFO] [i20] [SEARCH] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --model i20
2026-04-30 14:04:10 [INFO] [i20] [SEARCH] Recuperation de la page 1 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000&regdate=2013-max&gearbox=1&seats=5%2C4&u_car_brand=HYUNDAI&u_car_model=HYUNDAI_i20&order=asc&page=1
2026-04-30 14:04:17 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-30 14:04:17 [INFO] [i20] [SEARCH] Recuperation de la page 2 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000&regdate=2013-max&gearbox=1&seats=5%2C4&u_car_brand=HYUNDAI&u_car_model=HYUNDAI_i20&order=asc&page=2
2026-04-30 14:04:19 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-30 14:04:19 [INFO] [i20] [SEARCH] Recuperation de la page 3 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000&regdate=2013-max&gearbox=1&seats=5%2C4&u_car_brand=HYUNDAI&u_car_model=HYUNDAI_i20&order=asc&page=3
2026-04-30 14:04:22 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-30 14:04:22 [INFO] [i20] [SEARCH] Recuperation de la page 4 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000&regdate=2013-max&gearbox=1&seats=5%2C4&u_car_brand=HYUNDAI&u_car_model=HYUNDAI_i20&order=asc&page=4
2026-04-30 14:04:24 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-30 14:04:24 [INFO] [i20] [SEARCH] Recuperation de la page 5 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000&regdate=2013-max&gearbox=1&seats=5%2C4&u_car_brand=HYUNDAI&u_car_model=HYUNDAI_i20&order=asc&page=5
2026-04-30 14:04:27 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-30 14:04:27 [INFO] [i20] [SEARCH] Recuperation de la page 6 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000&regdate=2013-max&gearbox=1&seats=5%2C4&u_car_brand=HYUNDAI&u_car_model=HYUNDAI_i20&order=asc&page=6
2026-04-30 14:04:30 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-30 14:04:30 [INFO] [i20] [SEARCH] Recuperation de la page 7 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000&regdate=2013-max&gearbox=1&seats=5%2C4&u_car_brand=HYUNDAI&u_car_model=HYUNDAI_i20&order=asc&page=7
2026-04-30 14:04:33 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 245)
2026-04-30 14:04:33 [INFO] [i20] [SEARCH] Recuperation de la page 8 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000&regdate=2013-max&gearbox=1&seats=5%2C4&u_car_brand=HYUNDAI&u_car_model=HYUNDAI_i20&order=asc&page=8
2026-04-30 14:04:35 [INFO] [i20] [SEARCH] 3 annonces recuperees (total: 248)
2026-04-30 14:04:35 [INFO] [i20] [SEARCH] Recuperation de la page 9 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000&regdate=2013-max&gearbox=1&seats=5%2C4&u_car_brand=HYUNDAI&u_car_model=HYUNDAI_i20&order=asc&page=9
2026-04-30 14:04:37 [INFO] [i20] [SEARCH] Page 9 : aucune annonce, arret de la pagination.
2026-04-30 14:04:37 [INFO] [i20] [SEARCH] Termine : 248 annonces au total dans /home/ubuntu/app/leboncoin_ads_i20_20260430_140410.csv
2026-04-30 14:04:37 [INFO] [i20] [SEARCH] CSV : leboncoin_ads_i20_20260430_140410.csv
2026-04-30 14:04:37 [INFO] [i20] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_i20_20260430_140410.csv --db /home/ubuntu/app/db/lbc.sqlite --model i20
2026-04-30 14:04:37 [INFO] [i20] [IMPORT] Model override : i20
2026-04-30 14:04:37 [INFO] [i20] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-30 14:04:37 [INFO] [i20] [IMPORT] Fichier: leboncoin_ads_i20_20260430_140410.csv
2026-04-30 14:04:37 [INFO] [i20] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:04:38 [INFO] [i20] [IMPORT] 248 lus, 248 inseres, 0 ignores, 0 erreurs
2026-04-30 14:04:38 [INFO] [i20] [IMPORT] TOTAL : 248 lus, 248 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:04:38 [INFO] [i20] [IMPORT] 15801 annonces en base
2026-04-30 14:04:38 [INFO] [i20] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_i20_20260430_140410.csv --brand hyundai --model i20 --db /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:04:38 [INFO] [i20] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_i20_20260430_140410.csv, Brand: hyundai, Model: i20
2026-04-30 14:04:38 [INFO] [i20] [AVAILABILITY] 248 list_id lus dans le CSV.
2026-04-30 14:04:38 [INFO] [i20] [AVAILABILITY] 250 annonces actives en base pour hyundai i20.
2026-04-30 14:04:38 [INFO] [i20] [AVAILABILITY] 2 annonce(s) marquées indisponibles.
2026-04-30 14:04:38 [INFO] [i20] [AVAILABILITY] CSV: 248, Actives DB: 250, Absentes: 2
2026-04-30 14:04:38 [INFO] [i20] [AVAILABILITY] Marquees indisponibles: 2
2026-04-30 14:04:38 [INFO] [i20] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model i20 --delay 0.5 --limit 200
2026-04-30 14:04:38 [INFO] [i20] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: i20 — Limite: 200
2026-04-30 14:04:38 [INFO] [i20] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:04:38 [INFO] [i20] [DETAIL] 4 annonce(s) à enrichir (modèle: i20)
2026-04-30 14:04:45 [INFO] [i20] [DETAIL] RESULTAT : 4 traitee(s), 4 enrichies, 0 introuvables, 0 erreurs
2026-04-30 14:04:45 [INFO] [i20] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model i20 --skip-plots
2026-04-30 14:04:45 [INFO] [i20] [STATS] ANALYSEUR LEBONCOIN — Base: /home/ubuntu/app/db/lbc.sqlite, Figures: /home/ubuntu/app/stats/i20/figures, Modele: i20, Graphiques: Non
2026-04-30 14:04:49 [INFO] [i20] [STATS] Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-04-30 14:04:49 [INFO] [i20] [STATS] Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-04-30 14:04:50 [INFO] [i20] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-30 14:04:50 [INFO] [i20] [STATS] Annonces sans evaluation LLM : 4
2026-04-30 14:04:54 [INFO] [i20] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:04:54 [INFO] [i20] [STATS] LLM OUTPUT batch 1/1: 4 resultats extraits (modele=gpt-4.1-mini)
2026-04-30 14:04:54 [INFO] [i20] [STATS] Resultats extraits : 4
2026-04-30 14:04:54 [INFO] [i20] [STATS] Evaluations inserees : 4
2026-04-30 14:04:55 [INFO] [i20] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-30 14:04:55 [INFO] [i20] [STATS]   modele_regression : 2 lignes insérées
2026-04-30 14:04:55 [INFO] [i20] [STATS]   referentiel_prix : 47 segments insérés
2026-04-30 14:04:55 [INFO] [i20] [STATS]   ads.deal_columns : 685 annonces mises à jour
2026-04-30 14:04:55 [INFO] [i20] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-30 14:04:55 [INFO] [i20] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:04:55 [INFO] [i20] [STATS] Champs actifs : 8
2026-04-30 14:04:55 [INFO] [i20] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 2
2026-04-30 14:04:55 [INFO] [i20] [STATS] ━━━ LLM DESC SYSTEM PROMPT ━━━
Tu es un expert automobile français. On te donne des descriptions d'annonces de véhicules d'occasion avec leur identifiant.

Pour chaque annonce, extrais depuis la description les informations suivantes :
- courroie_changee : true si la courroie de distribution a été changée ou remplacée, false si explicitement non changée, null si non mentionné
- embrayage_change : true si l'embrayage est neuf ou a été remplacé, false si explicitement non changé, null si non mentionné
- travaux_recents : liste des travaux ou réparations récentes mentionnés dans la description (ex: 'freins refaits', 'pneus neufs', 'vidange faite'). Liste vide si aucun.
- negociabilite : négociable si le vendeur indique être ouvert aux offres, ferme si le prix est indiqué ferme, null si non mentionné
- contexte_vente : contexte notable de la vente s'il est mentionné (ex: 'urgent', 'déménagement', 'décès', 'achat neuf'). null si rien de notable
- nb_proprietaires : nombre de propriétaires du véhicule si mentionné (ex: 1 pour '1ère main', 2 pour '2ème main'). null si non mentionné
- options_description : liste des équipements et options cités dans la description (ex: 'GPS', 'Caméra recul', 'Clim auto', 'Toit ouvrant'). Liste vide si aucun.
- accidente : true si le véhicule a subi un accident, un choc, une collision, des airbags déclenchés ou une carrosserie endommagée mentionné explicitement. false si le vendeur indique explicitement non accidenté ou sans accident. null si non mentionné.

Règles :
- Extrais UNIQUEMENT ce qui est explicitement dans la description
- Ne déduis pas, n'invente pas
- Pour les champs de type liste, retourne une liste vide si rien n'est mentionné
- Conserve le list_id exact tel que fourni
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:04:55 [INFO] [i20] [STATS] ━━━ LLM DESC INPUT batch 1/2 (1 annonces) ━━━
3188839749: "HYUNDAI I20 1.1 CRDI75 PACK INVENTIVE CLIM  132900 KMS - 17/[Coordonnées masquées]€  ABS / Aide au freinage d'urgence / Airbag conducteur / Airbag passager déconnectable / Airbags frontaux / Airbags latéraux avant / Airbags rideaux AV et AR / Antidémarrage électronique / Antipatinage / Appuis-tête avant actifs / Bacs de portes avant / Banquette 1/3-2/3 / Banquette 60/40 / Banquette AR rabattable / Banquette arrière 3 places / Boite à gants fermée / Boucliers AV et AR couleur caisse / Ceintures avant ajustables en hauteur / Clim manuelle / Commandes du système audio au volant / Compte tours / Direction assistée / EBD / Enjoliveurs / ESP / Essuie-glace arrière / Filtre à particules / Fixations Isofix aux places arrières / Kit Fumeur / Lampe de coffre / Lampes de lecture à l'avant / Miroir de courtoisie conducteur / Miroir de courtoisie passager / Ordinateur de bord / Phares halogènes / Poches d'aumonières / Porte-gobelets arrière / Porte-gobelets avant / Préparation Isofix / Prise auxiliaire de connexion audio / Prise iPod / Prise Jack / Prise USB / Radio CD MP3 / Radio CD MP3 2HP / Radio CD MP3 4HP / Répartiteur électronique de freinage / Rétroviseurs extérieurs à réglage manuel / Roue de secours galette / Siège conducteur réglable en hauteur / Tablette cache bagages / Température extérieure / Tissu Black / Troisième ceinture de sécurité / Verrouillage auto. des portes en roulant / Verrouillage centralisé à distance / Vitres avant électriques / Vitres teintées / Volant multifo..."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:05:03 [INFO] [i20] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:05:03 [INFO] [i20] [STATS] ━━━ LLM DESC OUTPUT batch 1/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188839749",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "ABS",
      "Aide au freinage d'urgence",
      "Airbag conducteur",
      "Airbag passager déconnectable",
      "Airbags frontaux",
      "Airbags latéraux avant",
      "Airbags rideaux AV et AR",
      "Antidémarrage électronique",
      "Antipatinage",
      "Appuis-tête avant actifs",
      "Bacs de portes avant",
      "Banquette 1/3-2/3",
      "Banquette 60/40",
      "Banquette AR rabattable",
      "Banquette arrière 3 places",
      "Boite à gants fermée",
      "Boucliers AV et AR couleur caisse",
      "Ceintures avant ajustables en hauteur",
      "Clim manuelle",
      "Commandes du système audio au volant",
      "Compte tours",
      "Direction assistée",
      "EBD",
      "Enjoliveurs",
      "ESP",
      "Essuie-glace arrière",
      "Filtre à particules",
      "Fixations Isofix aux places arrières",
      "Kit Fumeur",
      "Lampe de coffre",
      "Lampes de lecture à l'avant",
      "Miroir de courtoisie conducteur",
      "Miroir de courtoisie passager",
      "Ordinateur de bord",
      "Phares halogènes",
      "Poches d'aumonières",
      "Porte-gobelets arrière",
      "Porte-gobelets avant",
      "Préparation Isofix",
      "Prise auxiliaire de connexion audio",
      "Prise iPod",
      "Prise Jack",
      "Prise USB",
      "Radio CD MP3",
      "Radio CD MP3 2HP",
      "Radio CD MP3 4HP",
      "Répartiteur électronique de freinage",
      "Rétroviseurs extérieurs à réglage manuel",
      "Roue de secours galette",
      "Siège conducteur réglable en hauteur",
      "Tablette cache bagages",
      "Température extérieure",
      "Tissu Black",
      "Troisième ceinture de sécurité",
      "Verrouillage auto. des portes en roulant",
      "Verrouillage centralisé à distance",
      "Vitres avant électriques",
      "Vitres teintées",
      "Volant multifo..."
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:05:03 [INFO] [i20] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:05:03 [INFO] [i20] [STATS] ━━━ LLM DESC INPUT batch 2/2 (1 annonces) ━━━
3188991460: "Je mets en vente ma voiture car je n’en ai plus l’utilité.   La voiture roule parfaitement , il n’y a rien à prévoir, le controle technique sera repassé pour la vente.   Consomme peu et assurance très accessible.  Il y a quelques accros sur la carrosserie ( voir photos )   158 000km / 3000€ à débattre raisonnablement  Pour plus de photos n’hésitez pas à me contacter"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:05:04 [INFO] [i20] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:05:04 [INFO] [i20] [STATS] ━━━ LLM DESC OUTPUT batch 2/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188991460",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": "négociable",
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:05:04 [INFO] [i20] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:05:04 [INFO] [i20] [STATS] Évaluations insérées : 2
2026-04-30 14:05:04 [INFO] [i20] [STATS] ANALYSE TERMINEE en 9.1s — 685 annonces (run #941) — Modele: i20
2026-04-30 14:05:05 [INFO] [i20] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model i20
2026-04-30 14:05:05 [INFO] [i20] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-30 14:05:05 [INFO] [i20] [LLM] Annonces sans evaluation LLM : 0
2026-04-30 14:05:05 [INFO] [i20] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-30 14:05:05 [INFO] [i20] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model i20
2026-04-30 14:05:06 [INFO] [i20] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-30 14:05:06 [INFO] [i20] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:05:06 [INFO] [i20] [LLM DESC] Champs actifs : 8
2026-04-30 14:05:06 [INFO] [i20] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-30 14:05:06 [INFO] [i20] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-30 14:05:06 [INFO] [berlingo] [LLM DESC] [3/8] BERLINGO (brand=citroen, pages=auto)
2026-04-30 14:05:06 [INFO] [berlingo] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=C...
2026-04-30 14:05:06 [INFO] [berlingo] [SEARCH] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --model berlingo
2026-04-30 14:05:06 [INFO] [berlingo] [SEARCH] Recuperation de la page 1 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=1
2026-04-30 14:05:10 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-30 14:05:10 [INFO] [berlingo] [SEARCH] Recuperation de la page 2 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=2
2026-04-30 14:05:12 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-30 14:05:12 [INFO] [berlingo] [SEARCH] Recuperation de la page 3 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=3
2026-04-30 14:05:14 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-30 14:05:14 [INFO] [berlingo] [SEARCH] Recuperation de la page 4 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=4
2026-04-30 14:05:17 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-30 14:05:17 [INFO] [berlingo] [SEARCH] Recuperation de la page 5 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=5
2026-04-30 14:05:20 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-30 14:05:20 [INFO] [berlingo] [SEARCH] Recuperation de la page 6 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=6
2026-04-30 14:05:23 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-30 14:05:23 [INFO] [berlingo] [SEARCH] Recuperation de la page 7 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=7
2026-04-30 14:05:35 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 245)
2026-04-30 14:05:35 [INFO] [berlingo] [SEARCH] Recuperation de la page 8 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=8
2026-04-30 14:05:39 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 280)
2026-04-30 14:05:39 [INFO] [berlingo] [SEARCH] Recuperation de la page 9 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=9
2026-04-30 14:05:42 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 315)
2026-04-30 14:05:42 [INFO] [berlingo] [SEARCH] Recuperation de la page 10 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=10
2026-04-30 14:05:44 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 350)
2026-04-30 14:05:44 [INFO] [berlingo] [SEARCH] Recuperation de la page 11 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=11
2026-04-30 14:05:46 [INFO] [berlingo] [SEARCH] 15 annonces recuperees (total: 365)
2026-04-30 14:05:46 [INFO] [berlingo] [SEARCH] Recuperation de la page 12 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=CITROEN&u_utility_model=CITROEN_Berlingo&page=12
2026-04-30 14:05:49 [INFO] [berlingo] [SEARCH] Page 12 : aucune annonce, arret de la pagination.
2026-04-30 14:05:49 [INFO] [berlingo] [SEARCH] Termine : 365 annonces au total dans /home/ubuntu/app/leboncoin_ads_berlingo_20260430_140506.csv
2026-04-30 14:05:49 [INFO] [berlingo] [SEARCH] CSV : leboncoin_ads_berlingo_20260430_140506.csv
2026-04-30 14:05:49 [INFO] [berlingo] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_berlingo_20260430_140506.csv --db /home/ubuntu/app/db/lbc.sqlite --model berlingo
2026-04-30 14:05:49 [INFO] [berlingo] [IMPORT] Model override : berlingo
2026-04-30 14:05:49 [INFO] [berlingo] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-30 14:05:49 [INFO] [berlingo] [IMPORT] Fichier: leboncoin_ads_berlingo_20260430_140506.csv
2026-04-30 14:05:49 [INFO] [berlingo] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:05:50 [INFO] [berlingo] [IMPORT] 365 lus, 365 inseres, 0 ignores, 0 erreurs
2026-04-30 14:05:50 [INFO] [berlingo] [IMPORT] TOTAL : 365 lus, 365 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:05:50 [INFO] [berlingo] [IMPORT] 15802 annonces en base
2026-04-30 14:05:50 [INFO] [berlingo] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_berlingo_20260430_140506.csv --brand citroen --model berlingo --db /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:05:50 [INFO] [berlingo] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_berlingo_20260430_140506.csv, Brand: citroen, Model: berlingo
2026-04-30 14:05:50 [INFO] [berlingo] [AVAILABILITY] 362 list_id lus dans le CSV.
2026-04-30 14:05:50 [INFO] [berlingo] [AVAILABILITY] 370 annonces actives en base pour citroen berlingo.
2026-04-30 14:05:50 [INFO] [berlingo] [AVAILABILITY] 8 annonce(s) marquées indisponibles.
2026-04-30 14:05:50 [INFO] [berlingo] [AVAILABILITY] CSV: 362, Actives DB: 370, Absentes: 8
2026-04-30 14:05:50 [INFO] [berlingo] [AVAILABILITY] Marquees indisponibles: 8
2026-04-30 14:05:50 [INFO] [berlingo] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model berlingo --delay 0.5 --limit 200
2026-04-30 14:05:50 [INFO] [berlingo] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: berlingo — Limite: 200
2026-04-30 14:05:50 [INFO] [berlingo] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:05:50 [INFO] [berlingo] [DETAIL] 1 annonce(s) à enrichir (modèle: berlingo)
2026-04-30 14:05:51 [INFO] [berlingo] [DETAIL] RESULTAT : 1 traitee(s), 1 enrichies, 0 introuvables, 0 erreurs
2026-04-30 14:05:51 [INFO] [berlingo] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model berlingo --skip-plots
2026-04-30 14:05:51 [INFO] [berlingo] [STATS] ANALYSEUR LEBONCOIN — Base: /home/ubuntu/app/db/lbc.sqlite, Figures: /home/ubuntu/app/stats/berlingo/figures, Modele: berlingo, Graphiques: Non
2026-04-30 14:05:55 [INFO] [berlingo] [STATS] Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-04-30 14:05:55 [INFO] [berlingo] [STATS] Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-04-30 14:05:56 [INFO] [berlingo] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-30 14:05:56 [INFO] [berlingo] [STATS] Annonces sans evaluation LLM : 1
2026-04-30 14:05:59 [INFO] [berlingo] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:05:59 [INFO] [berlingo] [STATS] LLM OUTPUT batch 1/1: 1 resultats extraits (modele=gpt-4.1-mini)
2026-04-30 14:05:59 [INFO] [berlingo] [STATS] Resultats extraits : 1
2026-04-30 14:05:59 [INFO] [berlingo] [STATS] Evaluations inserees : 1
2026-04-30 14:06:00 [INFO] [berlingo] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-30 14:06:00 [INFO] [berlingo] [STATS]   modele_regression : 2 lignes insérées
2026-04-30 14:06:00 [INFO] [berlingo] [STATS]   referentiel_prix : 67 segments insérés
2026-04-30 14:06:00 [INFO] [berlingo] [STATS]   ads.deal_columns : 871 annonces mises à jour
2026-04-30 14:06:00 [INFO] [berlingo] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-30 14:06:00 [INFO] [berlingo] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:06:00 [INFO] [berlingo] [STATS] Champs actifs : 8
2026-04-30 14:06:00 [INFO] [berlingo] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 1
2026-04-30 14:06:00 [INFO] [berlingo] [STATS] ━━━ LLM DESC SYSTEM PROMPT ━━━
Tu es un expert automobile français. On te donne des descriptions d'annonces de véhicules d'occasion avec leur identifiant.

Pour chaque annonce, extrais depuis la description les informations suivantes :
- courroie_changee : true si la courroie de distribution a été changée ou remplacée, false si explicitement non changée, null si non mentionné
- embrayage_change : true si l'embrayage est neuf ou a été remplacé, false si explicitement non changé, null si non mentionné
- travaux_recents : liste des travaux ou réparations récentes mentionnés dans la description (ex: 'freins refaits', 'pneus neufs', 'vidange faite'). Liste vide si aucun.
- negociabilite : négociable si le vendeur indique être ouvert aux offres, ferme si le prix est indiqué ferme, null si non mentionné
- contexte_vente : contexte notable de la vente s'il est mentionné (ex: 'urgent', 'déménagement', 'décès', 'achat neuf'). null si rien de notable
- nb_proprietaires : nombre de propriétaires du véhicule si mentionné (ex: 1 pour '1ère main', 2 pour '2ème main'). null si non mentionné
- options_description : liste des équipements et options cités dans la description (ex: 'GPS', 'Caméra recul', 'Clim auto', 'Toit ouvrant'). Liste vide si aucun.
- accidente : true si le véhicule a subi un accident, un choc, une collision, des airbags déclenchés ou une carrosserie endommagée mentionné explicitement. false si le vendeur indique explicitement non accidenté ou sans accident. null si non mentionné.

Règles :
- Extrais UNIQUEMENT ce qui est explicitement dans la description
- Ne déduis pas, n'invente pas
- Pour les champs de type liste, retourne une liste vide si rien n'est mentionné
- Conserve le list_id exact tel que fourni
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:06:00 [INFO] [berlingo] [STATS] ━━━ LLM DESC INPUT batch 1/1 (1 annonces) ━━━
3158934405: "Citroen berlingo van xl 950kg 1.5 bluehdi 130 club 1ere main ct ok M.E.C 19/06/2019 BOITE AUTOMATIQUE EAT8 3 PLACE GARANTIE 3 MOIS (Boite/moteur)  ****10990TTC TVA RECUPERABLE ****  ENTRETIEN ***KIT DE DISTRIBUTION PLUS POMEPA EAU FAIT A 91973 KM*** *** VIDANGE OK *** Aucun frais à prévoir  INTÉRIEUR  - Clim - Régulateur de vitesse /Limitteur - Rétroviseur electrique - Retroviseur rabattable - Air bags - Vitres electrique - Blutooth - Pris usb - Carplay - Prise 12V - Fermeture électrique - Direction assistée - Volant réglable en hauteur - Configuration 3PL - Sellerie tissu - Radar de recul - Double des clés - Camera  SÉCURITÉ ABS Aide au freinage d'urgence Airbag Antidémarrage électronique Antipatinage Ceintures avant ajustables en hauteur EBD ESP  FDM AUTOMOBILE sont heureux de vous accueillir au 212 RUE DE LA REPUBLIQUE 93700 DRANCY"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:06:03 [INFO] [berlingo] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:06:03 [INFO] [berlingo] [STATS] ━━━ LLM DESC OUTPUT batch 1/1 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3158934405",
    "courroie_changee": true,
    "embrayage_change": null,
    "travaux_recents": [
      "kit de distribution plus pompe à eau fait à 91973 km",
      "vidange ok"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": 1,
    "options_description": [
      "clim",
      "régulateur de vitesse",
      "limitteur",
      "rétroviseur électrique",
      "rétroviseur rabattable",
      "air bags",
      "vitres électrique",
      "bluetooth",
      "prise usb",
      "carplay",
      "prise 12V",
      "fermeture électrique",
      "direction assistée",
      "volant réglable en hauteur",
      "configuration 3 places",
      "sellerie tissu",
      "radar de recul",
      "double des clés",
      "caméra",
      "ABS",
      "aide au freinage d'urgence",
      "airbag",
      "antidémarrage électronique",
      "antipatinage",
      "ceintures avant ajustables en hauteur",
      "EBD",
      "ESP"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:06:03 [INFO] [berlingo] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:06:03 [INFO] [berlingo] [STATS] Évaluations insérées : 1
2026-04-30 14:06:03 [INFO] [berlingo] [STATS] ANALYSE TERMINEE en 8.3s — 871 annonces (run #942) — Modele: berlingo
2026-04-30 14:06:04 [INFO] [berlingo] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model berlingo
2026-04-30 14:06:04 [INFO] [berlingo] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-30 14:06:04 [INFO] [berlingo] [LLM] Annonces sans evaluation LLM : 0
2026-04-30 14:06:04 [INFO] [berlingo] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-30 14:06:04 [INFO] [berlingo] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model berlingo
2026-04-30 14:06:05 [INFO] [berlingo] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-30 14:06:05 [INFO] [berlingo] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:06:05 [INFO] [berlingo] [LLM DESC] Champs actifs : 8
2026-04-30 14:06:05 [INFO] [berlingo] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-30 14:06:05 [INFO] [berlingo] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-30 14:06:05 [INFO] [c4] [LLM DESC] [4/8] C4 (brand=citroen, pages=auto)
2026-04-30 14:06:05 [INFO] [c4] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=2&text=c4&price=min-11000&regdate=20...
2026-04-30 14:06:05 [INFO] [c4] [SEARCH] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --model c4
2026-04-30 14:06:05 [INFO] [c4] [SEARCH] Recuperation de la page 1 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=c4&price=min-11000&regdate=2013-max&mileage=min-150000&u_car_brand=CITROEN&seats=999999&u_car_model=CITROEN_C4%2CCITROEN_C4+Aircross%2CCITROEN_C4+Cactus%2CCITROEN_C4+Picasso%2CCITROEN_C4+SpaceTourer%2CCITROEN_C4+X&page=1
2026-04-30 14:06:08 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-30 14:06:08 [INFO] [c4] [SEARCH] Recuperation de la page 2 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=c4&price=min-11000&regdate=2013-max&mileage=min-150000&u_car_brand=CITROEN&seats=999999&u_car_model=CITROEN_C4%2CCITROEN_C4+Aircross%2CCITROEN_C4+Cactus%2CCITROEN_C4+Picasso%2CCITROEN_C4+SpaceTourer%2CCITROEN_C4+X&page=2
2026-04-30 14:06:12 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-30 14:06:12 [INFO] [c4] [SEARCH] Recuperation de la page 3 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=c4&price=min-11000&regdate=2013-max&mileage=min-150000&u_car_brand=CITROEN&seats=999999&u_car_model=CITROEN_C4%2CCITROEN_C4+Aircross%2CCITROEN_C4+Cactus%2CCITROEN_C4+Picasso%2CCITROEN_C4+SpaceTourer%2CCITROEN_C4+X&page=3
2026-04-30 14:06:14 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-30 14:06:14 [INFO] [c4] [SEARCH] Recuperation de la page 4 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=c4&price=min-11000&regdate=2013-max&mileage=min-150000&u_car_brand=CITROEN&seats=999999&u_car_model=CITROEN_C4%2CCITROEN_C4+Aircross%2CCITROEN_C4+Cactus%2CCITROEN_C4+Picasso%2CCITROEN_C4+SpaceTourer%2CCITROEN_C4+X&page=4
2026-04-30 14:06:16 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-30 14:06:16 [INFO] [c4] [SEARCH] Recuperation de la page 5 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=c4&price=min-11000&regdate=2013-max&mileage=min-150000&u_car_brand=CITROEN&seats=999999&u_car_model=CITROEN_C4%2CCITROEN_C4+Aircross%2CCITROEN_C4+Cactus%2CCITROEN_C4+Picasso%2CCITROEN_C4+SpaceTourer%2CCITROEN_C4+X&page=5
2026-04-30 14:06:18 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-30 14:06:18 [INFO] [c4] [SEARCH] Recuperation de la page 6 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=c4&price=min-11000&regdate=2013-max&mileage=min-150000&u_car_brand=CITROEN&seats=999999&u_car_model=CITROEN_C4%2CCITROEN_C4+Aircross%2CCITROEN_C4+Cactus%2CCITROEN_C4+Picasso%2CCITROEN_C4+SpaceTourer%2CCITROEN_C4+X&page=6
2026-04-30 14:06:20 [INFO] [c4] [SEARCH] 34 annonces recuperees (total: 209)
2026-04-30 14:06:20 [INFO] [c4] [SEARCH] Recuperation de la page 7 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=c4&price=min-11000&regdate=2013-max&mileage=min-150000&u_car_brand=CITROEN&seats=999999&u_car_model=CITROEN_C4%2CCITROEN_C4+Aircross%2CCITROEN_C4+Cactus%2CCITROEN_C4+Picasso%2CCITROEN_C4+SpaceTourer%2CCITROEN_C4+X&page=7
2026-04-30 14:06:22 [INFO] [c4] [SEARCH] Page 7 : aucune annonce, arret de la pagination.
2026-04-30 14:06:22 [INFO] [c4] [SEARCH] Termine : 209 annonces au total dans /home/ubuntu/app/leboncoin_ads_c4_20260430_140605.csv
2026-04-30 14:06:22 [INFO] [c4] [SEARCH] CSV : leboncoin_ads_c4_20260430_140605.csv
2026-04-30 14:06:22 [INFO] [c4] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_c4_20260430_140605.csv --db /home/ubuntu/app/db/lbc.sqlite --model c4
2026-04-30 14:06:22 [INFO] [c4] [IMPORT] Model override : c4
2026-04-30 14:06:22 [INFO] [c4] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-30 14:06:22 [INFO] [c4] [IMPORT] Fichier: leboncoin_ads_c4_20260430_140605.csv
2026-04-30 14:06:22 [INFO] [c4] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:06:23 [INFO] [c4] [IMPORT] 209 lus, 209 inseres, 0 ignores, 0 erreurs
2026-04-30 14:06:23 [INFO] [c4] [IMPORT] TOTAL : 209 lus, 209 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:06:23 [INFO] [c4] [IMPORT] 15805 annonces en base
2026-04-30 14:06:23 [INFO] [c4] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_c4_20260430_140605.csv --brand citroen --model c4 --db /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:06:23 [INFO] [c4] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_c4_20260430_140605.csv, Brand: citroen, Model: c4
2026-04-30 14:06:23 [INFO] [c4] [AVAILABILITY] 209 list_id lus dans le CSV.
2026-04-30 14:06:23 [INFO] [c4] [AVAILABILITY] 212 annonces actives en base pour citroen c4.
2026-04-30 14:06:23 [INFO] [c4] [AVAILABILITY] 3 annonce(s) marquées indisponibles.
2026-04-30 14:06:23 [INFO] [c4] [AVAILABILITY] CSV: 209, Actives DB: 212, Absentes: 3
2026-04-30 14:06:23 [INFO] [c4] [AVAILABILITY] Marquees indisponibles: 3
2026-04-30 14:06:23 [INFO] [c4] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model c4 --delay 0.5 --limit 200
2026-04-30 14:06:23 [INFO] [c4] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: c4 — Limite: 200
2026-04-30 14:06:23 [INFO] [c4] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:06:23 [INFO] [c4] [DETAIL] 3 annonce(s) à enrichir (modèle: c4)
2026-04-30 14:06:29 [INFO] [c4] [DETAIL] RESULTAT : 3 traitee(s), 3 enrichies, 0 introuvables, 0 erreurs
2026-04-30 14:06:29 [INFO] [c4] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model c4 --skip-plots
2026-04-30 14:06:29 [INFO] [c4] [STATS] ANALYSEUR LEBONCOIN — Base: /home/ubuntu/app/db/lbc.sqlite, Figures: /home/ubuntu/app/stats/c4/figures, Modele: c4, Graphiques: Non
2026-04-30 14:06:32 [INFO] [c4] [STATS] Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-04-30 14:06:32 [INFO] [c4] [STATS] Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-04-30 14:06:33 [INFO] [c4] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-30 14:06:33 [INFO] [c4] [STATS] Annonces sans evaluation LLM : 3
2026-04-30 14:06:36 [INFO] [c4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:06:36 [INFO] [c4] [STATS] LLM OUTPUT batch 1/1: 3 resultats extraits (modele=gpt-4.1-mini)
2026-04-30 14:06:36 [INFO] [c4] [STATS] Resultats extraits : 3
2026-04-30 14:06:36 [INFO] [c4] [STATS] Evaluations inserees : 3
2026-04-30 14:06:36 [INFO] [c4] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-30 14:06:36 [INFO] [c4] [STATS]   modele_regression : 2 lignes insérées
2026-04-30 14:06:36 [INFO] [c4] [STATS]   referentiel_prix : 32 segments insérés
2026-04-30 14:06:37 [INFO] [c4] [STATS]   ads.deal_columns : 571 annonces mises à jour
2026-04-30 14:06:37 [INFO] [c4] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-30 14:06:37 [INFO] [c4] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:06:37 [INFO] [c4] [STATS] Champs actifs : 8
2026-04-30 14:06:37 [INFO] [c4] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 1
2026-04-30 14:06:37 [INFO] [c4] [STATS] ━━━ LLM DESC SYSTEM PROMPT ━━━
Tu es un expert automobile français. On te donne des descriptions d'annonces de véhicules d'occasion avec leur identifiant.

Pour chaque annonce, extrais depuis la description les informations suivantes :
- courroie_changee : true si la courroie de distribution a été changée ou remplacée, false si explicitement non changée, null si non mentionné
- embrayage_change : true si l'embrayage est neuf ou a été remplacé, false si explicitement non changé, null si non mentionné
- travaux_recents : liste des travaux ou réparations récentes mentionnés dans la description (ex: 'freins refaits', 'pneus neufs', 'vidange faite'). Liste vide si aucun.
- negociabilite : négociable si le vendeur indique être ouvert aux offres, ferme si le prix est indiqué ferme, null si non mentionné
- contexte_vente : contexte notable de la vente s'il est mentionné (ex: 'urgent', 'déménagement', 'décès', 'achat neuf'). null si rien de notable
- nb_proprietaires : nombre de propriétaires du véhicule si mentionné (ex: 1 pour '1ère main', 2 pour '2ème main'). null si non mentionné
- options_description : liste des équipements et options cités dans la description (ex: 'GPS', 'Caméra recul', 'Clim auto', 'Toit ouvrant'). Liste vide si aucun.
- accidente : true si le véhicule a subi un accident, un choc, une collision, des airbags déclenchés ou une carrosserie endommagée mentionné explicitement. false si le vendeur indique explicitement non accidenté ou sans accident. null si non mentionné.

Règles :
- Extrais UNIQUEMENT ce qui est explicitement dans la description
- Ne déduis pas, n'invente pas
- Pour les champs de type liste, retourne une liste vide si rien n'est mentionné
- Conserve le list_id exact tel que fourni
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:06:37 [INFO] [c4] [STATS] ━━━ LLM DESC INPUT batch 1/1 (1 annonces) ━━━
3150042693: "Citroën Grand C4 Picasso Feel – 2017 – 79 500 km – 130 ch – BVM6 – Gris - Première main  Je propose à la vente un Citroën Grand C4 Picasso finition Feel, motorisation 130 ch, boîte manuelle 6 rapports, mis en circulation en 2017 et affichant 79 500 km.  Véhicule en première main d’origine française, acheté neuf en concession Citroën, avec facture d’achat disponible. Suivi exclusivement en réseau Citroën jusqu’en 2023, puis chez un garage spécialiste jusqu’à maintenant. Entretien effectué chaque année, indépendamment du kilométrage : un suivi particulièrement rigoureux.  Suivi d’entretien complet • 07/2017 : achat du véhicule chez Citroën • 08/2018 : 9 555 km – révision • 09/2019 : 19 058 km – révision • 10/2020 : 30 575 km – révision • 11/2021 : 39 867 km – révision • 44 000 km : remplacement des plaquettes de frein avant • 04/2023 : 50 000 km – révision + remplacement de la courroie de distribution (Citroën) • 03/2023 : 52 000 km – révision • 02/2024 : 64 103 km – grosse révision • 10/2025 : 76 904 km – révision • 11/2025 : 4 pneus neufs  Véhicule toujours entretenu en temps et en heure, avec un dossier complet et parfaitement suivi.  Équipements & options • Virtual Cockpit • Apple CarPlay & Android Auto • Climatisation bi-zone • Navigation GPS • Allumage automatique des feux • Détecteur de pluie • Start & Stop • Jantes alliage 17” • Radars de stationnement avant / arrière • Rétroviseurs rabattables électriquement • Frein à main électrique  Véhicule en excellent état général..."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:06:40 [INFO] [c4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:06:40 [INFO] [c4] [STATS] ━━━ LLM DESC OUTPUT batch 1/1 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3150042693",
    "courroie_changee": true,
    "embrayage_change": null,
    "travaux_recents": [
      "remplacement des plaquettes de frein avant",
      "remplacement de la courroie de distribution",
      "4 pneus neufs"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": 1,
    "options_description": [
      "Virtual Cockpit",
      "Apple CarPlay & Android Auto",
      "Climatisation bi-zone",
      "Navigation GPS",
      "Allumage automatique des feux",
      "Détecteur de pluie",
      "Start & Stop",
      "Jantes alliage 17”",
      "Radars de stationnement avant / arrière",
      "Rétroviseurs rabattables électriquement",
      "Frein à main électrique"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:06:40 [INFO] [c4] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:06:40 [INFO] [c4] [STATS] Évaluations insérées : 1
2026-04-30 14:06:40 [INFO] [c4] [STATS] ANALYSE TERMINEE en 6.6s — 571 annonces (run #943) — Modele: c4
2026-04-30 14:06:40 [INFO] [c4] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model c4
2026-04-30 14:06:41 [INFO] [c4] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-30 14:06:41 [INFO] [c4] [LLM] Annonces sans evaluation LLM : 0
2026-04-30 14:06:41 [INFO] [c4] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-30 14:06:41 [INFO] [c4] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model c4
2026-04-30 14:06:41 [INFO] [c4] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-30 14:06:41 [INFO] [c4] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:06:41 [INFO] [c4] [LLM DESC] Champs actifs : 8
2026-04-30 14:06:41 [INFO] [c4] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-30 14:06:41 [INFO] [c4] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-30 14:06:41 [INFO] [scenic] [LLM DESC] [5/8] SCENIC (brand=renault, pages=auto)
2026-04-30 14:06:41 [INFO] [scenic] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=2&text=scenic&price=min-11000&regdat...
2026-04-30 14:06:41 [INFO] [scenic] [SEARCH] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --model scenic
2026-04-30 14:06:42 [INFO] [scenic] [SEARCH] Recuperation de la page 1 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=scenic&price=min-11000&regdate=2013-max&mileage=min-150000&seats=999999&u_car_brand=RENAULT&page=1
2026-04-30 14:06:44 [INFO] [scenic] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-30 14:06:44 [INFO] [scenic] [SEARCH] Recuperation de la page 2 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=scenic&price=min-11000&regdate=2013-max&mileage=min-150000&seats=999999&u_car_brand=RENAULT&page=2
2026-04-30 14:06:48 [INFO] [scenic] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-30 14:06:48 [INFO] [scenic] [SEARCH] Recuperation de la page 3 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=scenic&price=min-11000&regdate=2013-max&mileage=min-150000&seats=999999&u_car_brand=RENAULT&page=3
2026-04-30 14:06:50 [INFO] [scenic] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-30 14:06:50 [INFO] [scenic] [SEARCH] Recuperation de la page 4 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=scenic&price=min-11000&regdate=2013-max&mileage=min-150000&seats=999999&u_car_brand=RENAULT&page=4
2026-04-30 14:06:53 [INFO] [scenic] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-30 14:06:53 [INFO] [scenic] [SEARCH] Recuperation de la page 5 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=scenic&price=min-11000&regdate=2013-max&mileage=min-150000&seats=999999&u_car_brand=RENAULT&page=5
2026-04-30 14:06:55 [INFO] [scenic] [SEARCH] 3 annonces recuperees (total: 143)
2026-04-30 14:06:55 [INFO] [scenic] [SEARCH] Recuperation de la page 6 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=scenic&price=min-11000&regdate=2013-max&mileage=min-150000&seats=999999&u_car_brand=RENAULT&page=6
2026-04-30 14:06:57 [INFO] [scenic] [SEARCH] Page 6 : aucune annonce, arret de la pagination.
2026-04-30 14:06:57 [INFO] [scenic] [SEARCH] Termine : 143 annonces au total dans /home/ubuntu/app/leboncoin_ads_scenic_20260430_140642.csv
2026-04-30 14:06:57 [INFO] [scenic] [SEARCH] CSV : leboncoin_ads_scenic_20260430_140642.csv
2026-04-30 14:06:57 [INFO] [scenic] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_scenic_20260430_140642.csv --db /home/ubuntu/app/db/lbc.sqlite --model scenic
2026-04-30 14:06:57 [INFO] [scenic] [IMPORT] Model override : scenic
2026-04-30 14:06:57 [INFO] [scenic] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-30 14:06:57 [INFO] [scenic] [IMPORT] Fichier: leboncoin_ads_scenic_20260430_140642.csv
2026-04-30 14:06:57 [INFO] [scenic] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:06:57 [INFO] [scenic] [IMPORT] 143 lus, 143 inseres, 0 ignores, 0 erreurs
2026-04-30 14:06:57 [INFO] [scenic] [IMPORT] TOTAL : 143 lus, 143 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:06:57 [INFO] [scenic] [IMPORT] 15810 annonces en base
2026-04-30 14:06:57 [INFO] [scenic] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_scenic_20260430_140642.csv --brand renault --model scenic --db /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:06:57 [INFO] [scenic] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_scenic_20260430_140642.csv, Brand: renault, Model: scenic
2026-04-30 14:06:57 [INFO] [scenic] [AVAILABILITY] 143 list_id lus dans le CSV.
2026-04-30 14:06:57 [INFO] [scenic] [AVAILABILITY] 146 annonces actives en base pour renault scenic.
2026-04-30 14:06:57 [INFO] [scenic] [AVAILABILITY] 3 annonce(s) marquées indisponibles.
2026-04-30 14:06:57 [INFO] [scenic] [AVAILABILITY] CSV: 143, Actives DB: 146, Absentes: 3
2026-04-30 14:06:57 [INFO] [scenic] [AVAILABILITY] Marquees indisponibles: 3
2026-04-30 14:06:57 [INFO] [scenic] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model scenic --delay 0.5 --limit 200
2026-04-30 14:06:57 [INFO] [scenic] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: scenic — Limite: 200
2026-04-30 14:06:57 [INFO] [scenic] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:06:57 [INFO] [scenic] [DETAIL] 5 annonce(s) à enrichir (modèle: scenic)
2026-04-30 14:07:06 [INFO] [scenic] [DETAIL] RESULTAT : 5 traitee(s), 5 enrichies, 0 introuvables, 0 erreurs
2026-04-30 14:07:06 [INFO] [scenic] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model scenic --skip-plots
2026-04-30 14:07:06 [INFO] [scenic] [STATS] ANALYSEUR LEBONCOIN — Base: /home/ubuntu/app/db/lbc.sqlite, Figures: /home/ubuntu/app/stats/scenic/figures, Modele: scenic, Graphiques: Non
2026-04-30 14:07:09 [INFO] [scenic] [STATS] Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-04-30 14:07:09 [INFO] [scenic] [STATS] Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-04-30 14:07:10 [INFO] [scenic] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-30 14:07:10 [INFO] [scenic] [STATS] Annonces sans evaluation LLM : 5
2026-04-30 14:07:14 [INFO] [scenic] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:07:14 [INFO] [scenic] [STATS] LLM OUTPUT batch 1/1: 5 resultats extraits (modele=gpt-4.1-mini)
2026-04-30 14:07:14 [INFO] [scenic] [STATS] Resultats extraits : 5
2026-04-30 14:07:14 [INFO] [scenic] [STATS] Evaluations inserees : 5
2026-04-30 14:07:14 [INFO] [scenic] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-30 14:07:14 [INFO] [scenic] [STATS]   modele_regression : 2 lignes insérées
2026-04-30 14:07:14 [INFO] [scenic] [STATS]   referentiel_prix : 30 segments insérés
2026-04-30 14:07:15 [INFO] [scenic] [STATS]   ads.deal_columns : 413 annonces mises à jour
2026-04-30 14:07:15 [INFO] [scenic] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-30 14:07:15 [INFO] [scenic] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:07:15 [INFO] [scenic] [STATS] Champs actifs : 8
2026-04-30 14:07:15 [INFO] [scenic] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 2
2026-04-30 14:07:15 [INFO] [scenic] [STATS] ━━━ LLM DESC SYSTEM PROMPT ━━━
Tu es un expert automobile français. On te donne des descriptions d'annonces de véhicules d'occasion avec leur identifiant.

Pour chaque annonce, extrais depuis la description les informations suivantes :
- courroie_changee : true si la courroie de distribution a été changée ou remplacée, false si explicitement non changée, null si non mentionné
- embrayage_change : true si l'embrayage est neuf ou a été remplacé, false si explicitement non changé, null si non mentionné
- travaux_recents : liste des travaux ou réparations récentes mentionnés dans la description (ex: 'freins refaits', 'pneus neufs', 'vidange faite'). Liste vide si aucun.
- negociabilite : négociable si le vendeur indique être ouvert aux offres, ferme si le prix est indiqué ferme, null si non mentionné
- contexte_vente : contexte notable de la vente s'il est mentionné (ex: 'urgent', 'déménagement', 'décès', 'achat neuf'). null si rien de notable
- nb_proprietaires : nombre de propriétaires du véhicule si mentionné (ex: 1 pour '1ère main', 2 pour '2ème main'). null si non mentionné
- options_description : liste des équipements et options cités dans la description (ex: 'GPS', 'Caméra recul', 'Clim auto', 'Toit ouvrant'). Liste vide si aucun.
- accidente : true si le véhicule a subi un accident, un choc, une collision, des airbags déclenchés ou une carrosserie endommagée mentionné explicitement. false si le vendeur indique explicitement non accidenté ou sans accident. null si non mentionné.

Règles :
- Extrais UNIQUEMENT ce qui est explicitement dans la description
- Ne déduis pas, n'invente pas
- Pour les champs de type liste, retourne une liste vide si rien n'est mentionné
- Conserve le list_id exact tel que fourni
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:07:15 [INFO] [scenic] [STATS] ━━━ LLM DESC INPUT batch 1/2 (1 annonces) ━━━
3188854001: "Scenic 3 Prévoir moteur démarre toujours"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:07:18 [INFO] [scenic] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:07:18 [INFO] [scenic] [STATS] ━━━ LLM DESC OUTPUT batch 1/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188854001",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:07:18 [INFO] [scenic] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:07:18 [INFO] [scenic] [STATS] ━━━ LLM DESC INPUT batch 2/2 (1 annonces) ━━━
3188936738: "Vends Renault Sénic 3 finition Bose  Pratiquement toutes options  Clim, gps , toit ouvrant panoramique  Ectc,,, Roule très   Véhicule à chaîne pneus neuf révision faite le 22/01/26"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:07:20 [INFO] [scenic] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:07:20 [INFO] [scenic] [STATS] ━━━ LLM DESC OUTPUT batch 2/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188936738",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [
      "pneus neuf",
      "révision faite le 22/01/26"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Clim",
      "gps",
      "toit ouvrant panoramique"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:07:20 [INFO] [scenic] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:07:20 [INFO] [scenic] [STATS] Évaluations insérées : 2
2026-04-30 14:07:20 [INFO] [scenic] [STATS] ANALYSE TERMINEE en 8.1s — 413 annonces (run #944) — Modele: scenic
2026-04-30 14:07:21 [INFO] [scenic] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model scenic
2026-04-30 14:07:21 [INFO] [scenic] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-30 14:07:21 [INFO] [scenic] [LLM] Annonces sans evaluation LLM : 0
2026-04-30 14:07:21 [INFO] [scenic] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-30 14:07:21 [INFO] [scenic] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model scenic
2026-04-30 14:07:22 [INFO] [scenic] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-30 14:07:22 [INFO] [scenic] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:07:22 [INFO] [scenic] [LLM DESC] Champs actifs : 8
2026-04-30 14:07:22 [INFO] [scenic] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-30 14:07:22 [INFO] [scenic] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-30 14:07:22 [INFO] [5008] [LLM DESC] [6/8] 5008 (brand=peugeot, pages=auto)
2026-04-30 14:07:22 [INFO] [5008] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_br...
2026-04-30 14:07:22 [INFO] [5008] [SEARCH] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --model 5008
2026-04-30 14:07:22 [INFO] [5008] [SEARCH] Recuperation de la page 1 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=1
2026-04-30 14:07:25 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-30 14:07:25 [INFO] [5008] [SEARCH] Recuperation de la page 2 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=2
2026-04-30 14:07:34 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-30 14:07:34 [INFO] [5008] [SEARCH] Recuperation de la page 3 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=3
2026-04-30 14:07:37 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-30 14:07:37 [INFO] [5008] [SEARCH] Recuperation de la page 4 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=4
2026-04-30 14:07:39 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-30 14:07:39 [INFO] [5008] [SEARCH] Recuperation de la page 5 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=5
2026-04-30 14:07:42 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-30 14:07:42 [INFO] [5008] [SEARCH] Recuperation de la page 6 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=6
2026-04-30 14:07:46 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-30 14:07:46 [INFO] [5008] [SEARCH] Recuperation de la page 7 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=7
2026-04-30 14:07:48 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 245)
2026-04-30 14:07:48 [INFO] [5008] [SEARCH] Recuperation de la page 8 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=8
2026-04-30 14:07:51 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 280)
2026-04-30 14:07:51 [INFO] [5008] [SEARCH] Recuperation de la page 9 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=9
2026-04-30 14:07:53 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 315)
2026-04-30 14:07:53 [INFO] [5008] [SEARCH] Recuperation de la page 10 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=10
2026-04-30 14:07:55 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 350)
2026-04-30 14:07:55 [INFO] [5008] [SEARCH] Recuperation de la page 11 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=11
2026-04-30 14:07:59 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 385)
2026-04-30 14:07:59 [INFO] [5008] [SEARCH] Recuperation de la page 12 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=12
2026-04-30 14:08:02 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 420)
2026-04-30 14:08:02 [INFO] [5008] [SEARCH] Recuperation de la page 13 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=13
2026-04-30 14:08:04 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 455)
2026-04-30 14:08:04 [INFO] [5008] [SEARCH] Recuperation de la page 14 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=14
2026-04-30 14:08:07 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 490)
2026-04-30 14:08:07 [INFO] [5008] [SEARCH] Recuperation de la page 15 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=15
2026-04-30 14:08:10 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 525)
2026-04-30 14:08:10 [INFO] [5008] [SEARCH] Recuperation de la page 16 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=16
2026-04-30 14:08:14 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 560)
2026-04-30 14:08:14 [INFO] [5008] [SEARCH] Recuperation de la page 17 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=17
2026-04-30 14:08:17 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 595)
2026-04-30 14:08:17 [INFO] [5008] [SEARCH] Recuperation de la page 18 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=18
2026-04-30 14:08:19 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 630)
2026-04-30 14:08:19 [INFO] [5008] [SEARCH] Recuperation de la page 19 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=19
2026-04-30 14:08:22 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 665)
2026-04-30 14:08:22 [INFO] [5008] [SEARCH] Recuperation de la page 20 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=20
2026-04-30 14:08:30 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 700)
2026-04-30 14:08:30 [INFO] [5008] [SEARCH] Recuperation de la page 21 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=21
2026-04-30 14:08:32 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 735)
2026-04-30 14:08:32 [INFO] [5008] [SEARCH] Recuperation de la page 22 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=22
2026-04-30 14:08:35 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 770)
2026-04-30 14:08:35 [INFO] [5008] [SEARCH] Recuperation de la page 23 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=23
2026-04-30 14:08:38 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 805)
2026-04-30 14:08:38 [INFO] [5008] [SEARCH] Recuperation de la page 24 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=24
2026-04-30 14:08:42 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 840)
2026-04-30 14:08:42 [INFO] [5008] [SEARCH] Recuperation de la page 25 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=25
2026-04-30 14:08:45 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 875)
2026-04-30 14:08:45 [INFO] [5008] [SEARCH] Recuperation de la page 26 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=26
2026-04-30 14:08:47 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 910)
2026-04-30 14:08:47 [INFO] [5008] [SEARCH] Recuperation de la page 27 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=27
2026-04-30 14:08:49 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 945)
2026-04-30 14:08:49 [INFO] [5008] [SEARCH] Recuperation de la page 28 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=28
2026-04-30 14:08:53 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 980)
2026-04-30 14:08:53 [INFO] [5008] [SEARCH] Recuperation de la page 29 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=29
2026-04-30 14:08:55 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1015)
2026-04-30 14:08:55 [INFO] [5008] [SEARCH] Recuperation de la page 30 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=30
2026-04-30 14:08:58 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1050)
2026-04-30 14:08:58 [INFO] [5008] [SEARCH] Recuperation de la page 31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=31
2026-04-30 14:09:03 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1085)
2026-04-30 14:09:03 [INFO] [5008] [SEARCH] Recuperation de la page 32 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=32
2026-04-30 14:09:06 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1120)
2026-04-30 14:09:06 [INFO] [5008] [SEARCH] Recuperation de la page 33 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=33
2026-04-30 14:09:09 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1155)
2026-04-30 14:09:09 [INFO] [5008] [SEARCH] Recuperation de la page 34 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=34
2026-04-30 14:09:11 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1190)
2026-04-30 14:09:11 [INFO] [5008] [SEARCH] Recuperation de la page 35 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=35
2026-04-30 14:09:13 [INFO] [5008] [SEARCH] 24 annonces recuperees (total: 1214)
2026-04-30 14:09:13 [INFO] [5008] [SEARCH] Recuperation de la page 36 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_brand=PEUGEOT&seats=999999&u_car_model=PEUGEOT_5008&page=36
2026-04-30 14:09:15 [INFO] [5008] [SEARCH] Page 36 : aucune annonce, arret de la pagination.
2026-04-30 14:09:15 [INFO] [5008] [SEARCH] Termine : 1214 annonces au total dans /home/ubuntu/app/leboncoin_ads_5008_20260430_140722.csv
2026-04-30 14:09:15 [INFO] [5008] [SEARCH] CSV : leboncoin_ads_5008_20260430_140722.csv
2026-04-30 14:09:15 [INFO] [5008] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_5008_20260430_140722.csv --db /home/ubuntu/app/db/lbc.sqlite --model 5008
2026-04-30 14:09:15 [INFO] [5008] [IMPORT] Model override : 5008
2026-04-30 14:09:15 [INFO] [5008] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-30 14:09:15 [INFO] [5008] [IMPORT] Fichier: leboncoin_ads_5008_20260430_140722.csv
2026-04-30 14:09:15 [INFO] [5008] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:09:18 [INFO] [5008] [IMPORT] 1214 lus, 1214 inseres, 0 ignores, 0 erreurs
2026-04-30 14:09:18 [INFO] [5008] [IMPORT] TOTAL : 1214 lus, 1214 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:09:18 [INFO] [5008] [IMPORT] 15822 annonces en base
2026-04-30 14:09:18 [INFO] [5008] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_5008_20260430_140722.csv --brand peugeot --model 5008 --db /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:09:18 [INFO] [5008] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_5008_20260430_140722.csv, Brand: peugeot, Model: 5008
2026-04-30 14:09:18 [INFO] [5008] [AVAILABILITY] 1194 list_id lus dans le CSV.
2026-04-30 14:09:18 [INFO] [5008] [AVAILABILITY] 1233 annonces actives en base pour peugeot 5008.
2026-04-30 14:09:18 [INFO] [5008] [AVAILABILITY] 39 annonce(s) marquées indisponibles.
2026-04-30 14:09:18 [INFO] [5008] [AVAILABILITY] CSV: 1194, Actives DB: 1233, Absentes: 39
2026-04-30 14:09:18 [INFO] [5008] [AVAILABILITY] Marquees indisponibles: 39
2026-04-30 14:09:18 [INFO] [5008] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model 5008 --delay 0.5 --limit 200
2026-04-30 14:09:18 [INFO] [5008] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: 5008 — Limite: 200
2026-04-30 14:09:18 [INFO] [5008] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:09:18 [INFO] [5008] [DETAIL] 12 annonce(s) à enrichir (modèle: 5008)
2026-04-30 14:09:39 [INFO] [5008] [DETAIL] Progression : 10/12 (enrichies: 10, introuvables: 0, erreurs: 0)
2026-04-30 14:09:42 [INFO] [5008] [DETAIL] RESULTAT : 12 traitee(s), 12 enrichies, 0 introuvables, 0 erreurs
2026-04-30 14:09:42 [INFO] [5008] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model 5008 --skip-plots
2026-04-30 14:09:43 [INFO] [5008] [STATS] ANALYSEUR LEBONCOIN — Base: /home/ubuntu/app/db/lbc.sqlite, Figures: /home/ubuntu/app/stats/5008/figures, Modele: 5008, Graphiques: Non
2026-04-30 14:09:47 [INFO] [5008] [STATS] Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-04-30 14:09:47 [INFO] [5008] [STATS] Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-04-30 14:09:48 [INFO] [5008] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-30 14:09:48 [INFO] [5008] [STATS] Annonces sans evaluation LLM : 12
2026-04-30 14:09:56 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:09:56 [INFO] [5008] [STATS] LLM OUTPUT batch 1/1: 12 resultats extraits (modele=gpt-4.1-mini)
2026-04-30 14:09:56 [INFO] [5008] [STATS] Resultats extraits : 12
2026-04-30 14:09:56 [INFO] [5008] [STATS] Evaluations inserees : 12
2026-04-30 14:09:58 [INFO] [5008] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-30 14:09:58 [INFO] [5008] [STATS]   modele_regression : 2 lignes insérées
2026-04-30 14:09:59 [INFO] [5008] [STATS]   referentiel_prix : 79 segments insérés
2026-04-30 14:10:00 [INFO] [5008] [STATS]   ads.deal_columns : 3380 annonces mises à jour
2026-04-30 14:10:00 [INFO] [5008] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-30 14:10:00 [INFO] [5008] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:10:00 [INFO] [5008] [STATS] Champs actifs : 8
2026-04-30 14:10:00 [INFO] [5008] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 9
2026-04-30 14:10:00 [INFO] [5008] [STATS] ━━━ LLM DESC SYSTEM PROMPT ━━━
Tu es un expert automobile français. On te donne des descriptions d'annonces de véhicules d'occasion avec leur identifiant.

Pour chaque annonce, extrais depuis la description les informations suivantes :
- courroie_changee : true si la courroie de distribution a été changée ou remplacée, false si explicitement non changée, null si non mentionné
- embrayage_change : true si l'embrayage est neuf ou a été remplacé, false si explicitement non changé, null si non mentionné
- travaux_recents : liste des travaux ou réparations récentes mentionnés dans la description (ex: 'freins refaits', 'pneus neufs', 'vidange faite'). Liste vide si aucun.
- negociabilite : négociable si le vendeur indique être ouvert aux offres, ferme si le prix est indiqué ferme, null si non mentionné
- contexte_vente : contexte notable de la vente s'il est mentionné (ex: 'urgent', 'déménagement', 'décès', 'achat neuf'). null si rien de notable
- nb_proprietaires : nombre de propriétaires du véhicule si mentionné (ex: 1 pour '1ère main', 2 pour '2ème main'). null si non mentionné
- options_description : liste des équipements et options cités dans la description (ex: 'GPS', 'Caméra recul', 'Clim auto', 'Toit ouvrant'). Liste vide si aucun.
- accidente : true si le véhicule a subi un accident, un choc, une collision, des airbags déclenchés ou une carrosserie endommagée mentionné explicitement. false si le vendeur indique explicitement non accidenté ou sans accident. null si non mentionné.

Règles :
- Extrais UNIQUEMENT ce qui est explicitement dans la description
- Ne déduis pas, n'invente pas
- Pour les champs de type liste, retourne une liste vide si rien n'est mentionné
- Conserve le list_id exact tel que fourni
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:00 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 1/9 (1 annonces) ━━━
3185345744: "bonjour madame, monsieur je vend la Peugeot 5008 7 places modèle 2012 en bon etat.  INFORMATION   -Embrayage remplacé -courroie de distribution changée  -et pneus neufs."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:02 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:10:02 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 1/9 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3185345744",
    "courroie_changee": true,
    "embrayage_change": true,
    "travaux_recents": [
      "pneus neufs"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "7 places"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:02 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:10:02 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 2/9 (1 annonces) ━━━
3188711430: "Je vends ma Peugeot 5008 de 2010 avec 26 0000km au compteur. - Marque : Peugeot - Modèle : 5008 - Année : 2010 - Kilométrage : 26 0000km - Carburant : Diesel - Boîte de vitesses : Manuelle - Puissance fiscale : 6 CV - Puissance DIN : 112 Ch - Nombre de portes : 5 - Nombre de sièges : 7 place - Couleur : Noir La voiture elle démarre, pas à cause de la batterie au BMS 🤷 problème électricité  Carte grise. OK contrôle technique OK le prix à débattre  N'hésitez pas à me contacter pour plus d'informations !"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:06 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:10:06 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 2/9 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188711430",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": "négociable",
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:06 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:10:06 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 3/9 (1 annonces) ━━━
3188833877: "Véhicule  entretenu au garage   Entretient  à jour  Le ct sera fait pour la vente"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:08 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:10:08 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 3/9 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188833877",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [
      "entretien à jour",
      "contrôle technique sera fait pour la vente"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:08 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:10:08 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 4/9 (1 annonces) ━━━
3188856528: "Vends 5008 2.0 HDI de 2011 boite auto. 211000 km non évolutif. Toit panoramique. Barre de toit fournies. Attelage.  Tendeur de chaîne d'arbres à came à remplacer. Radar recul à revoir aussi 3800 €"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:11 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:10:11 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 4/9 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188856528",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Toit panoramique",
      "Barre de toit fournies",
      "Attelage",
      "Radar recul"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:11 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:10:11 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 5/9 (1 annonces) ━━━
3188908225: "Vend 5008 Allure 1.6L HDI 112ch 7places 189000 km Réservoir additif FAP changé 185000 km Amortisseurs changés à 158000km Embrayage changé à 158000km Courroie de distribution faite à 140000km Attelage 4 jantes supplémentaires pour passage en roue hiver."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:13 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:10:13 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 5/9 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188908225",
    "courroie_changee": true,
    "embrayage_change": true,
    "travaux_recents": [
      "Réservoir additif FAP changé",
      "Amortisseurs changés",
      "Attelage",
      "4 jantes supplémentaires pour passage en roue hiver"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Attelage"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:13 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:10:13 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 6/9 (1 annonces) ━━━
3188916007: "Je vends Peugeot 5008 1.6HDI 120CH 7 Places les enfants ont grandi j'en plus besoin  Voiture tres confortable roule toute distance, possible échange contre petite voiture avec rajoute de différence.  Options: Start and Stop Grand GPS Couleur Toit Panoramique Radar de Recul Boite 6 vitesses automatique Régulateur/Limitateur de Vitesse Essuie-glaces automatiques Allumage des Feux Automatique Rétroviseurs électriques et rabbattable Climatisation automatique ..... Moteur et boîte de vitesse excellent état , carrosserie quelques rayures effaçable , beaucoup de pièces ont été changé facture à l'appui.  Pour plus d'informations contactez uniquement intéressé svp.  Prix 6400€"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:17 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:10:17 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 6/9 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188916007",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [
      "beaucoup de pièces ont été changé"
    ],
    "negociabilite": null,
    "contexte_vente": "les enfants ont grandi j'en plus besoin",
    "nb_proprietaires": null,
    "options_description": [
      "Start and Stop",
      "Grand GPS",
      "Couleur Toit Panoramique",
      "Radar de Recul",
      "Boite 6 vitesses automatique",
      "Régulateur/Limitateur de Vitesse",
      "Essuie-glaces automatiques",
      "Allumage des Feux Automatique",
      "Rétroviseurs électriques et rabbattable",
      "Climatisation automatique"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:17 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:10:17 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 7/9 (1 annonces) ━━━
3188958352: "Vends Peugeot 5008 finition Allure, 7 places, diesel, mise en circulation 12/2016. • 1.6 HDi 120 ch
• 225 493 km
• Boîte manuelle
• Gris métallisé
• 7 places / sièges isofix s’abaissants totalement pour un très grand coffre
• Finition Allure Véhicule spacieux, confortable et très pratique pour famille.
Bien équipé : GPS, Bluetooth, radar de recul, régulateur, clim auto, écran tactile. Entretien suivi au garage. FAP changé en 2023 / pneus avant neufs / géométrie effectuée / plaquettes arrières neuves / vidange effectuée - factures à l’appui.
Quelques traces d’usage liées au kilométrage. Idéal famille ou grands trajets. Prix : 4990 € Visible à Plomelin 29700 
Me contacter par message pour plus d’infos."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:20 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:10:20 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 7/9 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188958352",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [
      "FAP changé en 2023",
      "pneus avant neufs",
      "géométrie effectuée",
      "plaquettes arrières neuves",
      "vidange effectuée"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "GPS",
      "Bluetooth",
      "radar de recul",
      "régulateur",
      "clim auto",
      "écran tactile"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:20 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:10:20 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 8/9 (1 annonces) ━━━
3188965032: "Je vends mon Peugeot 5008 1.6 THP 150, véhicule fiable et confortable, idéal famille (7 places). Année : 2010 Kilométrage : 160000 km Moteur : 1.6 THP 150 ch (essence) Boîte manuelle Finition Active  État : Intérieur très propre Extérieur en bon état Véhicule bien entretenu  Équipements : Climatisation Radar de recul Régulateur / limiteur de vitesse Autoradio Vitres électriques Infos complémentaires : Contrôle technique OK Voiture agréable à conduire, idéale pour trajets quotidiens comme longs trajets Prix : 4500 € (négociable raisonnablement) La voiture roule nickel, viens de passer au garage.  N’hésitez pas à me contacter pour plus d’informations (photos, factures, histovec) ou pour venir la voir."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:30 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:10:30 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 8/9 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188965032",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [
      "passé au garage"
    ],
    "negociabilite": "négociable",
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Climatisation",
      "Radar de recul",
      "Régulateur / limiteur de vitesse",
      "Autoradio",
      "Vitres électriques"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:30 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:10:30 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 9/9 (1 annonces) ━━━
3188966658: "Stop Affaire !!! Magnifique Peugeot 5008 Essence Allure 7 PLACES !!! Superbe Etat !!!  Clim Auto, Radars de Recul, Caméra, Allumage Automatique des Feux et Essuies Glaces, GPS, Sièges Arrière Rabattables, Sièges Coulissants, Bluetooth, Prise Jack, Prise USB, Régulateur et Limiteur de Vitesse, Frein à main électrique, Commandes au volant, Rétroviseurs électriques, Vitres Sur teintées, Jante Alu, 4 Vitres électriques, direction assistée, pack, ordinateur de bord, Toit Panoramique, affichage tête haute, 7 places etc...  N'hésitez pas à nous appeler pour de plus amples informations !!!  PRIX PROMO !!! Garantie et Révisée !!!  Professionnel de l'automobile spécialisé dans la vente de voitures multimarques à Toulouse depuis 30 ANS. Groupement de l'Occasion est une concession avec atelier, n'hésitez pas à nous appeler ou passez nous voir directement au 307, route de Seysses 31100 Toulouse. Taper Groupement de l'Occasion dans la barre de recherche du bon coin pour voir notre stock discount.scenic,touran,zafira,picasso"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:33 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:10:33 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 9/9 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188966658",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Clim Auto",
      "Radars de Recul",
      "Caméra",
      "Allumage Automatique des Feux et Essuies Glaces",
      "GPS",
      "Sièges Arrière Rabattables",
      "Sièges Coulissants",
      "Bluetooth",
      "Prise Jack",
      "Prise USB",
      "Régulateur de Vitesse",
      "Limiteur de Vitesse",
      "Frein à main électrique",
      "Commandes au volant",
      "Rétroviseurs électriques",
      "Vitres Sur teintées",
      "Jante Alu",
      "4 Vitres électriques",
      "Direction assistée",
      "Pack",
      "Ordinateur de bord",
      "Toit Panoramique",
      "Affichage tête haute",
      "7 places"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:10:33 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:10:33 [INFO] [5008] [STATS] Évaluations insérées : 9
2026-04-30 14:10:33 [INFO] [5008] [STATS] ANALYSE TERMINEE en 14.1s — 3380 annonces (run #945) — Modele: 5008
2026-04-30 14:10:34 [INFO] [5008] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model 5008
2026-04-30 14:10:34 [INFO] [5008] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-30 14:10:34 [INFO] [5008] [LLM] Annonces sans evaluation LLM : 0
2026-04-30 14:10:34 [INFO] [5008] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-30 14:10:34 [INFO] [5008] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model 5008
2026-04-30 14:10:35 [INFO] [5008] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-30 14:10:35 [INFO] [5008] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:10:35 [INFO] [5008] [LLM DESC] Champs actifs : 8
2026-04-30 14:10:35 [INFO] [5008] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-30 14:10:35 [INFO] [5008] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-30 14:10:35 [INFO] [fiesta] [LLM DESC] [7/8] FIESTA (brand=ford, pages=auto)
2026-04-30 14:10:35 [INFO] [fiesta] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=2&text=ford%20fiesta&price=3000-1000...
2026-04-30 14:10:35 [INFO] [fiesta] [SEARCH] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --model fiesta
2026-04-30 14:10:35 [INFO] [fiesta] [SEARCH] Recuperation de la page 1 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=1
2026-04-30 14:10:38 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-30 14:10:38 [INFO] [fiesta] [SEARCH] Recuperation de la page 2 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=2
2026-04-30 14:10:41 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-30 14:10:41 [INFO] [fiesta] [SEARCH] Recuperation de la page 3 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=3
2026-04-30 14:10:43 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-30 14:10:43 [INFO] [fiesta] [SEARCH] Recuperation de la page 4 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=4
2026-04-30 14:10:46 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-30 14:10:46 [INFO] [fiesta] [SEARCH] Recuperation de la page 5 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=5
2026-04-30 14:10:48 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-30 14:10:48 [INFO] [fiesta] [SEARCH] Recuperation de la page 6 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=6
2026-04-30 14:10:50 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-30 14:10:50 [INFO] [fiesta] [SEARCH] Recuperation de la page 7 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=7
2026-04-30 14:10:52 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 245)
2026-04-30 14:10:52 [INFO] [fiesta] [SEARCH] Recuperation de la page 8 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=8
2026-04-30 14:10:54 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 280)
2026-04-30 14:10:54 [INFO] [fiesta] [SEARCH] Recuperation de la page 9 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=9
2026-04-30 14:10:57 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 315)
2026-04-30 14:10:57 [INFO] [fiesta] [SEARCH] Recuperation de la page 10 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=10
2026-04-30 14:10:59 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 350)
2026-04-30 14:10:59 [INFO] [fiesta] [SEARCH] Recuperation de la page 11 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=11
2026-04-30 14:11:02 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 385)
2026-04-30 14:11:02 [INFO] [fiesta] [SEARCH] Recuperation de la page 12 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=12
2026-04-30 14:11:06 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 420)
2026-04-30 14:11:06 [INFO] [fiesta] [SEARCH] Recuperation de la page 13 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=13
2026-04-30 14:11:08 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 455)
2026-04-30 14:11:08 [INFO] [fiesta] [SEARCH] Recuperation de la page 14 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=14
2026-04-30 14:11:11 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 490)
2026-04-30 14:11:11 [INFO] [fiesta] [SEARCH] Recuperation de la page 15 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=15
2026-04-30 14:11:13 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 525)
2026-04-30 14:11:13 [INFO] [fiesta] [SEARCH] Recuperation de la page 16 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=16
2026-04-30 14:11:16 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 560)
2026-04-30 14:11:16 [INFO] [fiesta] [SEARCH] Recuperation de la page 17 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=17
2026-04-30 14:11:18 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 595)
2026-04-30 14:11:18 [INFO] [fiesta] [SEARCH] Recuperation de la page 18 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=18
2026-04-30 14:11:21 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 630)
2026-04-30 14:11:21 [INFO] [fiesta] [SEARCH] Recuperation de la page 19 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=19
2026-04-30 14:11:25 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 665)
2026-04-30 14:11:25 [INFO] [fiesta] [SEARCH] Recuperation de la page 20 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=20
2026-04-30 14:11:27 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 700)
2026-04-30 14:11:27 [INFO] [fiesta] [SEARCH] Recuperation de la page 21 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=21
2026-04-30 14:11:33 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 735)
2026-04-30 14:11:33 [INFO] [fiesta] [SEARCH] Recuperation de la page 22 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=22
2026-04-30 14:11:35 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 770)
2026-04-30 14:11:35 [INFO] [fiesta] [SEARCH] Recuperation de la page 23 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=23
2026-04-30 14:11:37 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 805)
2026-04-30 14:11:37 [INFO] [fiesta] [SEARCH] Recuperation de la page 24 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=24
2026-04-30 14:11:40 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 840)
2026-04-30 14:11:40 [INFO] [fiesta] [SEARCH] Recuperation de la page 25 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=25
2026-04-30 14:11:42 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 875)
2026-04-30 14:11:42 [INFO] [fiesta] [SEARCH] Recuperation de la page 26 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=26
2026-04-30 14:11:45 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 910)
2026-04-30 14:11:45 [INFO] [fiesta] [SEARCH] Recuperation de la page 27 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=27
2026-04-30 14:11:48 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 945)
2026-04-30 14:11:48 [INFO] [fiesta] [SEARCH] Recuperation de la page 28 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=28
2026-04-30 14:11:51 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 980)
2026-04-30 14:11:51 [INFO] [fiesta] [SEARCH] Recuperation de la page 29 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=29
2026-04-30 14:11:54 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1015)
2026-04-30 14:11:54 [INFO] [fiesta] [SEARCH] Recuperation de la page 30 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=30
2026-04-30 14:11:57 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1050)
2026-04-30 14:11:57 [INFO] [fiesta] [SEARCH] Recuperation de la page 31 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=31
2026-04-30 14:11:59 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1085)
2026-04-30 14:11:59 [INFO] [fiesta] [SEARCH] Recuperation de la page 32 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=32
2026-04-30 14:12:02 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1120)
2026-04-30 14:12:02 [INFO] [fiesta] [SEARCH] Recuperation de la page 33 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=33
2026-04-30 14:12:04 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1155)
2026-04-30 14:12:04 [INFO] [fiesta] [SEARCH] Recuperation de la page 34 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=34
2026-04-30 14:12:07 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1190)
2026-04-30 14:12:07 [INFO] [fiesta] [SEARCH] Recuperation de la page 35 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=35
2026-04-30 14:12:09 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1225)
2026-04-30 14:12:09 [INFO] [fiesta] [SEARCH] Recuperation de la page 36 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=36
2026-04-30 14:12:12 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1260)
2026-04-30 14:12:12 [INFO] [fiesta] [SEARCH] Recuperation de la page 37 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=37
2026-04-30 14:12:15 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1295)
2026-04-30 14:12:15 [INFO] [fiesta] [SEARCH] Recuperation de la page 38 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=38
2026-04-30 14:12:17 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1330)
2026-04-30 14:12:17 [INFO] [fiesta] [SEARCH] Recuperation de la page 39 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=39
2026-04-30 14:12:20 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1365)
2026-04-30 14:12:20 [INFO] [fiesta] [SEARCH] Recuperation de la page 40 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=40
2026-04-30 14:12:22 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1400)
2026-04-30 14:12:22 [INFO] [fiesta] [SEARCH] Recuperation de la page 41 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=41
2026-04-30 14:12:26 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1435)
2026-04-30 14:12:26 [INFO] [fiesta] [SEARCH] Recuperation de la page 42 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=42
2026-04-30 14:12:29 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1470)
2026-04-30 14:12:29 [INFO] [fiesta] [SEARCH] Recuperation de la page 43 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=43
2026-04-30 14:12:36 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1505)
2026-04-30 14:12:36 [INFO] [fiesta] [SEARCH] Recuperation de la page 44 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=44
2026-04-30 14:12:38 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1540)
2026-04-30 14:12:38 [INFO] [fiesta] [SEARCH] Recuperation de la page 45 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=45
2026-04-30 14:12:40 [INFO] [fiesta] [SEARCH] 11 annonces recuperees (total: 1551)
2026-04-30 14:12:40 [INFO] [fiesta] [SEARCH] Recuperation de la page 46 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=ford+fiesta&price=3000-10000&regdate=2014-max&u_car_brand=FORD&fuel=1%2C2&u_car_model=FORD_Fiesta&page=46
2026-04-30 14:12:42 [INFO] [fiesta] [SEARCH] Page 46 : aucune annonce, arret de la pagination.
2026-04-30 14:12:42 [INFO] [fiesta] [SEARCH] Termine : 1551 annonces au total dans /home/ubuntu/app/leboncoin_ads_fiesta_20260430_141035.csv
2026-04-30 14:12:42 [INFO] [fiesta] [SEARCH] CSV : leboncoin_ads_fiesta_20260430_141035.csv
2026-04-30 14:12:42 [INFO] [fiesta] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_fiesta_20260430_141035.csv --db /home/ubuntu/app/db/lbc.sqlite --model fiesta
2026-04-30 14:12:42 [INFO] [fiesta] [IMPORT] Model override : fiesta
2026-04-30 14:12:42 [INFO] [fiesta] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-30 14:12:42 [INFO] [fiesta] [IMPORT] Fichier: leboncoin_ads_fiesta_20260430_141035.csv
2026-04-30 14:12:42 [INFO] [fiesta] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:12:46 [INFO] [fiesta] [IMPORT] 1551 lus, 1551 inseres, 0 ignores, 0 erreurs
2026-04-30 14:12:46 [INFO] [fiesta] [IMPORT] TOTAL : 1551 lus, 1551 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:12:46 [INFO] [fiesta] [IMPORT] 15835 annonces en base
2026-04-30 14:12:46 [INFO] [fiesta] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_fiesta_20260430_141035.csv --brand ford --model fiesta --db /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:12:46 [INFO] [fiesta] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_fiesta_20260430_141035.csv, Brand: ford, Model: fiesta
2026-04-30 14:12:46 [INFO] [fiesta] [AVAILABILITY] 1525 list_id lus dans le CSV.
2026-04-30 14:12:46 [INFO] [fiesta] [AVAILABILITY] 1566 annonces actives en base pour ford fiesta.
2026-04-30 14:12:46 [INFO] [fiesta] [AVAILABILITY] 41 annonce(s) marquées indisponibles.
2026-04-30 14:12:46 [INFO] [fiesta] [AVAILABILITY] CSV: 1525, Actives DB: 1566, Absentes: 41
2026-04-30 14:12:46 [INFO] [fiesta] [AVAILABILITY] Marquees indisponibles: 41
2026-04-30 14:12:46 [INFO] [fiesta] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model fiesta --delay 0.5 --limit 200
2026-04-30 14:12:46 [INFO] [fiesta] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: fiesta — Limite: 200
2026-04-30 14:12:46 [INFO] [fiesta] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:12:46 [INFO] [fiesta] [DETAIL] 13 annonce(s) à enrichir (modèle: fiesta)
2026-04-30 14:13:06 [INFO] [fiesta] [DETAIL] Progression : 10/13 (enrichies: 10, introuvables: 0, erreurs: 0)
2026-04-30 14:13:15 [INFO] [fiesta] [DETAIL] RESULTAT : 13 traitee(s), 13 enrichies, 0 introuvables, 0 erreurs
2026-04-30 14:13:15 [INFO] [fiesta] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model fiesta --skip-plots
2026-04-30 14:13:15 [INFO] [fiesta] [STATS] ANALYSEUR LEBONCOIN — Base: /home/ubuntu/app/db/lbc.sqlite, Figures: /home/ubuntu/app/stats/fiesta/figures, Modele: fiesta, Graphiques: Non
2026-04-30 14:13:20 [INFO] [fiesta] [STATS] Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-04-30 14:13:20 [INFO] [fiesta] [STATS] Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-04-30 14:13:21 [INFO] [fiesta] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-30 14:13:21 [INFO] [fiesta] [STATS] Annonces sans evaluation LLM : 13
2026-04-30 14:13:30 [INFO] [fiesta] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:13:30 [INFO] [fiesta] [STATS] LLM OUTPUT batch 1/1: 13 resultats extraits (modele=gpt-4.1-mini)
2026-04-30 14:13:30 [INFO] [fiesta] [STATS] Resultats extraits : 13
2026-04-30 14:13:30 [INFO] [fiesta] [STATS] Evaluations inserees : 13
2026-04-30 14:13:32 [INFO] [fiesta] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-30 14:13:32 [INFO] [fiesta] [STATS]   modele_regression : 2 lignes insérées
2026-04-30 14:13:32 [INFO] [fiesta] [STATS]   referentiel_prix : 60 segments insérés
2026-04-30 14:13:35 [INFO] [fiesta] [STATS]   ads.deal_columns : 3703 annonces mises à jour
2026-04-30 14:13:35 [INFO] [fiesta] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-30 14:13:35 [INFO] [fiesta] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:13:35 [INFO] [fiesta] [STATS] Champs actifs : 8
2026-04-30 14:13:35 [INFO] [fiesta] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 5
2026-04-30 14:13:35 [INFO] [fiesta] [STATS] ━━━ LLM DESC SYSTEM PROMPT ━━━
Tu es un expert automobile français. On te donne des descriptions d'annonces de véhicules d'occasion avec leur identifiant.

Pour chaque annonce, extrais depuis la description les informations suivantes :
- courroie_changee : true si la courroie de distribution a été changée ou remplacée, false si explicitement non changée, null si non mentionné
- embrayage_change : true si l'embrayage est neuf ou a été remplacé, false si explicitement non changé, null si non mentionné
- travaux_recents : liste des travaux ou réparations récentes mentionnés dans la description (ex: 'freins refaits', 'pneus neufs', 'vidange faite'). Liste vide si aucun.
- negociabilite : négociable si le vendeur indique être ouvert aux offres, ferme si le prix est indiqué ferme, null si non mentionné
- contexte_vente : contexte notable de la vente s'il est mentionné (ex: 'urgent', 'déménagement', 'décès', 'achat neuf'). null si rien de notable
- nb_proprietaires : nombre de propriétaires du véhicule si mentionné (ex: 1 pour '1ère main', 2 pour '2ème main'). null si non mentionné
- options_description : liste des équipements et options cités dans la description (ex: 'GPS', 'Caméra recul', 'Clim auto', 'Toit ouvrant'). Liste vide si aucun.
- accidente : true si le véhicule a subi un accident, un choc, une collision, des airbags déclenchés ou une carrosserie endommagée mentionné explicitement. false si le vendeur indique explicitement non accidenté ou sans accident. null si non mentionné.

Règles :
- Extrais UNIQUEMENT ce qui est explicitement dans la description
- Ne déduis pas, n'invente pas
- Pour les champs de type liste, retourne une liste vide si rien n'est mentionné
- Conserve le list_id exact tel que fourni
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:13:35 [INFO] [fiesta] [STATS] ━━━ LLM DESC INPUT batch 1/5 (1 annonces) ━━━
3188825429: "Je vends ma Ford Fiesta Trend de 2015, une citadine pratique et économique. - Marque : Ford - Modèle : Fiesta - Année : 2015 - Kilométrage : 126 000 km - Motorisation : 1.25 82ch - Carburant : Essence - Boîte de vitesses : Manuelle - Nombre de portes : 5 - Nombre de sièges : 5 - Puissance fiscale : 5 CV - Couleur : Argent - Crit'Air : 1 - Contrôle technique : Valide jusqu'en 03/2028 contact pour plus d'informations"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:13:36 [INFO] [fiesta] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:13:36 [INFO] [fiesta] [STATS] ━━━ LLM DESC OUTPUT batch 1/5 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188825429",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:13:36 [INFO] [fiesta] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:13:36 [INFO] [fiesta] [STATS] ━━━ LLM DESC INPUT batch 2/5 (1 annonces) ━━━
3188858860: "Je vends ma Ford Fiesta EcoBoost 1.0 essence de 2016 avec 136 300 km au compteur. - Marque : Ford - Modèle : Fiesta - Année : 2016 - Kilométrage : 136 300 km - Motorisation : 1.0 EcoBoost  - Carburant : Essence - Boîte de vitesses : Manuelle - Nombre de portes : 5 - Nombre de sièges : 5 - Couleur : Noir - Crit'Air : 1 - Contrôle technique : fait le 21/04/2026 Valide jusqu'en 04/2028  Kit distribution change  Entretien faire  Bougies change  Pneumatique récemment  Disque et plaquettes de frein récemment  Roule tous les jours par contre toute distance  Carrosserie propre intérieur propre  Rien à prévoir   Option  Fermeture centralisée  Direction assistée  Volant réglable multifonction  Climatisation automatique  Phare automatique  Essuie-glace automatique  Régulateur de vitesse  Radio cd connexion bluetooth   N'hésitez pas à me contacter pour plus d'informations ou pour convenir d'un essai."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:13:38 [INFO] [fiesta] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:13:38 [INFO] [fiesta] [STATS] ━━━ LLM DESC OUTPUT batch 2/5 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188858860",
    "courroie_changee": true,
    "embrayage_change": null,
    "travaux_recents": [
      "entretien fait",
      "bougies changées",
      "pneumatiques récents",
      "disques et plaquettes de frein récents"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "fermeture centralisée",
      "direction assistée",
      "volant réglable multifonction",
      "climatisation automatique",
      "phare automatique",
      "essuie-glace automatique",
      "régulateur de vitesse",
      "radio cd connexion bluetooth"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:13:38 [INFO] [fiesta] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:13:38 [INFO] [fiesta] [STATS] ━━━ LLM DESC INPUT batch 3/5 (1 annonces) ━━━
3188957014: "Vend Ford Fiesta 75ch Année 2016 - 173 000km Diesel - boîte manuelle.  Véhicule en bon état, Véhicule entretenu, courroie de distribution faite dans un garage Ford en novembre 2025 (facture à l'appuie). Double des clés fonctionnel. Pneus avant neuf avec en supplément deux jantes tôles avec pneus neige vendues avec le véhicule. Contrôle technique Ok. Plaquettes avant neuves. Disponible de suite."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:13:40 [INFO] [fiesta] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:13:40 [INFO] [fiesta] [STATS] ━━━ LLM DESC OUTPUT batch 3/5 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188957014",
    "courroie_changee": true,
    "embrayage_change": null,
    "travaux_recents": [
      "courroie de distribution faite",
      "pneus avant neufs",
      "plaquettes avant neuves"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:13:40 [INFO] [fiesta] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:13:40 [INFO] [fiesta] [STATS] ━━━ LLM DESC INPUT batch 4/5 (1 annonces) ━━━
3188958076: "Je propose à la vente une Ford Fiesta 3 portes mise en circulation en 2014, équipée du moteur 1.25i 16V 60 ch, reconnu pour sa fiabilité et sa faible consommation.  🔹 96 924 km  🔹 Seconde main (acquise en 2022) 🔹 Teinte noire intemporelle 🔹 Entretien régulier et sérieux  Cette citadine offre un excellent compromis entre confort, maniabilité et coût d’utilisation réduit, idéale aussi bien pour un jeune conducteur que pour un usage quotidien.  À noter : présence de quelques légères imperfections esthétiques, cohérentes avec son âge, sans incidence sur ses performances ou son bon état général.  Véhicule sain, prêt à rouler.   Prix : 5 490 €   Disponible pour toute information complémentaire ou pour organiser une visite."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:13:41 [INFO] [fiesta] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:13:41 [INFO] [fiesta] [STATS] ━━━ LLM DESC OUTPUT batch 4/5 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188958076",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": 2,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:13:41 [INFO] [fiesta] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:13:41 [INFO] [fiesta] [STATS] ━━━ LLM DESC INPUT batch 5/5 (1 annonces) ━━━
3188970479: "Ford Fiesta VII 7 1.1 86 BUSINESS APPLE CARPLAY ANDROID AUTO GARANTIE 12 MOIS******, berline, blanc, 5 cv, 5 portes, première mise en circulation le 18/03/2019.  5 places  OPTIONS ET ÉQUIPEMENTS : Audio - Télécommunications :   - GPS   - Prise audio auxilliaire : usb   - commande   - radio  Conduite :   - Allumage automatique des feux   - limiteur de vitesse   - régulateur de vitesse   - sièges sport  Extérieur :   - Radar de recul   - radar d'aide au stationnement  Intérieur :   - Accoudoir central   - climatisation : manuelle   - non fumeur   - ordinateur de bord   - vitres électriques   - volant cuir  Pack :   - volant multifonctions   - volant réglable  Sécurité :   - ABS   - Airbags frontaux   - ESP   - contrôle pression des pneus  Autres équipements et informations :   - GPS tactile   - commandes à contrôle vocal (auto-radio, navigation ou autre)  Disponible tout de suite.   Visible du lundi au samedi de 9h30 à 18h30. Possibilité de visite virtuelle : photos et vidéos complémentaires, envoi de l'entretien complet du véhicule et autres informations complémentaires (Whattsapp, SMS, Factetime..) Livraison possible sur toute la France en 48/72h (sur Devis). Possibilité de reprise cash sur tous types de véhicules. Solutions de financements adaptées et personnalisées. Possibilité d’extensions de Garantie jusqu'à 5 ans, pièces et main d'œuvre dans toute la France et l'Europe avec assistance 24h/24 et 7j/7, Nous sommes agrées SIV et pouvons réaliser votre carte grise SUR PLACE ..."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:13:44 [INFO] [fiesta] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:13:44 [INFO] [fiesta] [STATS] ━━━ LLM DESC OUTPUT batch 5/5 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188970479",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "GPS",
      "Prise audio auxilliaire usb",
      "commande radio",
      "Allumage automatique des feux",
      "limiteur de vitesse",
      "régulateur de vitesse",
      "sièges sport",
      "Radar de recul",
      "radar d'aide au stationnement",
      "Accoudoir central",
      "climatisation manuelle",
      "non fumeur",
      "ordinateur de bord",
      "vitres électriques",
      "volant cuir",
      "volant multifonctions",
      "volant réglable",
      "ABS",
      "Airbags frontaux",
      "ESP",
      "contrôle pression des pneus",
      "GPS tactile",
      "commandes à contrôle vocal"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:13:44 [INFO] [fiesta] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:13:44 [INFO] [fiesta] [STATS] Évaluations insérées : 5
2026-04-30 14:13:44 [INFO] [fiesta] [STATS] ANALYSE TERMINEE en 15.2s — 3703 annonces (run #946) — Modele: fiesta
2026-04-30 14:13:44 [INFO] [fiesta] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model fiesta
2026-04-30 14:13:45 [INFO] [fiesta] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-30 14:13:45 [INFO] [fiesta] [LLM] Annonces sans evaluation LLM : 0
2026-04-30 14:13:45 [INFO] [fiesta] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-30 14:13:45 [INFO] [fiesta] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model fiesta
2026-04-30 14:13:46 [INFO] [fiesta] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-30 14:13:46 [INFO] [fiesta] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:13:46 [INFO] [fiesta] [LLM DESC] Champs actifs : 8
2026-04-30 14:13:46 [INFO] [fiesta] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-30 14:13:46 [INFO] [fiesta] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-30 14:13:46 [INFO] [nv200] [LLM DESC] [8/8] NV200 (brand=nissan, pages=auto)
2026-04-30 14:13:46 [INFO] [nv200] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=5&text=nv200&u_utility_brand=NISSAN&...
2026-04-30 14:13:46 [INFO] [nv200] [SEARCH] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/crawler/leboncoin_search_export.py --output-file /home/ubuntu/app/leboncoin_ads.csv --model nv200
2026-04-30 14:13:46 [INFO] [nv200] [SEARCH] Recuperation de la page 1 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=nv200&u_utility_brand=NISSAN&u_utility_model=NISSAN_NV200&fuel=2&page=1
2026-04-30 14:13:48 [INFO] [nv200] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-30 14:13:48 [INFO] [nv200] [SEARCH] Recuperation de la page 2 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=nv200&u_utility_brand=NISSAN&u_utility_model=NISSAN_NV200&fuel=2&page=2
2026-04-30 14:13:50 [INFO] [nv200] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-30 14:13:50 [INFO] [nv200] [SEARCH] Recuperation de la page 3 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=nv200&u_utility_brand=NISSAN&u_utility_model=NISSAN_NV200&fuel=2&page=3
2026-04-30 14:13:54 [INFO] [nv200] [SEARCH] 34 annonces recuperees (total: 104)
2026-04-30 14:13:54 [INFO] [nv200] [SEARCH] Recuperation de la page 4 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=nv200&u_utility_brand=NISSAN&u_utility_model=NISSAN_NV200&fuel=2&page=4
2026-04-30 14:13:55 [INFO] [nv200] [SEARCH] Page 4 : aucune annonce, arret de la pagination.
2026-04-30 14:13:55 [INFO] [nv200] [SEARCH] Termine : 104 annonces au total dans /home/ubuntu/app/leboncoin_ads_nv200_20260430_141346.csv
2026-04-30 14:13:55 [INFO] [nv200] [SEARCH] CSV : leboncoin_ads_nv200_20260430_141346.csv
2026-04-30 14:13:55 [INFO] [nv200] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_nv200_20260430_141346.csv --db /home/ubuntu/app/db/lbc.sqlite --model nv200
2026-04-30 14:13:55 [INFO] [nv200] [IMPORT] Model override : nv200
2026-04-30 14:13:55 [INFO] [nv200] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-30 14:13:55 [INFO] [nv200] [IMPORT] Fichier: leboncoin_ads_nv200_20260430_141346.csv
2026-04-30 14:13:55 [INFO] [nv200] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:13:55 [INFO] [nv200] [IMPORT] 104 lus, 104 inseres, 0 ignores, 0 erreurs
2026-04-30 14:13:55 [INFO] [nv200] [IMPORT] TOTAL : 104 lus, 104 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:13:55 [INFO] [nv200] [IMPORT] 15837 annonces en base
2026-04-30 14:13:55 [INFO] [nv200] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_nv200_20260430_141346.csv --brand nissan --model nv200 --db /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:13:55 [INFO] [nv200] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_nv200_20260430_141346.csv, Brand: nissan, Model: nv200
2026-04-30 14:13:55 [INFO] [nv200] [AVAILABILITY] 104 list_id lus dans le CSV.
2026-04-30 14:13:55 [INFO] [nv200] [AVAILABILITY] 105 annonces actives en base pour nissan nv200.
2026-04-30 14:13:55 [INFO] [nv200] [AVAILABILITY] 1 annonce(s) marquées indisponibles.
2026-04-30 14:13:55 [INFO] [nv200] [AVAILABILITY] CSV: 104, Actives DB: 105, Absentes: 1
2026-04-30 14:13:55 [INFO] [nv200] [AVAILABILITY] Marquees indisponibles: 1
2026-04-30 14:13:55 [INFO] [nv200] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model nv200 --delay 0.5 --limit 200
2026-04-30 14:13:55 [INFO] [nv200] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: nv200 — Limite: 200
2026-04-30 14:13:55 [INFO] [nv200] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:13:55 [INFO] [nv200] [DETAIL] 2 annonce(s) à enrichir (modèle: nv200)
2026-04-30 14:13:59 [INFO] [nv200] [DETAIL] RESULTAT : 2 traitee(s), 2 enrichies, 0 introuvables, 0 erreurs
2026-04-30 14:13:59 [INFO] [nv200] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model nv200 --skip-plots
2026-04-30 14:13:59 [INFO] [nv200] [STATS] ANALYSEUR LEBONCOIN — Base: /home/ubuntu/app/db/lbc.sqlite, Figures: /home/ubuntu/app/stats/nv200/figures, Modele: nv200, Graphiques: Non
2026-04-30 14:14:02 [INFO] [nv200] [STATS] Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-04-30 14:14:02 [INFO] [nv200] [STATS] Using categorical units to plot a list of strings that are all parsable as floats or dates. If these strings should be plotted as numbers, cast to the appropriate data type before plotting.
2026-04-30 14:14:03 [INFO] [nv200] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-30 14:14:03 [INFO] [nv200] [STATS] Annonces sans evaluation LLM : 2
2026-04-30 14:14:06 [INFO] [nv200] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:14:06 [INFO] [nv200] [STATS] LLM OUTPUT batch 1/1: 2 resultats extraits (modele=gpt-4.1-mini)
2026-04-30 14:14:06 [INFO] [nv200] [STATS] Resultats extraits : 2
2026-04-30 14:14:06 [INFO] [nv200] [STATS] Evaluations inserees : 2
2026-04-30 14:14:06 [INFO] [nv200] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-30 14:14:06 [INFO] [nv200] [STATS]   modele_regression : 2 lignes insérées
2026-04-30 14:14:06 [INFO] [nv200] [STATS]   referentiel_prix : 55 segments insérés
2026-04-30 14:14:06 [INFO] [nv200] [STATS]   ads.deal_columns : 358 annonces mises à jour
2026-04-30 14:14:06 [INFO] [nv200] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-30 14:14:07 [INFO] [nv200] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:14:07 [INFO] [nv200] [STATS] Champs actifs : 8
2026-04-30 14:14:07 [INFO] [nv200] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 1
2026-04-30 14:14:07 [INFO] [nv200] [STATS] ━━━ LLM DESC SYSTEM PROMPT ━━━
Tu es un expert automobile français. On te donne des descriptions d'annonces de véhicules d'occasion avec leur identifiant.

Pour chaque annonce, extrais depuis la description les informations suivantes :
- courroie_changee : true si la courroie de distribution a été changée ou remplacée, false si explicitement non changée, null si non mentionné
- embrayage_change : true si l'embrayage est neuf ou a été remplacé, false si explicitement non changé, null si non mentionné
- travaux_recents : liste des travaux ou réparations récentes mentionnés dans la description (ex: 'freins refaits', 'pneus neufs', 'vidange faite'). Liste vide si aucun.
- negociabilite : négociable si le vendeur indique être ouvert aux offres, ferme si le prix est indiqué ferme, null si non mentionné
- contexte_vente : contexte notable de la vente s'il est mentionné (ex: 'urgent', 'déménagement', 'décès', 'achat neuf'). null si rien de notable
- nb_proprietaires : nombre de propriétaires du véhicule si mentionné (ex: 1 pour '1ère main', 2 pour '2ème main'). null si non mentionné
- options_description : liste des équipements et options cités dans la description (ex: 'GPS', 'Caméra recul', 'Clim auto', 'Toit ouvrant'). Liste vide si aucun.
- accidente : true si le véhicule a subi un accident, un choc, une collision, des airbags déclenchés ou une carrosserie endommagée mentionné explicitement. false si le vendeur indique explicitement non accidenté ou sans accident. null si non mentionné.

Règles :
- Extrais UNIQUEMENT ce qui est explicitement dans la description
- Ne déduis pas, n'invente pas
- Pour les champs de type liste, retourne une liste vide si rien n'est mentionné
- Conserve le list_id exact tel que fourni
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:14:07 [INFO] [nv200] [STATS] ━━━ LLM DESC INPUT batch 1/1 (1 annonces) ━━━
3188838963: "Vend Nissan NV200 -130000KM- Bon état  Prix 7900€ Année 2017 Kilométrage 130000km Motorisation 1.5l diesel Boite manuelle Nombre de place 2 Porte latérale +porte arrière"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:14:08 [INFO] [nv200] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-30 14:14:08 [INFO] [nv200] [STATS] ━━━ LLM DESC OUTPUT batch 1/1 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188838963",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "porte latérale",
      "porte arrière"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-30 14:14:08 [INFO] [nv200] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-30 14:14:08 [INFO] [nv200] [STATS] Évaluations insérées : 1
2026-04-30 14:14:08 [INFO] [nv200] [STATS] ANALYSE TERMINEE en 6.9s — 358 annonces (run #947) — Modele: nv200
2026-04-30 14:14:09 [INFO] [nv200] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model nv200
2026-04-30 14:14:09 [INFO] [nv200] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-30 14:14:09 [INFO] [nv200] [LLM] Annonces sans evaluation LLM : 0
2026-04-30 14:14:09 [INFO] [nv200] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-30 14:14:09 [INFO] [nv200] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model nv200
2026-04-30 14:14:10 [INFO] [nv200] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-30 14:14:10 [INFO] [nv200] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-30 14:14:10 [INFO] [nv200] [LLM DESC] Champs actifs : 8
2026-04-30 14:14:10 [INFO] [nv200] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-30 14:14:10 [INFO] [nv200] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-30 14:14:10 [INFO] [nv200] [LLM DESC] .env restaure
2026-04-30 14:14:10 [INFO] [GLOBAL] [SUMMARY] clio_4               -> OK
2026-04-30 14:14:10 [INFO] [GLOBAL] [SUMMARY] i20                  -> OK
2026-04-30 14:14:10 [INFO] [GLOBAL] [SUMMARY] berlingo             -> OK
2026-04-30 14:14:10 [INFO] [GLOBAL] [SUMMARY] c4                   -> OK
2026-04-30 14:14:10 [INFO] [GLOBAL] [SUMMARY] scenic               -> OK
2026-04-30 14:14:10 [INFO] [GLOBAL] [SUMMARY] 5008                 -> OK
2026-04-30 14:14:10 [INFO] [GLOBAL] [SUMMARY] fiesta               -> OK
2026-04-30 14:14:10 [INFO] [GLOBAL] [SUMMARY] nv200                -> OK
2026-04-30 14:14:10 [INFO] [GLOBAL] [SUMMARY] Summary ecrit dans /home/ubuntu/app/logs/crawl/20260430_140000/_summary.json