Administration

← Retour

Log : 20260428_080000

OK
Durée : 758s 8 OK 5465 annonces
clio_4 i20 berlingo c4 scenic 5008 fiesta nv200
2026-04-28 08:00:00 [INFO] [GLOBAL] [INIT] CRAWL ALL — 8 modele(s)
2026-04-28 08:00:00 [INFO] [clio_4] [INIT] [1/8] CLIO_4 (brand=renault, pages=auto)
2026-04-28 08:00:00 [INFO] [clio_4] [INIT] URL: https://www.leboncoin.fr/recherche?category=2&text=clio%204&price=3000-9000&regd...
2026-04-28 08: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-28 08: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-28 08:00:04 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-28 08:00:04 [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-28 08:00:07 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-28 08:00:07 [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-28 08:00:11 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-28 08:00:11 [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-28 08:00:16 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-28 08:00:16 [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-28 08:00:21 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-28 08:00:21 [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-28 08:00:23 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-28 08:00:23 [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-28 08:00:25 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 245)
2026-04-28 08:00:25 [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-28 08:00:28 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 280)
2026-04-28 08:00:28 [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-28 08:00:30 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 315)
2026-04-28 08:00:30 [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-28 08:00:32 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 350)
2026-04-28 08:00:32 [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-28 08:00:34 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 385)
2026-04-28 08:00:34 [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-28 08:00:37 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 420)
2026-04-28 08:00:37 [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-28 08:00:39 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 455)
2026-04-28 08:00:39 [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-28 08:00:41 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 490)
2026-04-28 08:00:41 [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-28 08:00:47 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 525)
2026-04-28 08:00:47 [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-28 08:00:50 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 560)
2026-04-28 08:00:50 [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-28 08:00:52 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 595)
2026-04-28 08:00:52 [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-28 08:00:54 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 630)
2026-04-28 08:00:54 [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-28 08:00:59 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 665)
2026-04-28 08:00:59 [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-28 08:01:01 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 700)
2026-04-28 08:01:01 [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-28 08:01:04 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 735)
2026-04-28 08:01:04 [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-28 08:01:06 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 770)
2026-04-28 08:01:06 [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-28 08:01:08 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 805)
2026-04-28 08:01:08 [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-28 08:01:16 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 840)
2026-04-28 08:01:16 [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-28 08:01:18 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 875)
2026-04-28 08:01:18 [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-28 08:01:21 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 910)
2026-04-28 08:01:21 [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-28 08:01:23 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 945)
2026-04-28 08:01:23 [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-28 08:01:26 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 980)
2026-04-28 08:01:26 [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-28 08:01:28 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1015)
2026-04-28 08:01:28 [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-28 08:01:30 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1050)
2026-04-28 08: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-28 08:01:32 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1085)
2026-04-28 08: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-28 08:01:36 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1120)
2026-04-28 08:01:36 [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-28 08:01:41 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1155)
2026-04-28 08:01:41 [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-28 08:01:43 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1190)
2026-04-28 08:01:43 [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-28 08:01:45 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1225)
2026-04-28 08: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-28 08:01:48 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1260)
2026-04-28 08:01:48 [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-28 08:01:50 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1295)
2026-04-28 08: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-28 08:01:53 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1330)
2026-04-28 08: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-28 08:01:55 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1365)
2026-04-28 08: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-28 08:01:59 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1400)
2026-04-28 08:01:59 [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-28 08:02:02 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1435)
2026-04-28 08:02:02 [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-28 08:02:04 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1470)
2026-04-28 08:02:04 [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-28 08:02:07 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1505)
2026-04-28 08:02:07 [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-28 08:02:10 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1540)
2026-04-28 08:02:10 [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-28 08:02:15 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1575)
2026-04-28 08:02:15 [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-28 08:02:18 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1610)
2026-04-28 08:02:18 [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-28 08:02:20 [INFO] [clio_4] [SEARCH] 11 annonces recuperees (total: 1621)
2026-04-28 08:02:20 [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-28 08:02:21 [INFO] [clio_4] [SEARCH] Page 48 : aucune annonce, arret de la pagination.
2026-04-28 08:02:21 [INFO] [clio_4] [SEARCH] Termine : 1621 annonces au total dans /home/ubuntu/app/leboncoin_ads_clio_4_20260428_080000.csv
2026-04-28 08:02:21 [INFO] [clio_4] [SEARCH] CSV : leboncoin_ads_clio_4_20260428_080000.csv
2026-04-28 08:02:21 [INFO] [clio_4] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_clio_4_20260428_080000.csv --db /home/ubuntu/app/db/lbc.sqlite --model clio_4
2026-04-28 08:02:21 [INFO] [clio_4] [IMPORT] Model override : clio_4
2026-04-28 08:02:21 [INFO] [clio_4] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-28 08:02:21 [INFO] [clio_4] [IMPORT] Fichier: leboncoin_ads_clio_4_20260428_080000.csv
2026-04-28 08:02:21 [INFO] [clio_4] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:02:25 [INFO] [clio_4] [IMPORT] 1621 lus, 1621 inseres, 0 ignores, 0 erreurs
2026-04-28 08:02:25 [INFO] [clio_4] [IMPORT] TOTAL : 1621 lus, 1621 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:02:25 [INFO] [clio_4] [IMPORT] 15262 annonces en base
2026-04-28 08:02:25 [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_20260428_080000.csv --brand renault --model clio_4 --db /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:02:25 [INFO] [clio_4] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_clio_4_20260428_080000.csv, Brand: renault, Model: clio_4
2026-04-28 08:02:25 [INFO] [clio_4] [AVAILABILITY] 1607 list_id lus dans le CSV.
2026-04-28 08:02:25 [INFO] [clio_4] [AVAILABILITY] 1634 annonces actives en base pour renault clio_4.
2026-04-28 08:02:25 [INFO] [clio_4] [AVAILABILITY] 27 annonce(s) marquées indisponibles.
2026-04-28 08:02:25 [INFO] [clio_4] [AVAILABILITY] CSV: 1607, Actives DB: 1634, Absentes: 27
2026-04-28 08:02:25 [INFO] [clio_4] [AVAILABILITY] Marquees indisponibles: 27
2026-04-28 08:02:25 [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-28 08:02:26 [INFO] [clio_4] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: clio_4 — Limite: 200
2026-04-28 08:02:26 [INFO] [clio_4] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:02:26 [INFO] [clio_4] [DETAIL] 13 annonce(s) à enrichir (modèle: clio_4)
2026-04-28 08:02:45 [INFO] [clio_4] [DETAIL] Progression : 10/13 (enrichies: 10, introuvables: 0, erreurs: 0)
2026-04-28 08:02:51 [INFO] [clio_4] [DETAIL] RESULTAT : 13 traitee(s), 13 enrichies, 0 introuvables, 0 erreurs
2026-04-28 08:02:51 [INFO] [clio_4] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model clio_4 --skip-plots
2026-04-28 08:02:52 [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-28 08:02:57 [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-28 08:02:57 [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-28 08:02:58 [INFO] [clio_4] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 08:02:58 [INFO] [clio_4] [STATS] Annonces sans evaluation LLM : 13
2026-04-28 08:03:10 [INFO] [clio_4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:03:10 [INFO] [clio_4] [STATS] LLM OUTPUT batch 1/1: 13 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 08:03:10 [INFO] [clio_4] [STATS] Resultats extraits : 13
2026-04-28 08:03:10 [INFO] [clio_4] [STATS] Evaluations inserees : 13
2026-04-28 08:03:12 [INFO] [clio_4] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-28 08:03:12 [INFO] [clio_4] [STATS]   modele_regression : 2 lignes insérées
2026-04-28 08:03:12 [INFO] [clio_4] [STATS]   referentiel_prix : 55 segments insérés
2026-04-28 08:03:13 [INFO] [clio_4] [STATS]   ads.deal_columns : 5471 annonces mises à jour
2026-04-28 08:03:13 [INFO] [clio_4] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 08:03:13 [INFO] [clio_4] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:03:13 [INFO] [clio_4] [STATS] Champs actifs : 8
2026-04-28 08:03:14 [INFO] [clio_4] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 4
2026-04-28 08:03:14 [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-28 08:03:14 [INFO] [clio_4] [STATS] ━━━ LLM DESC INPUT batch 1/4 (1 annonces) ━━━
3154325879: "Renault CLIO IV ESTATE 1.5 DCI 90CH ENERGY INTENS, (Break), BEIGE, 4cv, 5 portes, mise en circulation le 17-06-2016, garantie 12 mois (12 MOIS).  5 places, couleur intérieur : NOIR, longueur : 4,27 mètres, boîte de vitesse : manuelle  OPTIONS ET EQUIPEMENTS : Audio - Télécommunications - Ecran tactile - Kit mains-libres Bluetooth  Conduite - Aide au démarrage en côte - Arrêt et redémarrage auto. du moteur - Capteur de luminosité - Capteur de pluie - Commande Mode ECO - Démarrage sans clé - Limiteur de vitesse - Régulateur de vitesse - Système d'accès sans clé  Extérieur - Feux de jour à LED - JA 16' Pulsize diamantées Noir - Jantes Alu - Rétroviseurs dégivrants - Rétroviseurs électriques  Intérieur - Clim automatique - Ecran multifonction couleur - Ordinateur de bord - Vitres arrière électriques - Volant cuir  Sécurité - ABS - Aide au freinage d'urgence - ESP  Autres équipements et informations : - Caméra de recul - Noir Etoilé  Kilométrage non garanti.  Référence annonce : 9126"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:03:17 [INFO] [clio_4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:03:17 [INFO] [clio_4] [STATS] ━━━ LLM DESC OUTPUT batch 1/4 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3154325879",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Audio - Télécommunications",
      "Ecran tactile",
      "Kit mains-libres Bluetooth",
      "Aide au démarrage en côte",
      "Arrêt et redémarrage auto. du moteur",
      "Capteur de luminosité",
      "Capteur de pluie",
      "Commande Mode ECO",
      "Démarrage sans clé",
      "Limiteur de vitesse",
      "Régulateur de vitesse",
      "Système d'accès sans clé",
      "Feux de jour à LED",
      "JA 16' Pulsize diamantées Noir",
      "Jantes Alu",
      "Rétroviseurs dégivrants",
      "Rétroviseurs électriques",
      "Clim automatique",
      "Ecran multifonction couleur",
      "Ordinateur de bord",
      "Vitres arrière électriques",
      "Volant cuir",
      "ABS",
      "Aide au freinage d'urgence",
      "ESP",
      "Caméra de recul"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:03:17 [INFO] [clio_4] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:03:17 [INFO] [clio_4] [STATS] ━━━ LLM DESC INPUT batch 2/4 (1 annonces) ━━━
3187618759: "RENAULT CLIO IV TCe 90 Zen, berline, blanc, 5 cv, 5 portes, première mise en circulation le 24/10/2016, garantie : 3 mois.  Prix TTC : 5 490 €  5 places  OPTIONS ET ÉQUIPEMENTS : Audio - Télécommunications :   - Interface Bluetooth   - Lecteur MP3  Extérieur :   - Becquet arrière   - Rétroviseurs extérieurs dégivrants   - Rétroviseurs extérieurs électriques   - Vitres teintées  Intérieur :   - Climatisation manuelle   - Lève-vitres avant électriques   - Siège conducteur réglable en hauteur   - Vitre arrière chauffante   - Volant en cuir  Pack :   - Appuie-tête arrière   - Assistance de freinage   - Garnitures intérieures carbone   - Verrouillage centralisé  Sécurité :   - Airbag conducteur   - Airbag passager   - Contrôle pression pneus (RDC)   - Fixation pour siège enfant   - Kit de réparation pneus (Mobile Tyre)   - Phares antibrouillard  Autres équipements et informations :   - Ceinture centrale arrière 3 points   - Pneus spéciaux   - Système anti bloquage (ABS)   - USB jack   - consommation extra urbaine: 4.10l/100  - consommation urbaine: 5.70l/100  - consommation mixte: 4.70l/100  Nombreuses autres options, nous contacter pour plus d'informations - Entretien à jour - Contrôle technique OK - GARANTIE 3 MOIS - Boite de Vitesse, Moteur, Pont - Reprise possible de votre ancien véhicule.   Nous ne proposons ni financement, ni facilité de paiement pour l'achat de nos véhicules -    Des erreurs sont susceptibles de se glisser dans nos annonces, aussi contactez nous pour une pa..."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:03:19 [INFO] [clio_4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:03:19 [INFO] [clio_4] [STATS] ━━━ LLM DESC OUTPUT batch 2/4 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187618759",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Interface Bluetooth",
      "Lecteur MP3",
      "Becquet arrière",
      "Rétroviseurs extérieurs dégivrants",
      "Rétroviseurs extérieurs électriques",
      "Vitres teintées",
      "Climatisation manuelle",
      "Lève-vitres avant électriques",
      "Siège conducteur réglable en hauteur",
      "Vitre arrière chauffante",
      "Volant en cuir",
      "Appuie-tête arrière",
      "Assistance de freinage",
      "Garnitures intérieures carbone",
      "Verrouillage centralisé",
      "Airbag conducteur",
      "Airbag passager",
      "Contrôle pression pneus (RDC)",
      "Fixation pour siège enfant",
      "Kit de réparation pneus (Mobile Tyre)",
      "Phares antibrouillard",
      "Ceinture centrale arrière 3 points",
      "Pneus spéciaux",
      "Système anti bloquage (ABS)",
      "USB jack"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:03:19 [INFO] [clio_4] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:03:19 [INFO] [clio_4] [STATS] ━━━ LLM DESC INPUT batch 3/4 (1 annonces) ━━━
3187665228: "Je vends ma Renault Clio 4 Limited de 2019 avec 140 000 km au compteur. - Marque : Renault - Modèle : Clio - Année : 2019 - Kilométrage : 140 000 km - Motorisation : 0.9 TCe 75ch - Carburant : Essence - Boîte de vitesses : Manuelle - Finition : Limited - Couleur : Noir - Nombre de portes : 5 - Nombre de sièges : 5 - Puissance fiscale : 4 Cv N'hésitez pas à me contacter pour plus d'informations ou pour convenir d'un essai.  Détails du véhicule :  • Moteur : 0.9 TCE, économique et performant • Couleur : Noir  • Équipements :  • Climatisation  • Système audio avec Bluetooth  • GPS intégré  • Jantes en alliage  • Vitres électriques  La voiture est en bon état tant extérieur qu’intérieur, avec quelques petites marques d’usage normales."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:03:21 [INFO] [clio_4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:03:21 [INFO] [clio_4] [STATS] ━━━ LLM DESC OUTPUT batch 3/4 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187665228",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Climatisation",
      "Système audio avec Bluetooth",
      "GPS intégré",
      "Jantes en alliage",
      "Vitres électriques"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:03:21 [INFO] [clio_4] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:03:21 [INFO] [clio_4] [STATS] ━━━ LLM DESC INPUT batch 4/4 (1 annonces) ━━━
3187670190: "Bonne état dans l’état"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:03:22 [INFO] [clio_4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:03:22 [INFO] [clio_4] [STATS] ━━━ LLM DESC OUTPUT batch 4/4 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187670190",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:03:22 [INFO] [clio_4] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:03:22 [INFO] [clio_4] [STATS] Évaluations insérées : 4
2026-04-28 08:03:22 [INFO] [clio_4] [STATS] ANALYSE TERMINEE en 18.4s — 5471 annonces (run #884) — Modele: clio_4
2026-04-28 08:03:23 [INFO] [clio_4] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model clio_4
2026-04-28 08:03:24 [INFO] [clio_4] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 08:03:24 [INFO] [clio_4] [LLM] Annonces sans evaluation LLM : 0
2026-04-28 08:03:24 [INFO] [clio_4] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-28 08:03:24 [INFO] [clio_4] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model clio_4
2026-04-28 08:03:25 [INFO] [clio_4] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 08:03:25 [INFO] [clio_4] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:03:25 [INFO] [clio_4] [LLM DESC] Champs actifs : 8
2026-04-28 08:03:25 [INFO] [clio_4] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-28 08:03:25 [INFO] [clio_4] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-28 08:03:25 [INFO] [i20] [LLM DESC] [2/8] I20 (brand=hyundai, pages=auto)
2026-04-28 08:03:25 [INFO] [i20] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000&regdate=2...
2026-04-28 08:03:25 [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-28 08:03:25 [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-28 08:03:27 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-28 08:03:27 [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-28 08:03:30 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-28 08:03:30 [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-28 08:03:32 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-28 08:03:32 [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-28 08:03:35 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-28 08:03:35 [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-28 08:03:37 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-28 08:03:37 [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-28 08:03:40 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-28 08:03:40 [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-28 08:03:42 [INFO] [i20] [SEARCH] 32 annonces recuperees (total: 242)
2026-04-28 08:03:42 [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-28 08:03:43 [INFO] [i20] [SEARCH] Page 8 : aucune annonce, arret de la pagination.
2026-04-28 08:03:43 [INFO] [i20] [SEARCH] Termine : 242 annonces au total dans /home/ubuntu/app/leboncoin_ads_i20_20260428_080325.csv
2026-04-28 08:03:44 [INFO] [i20] [SEARCH] CSV : leboncoin_ads_i20_20260428_080325.csv
2026-04-28 08:03:44 [INFO] [i20] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_i20_20260428_080325.csv --db /home/ubuntu/app/db/lbc.sqlite --model i20
2026-04-28 08:03:44 [INFO] [i20] [IMPORT] Model override : i20
2026-04-28 08:03:44 [INFO] [i20] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-28 08:03:44 [INFO] [i20] [IMPORT] Fichier: leboncoin_ads_i20_20260428_080325.csv
2026-04-28 08:03:44 [INFO] [i20] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:03:44 [INFO] [i20] [IMPORT] 242 lus, 242 inseres, 0 ignores, 0 erreurs
2026-04-28 08:03:44 [INFO] [i20] [IMPORT] TOTAL : 242 lus, 242 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:03:44 [INFO] [i20] [IMPORT] 15264 annonces en base
2026-04-28 08:03:44 [INFO] [i20] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_i20_20260428_080325.csv --brand hyundai --model i20 --db /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:03:44 [INFO] [i20] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_i20_20260428_080325.csv, Brand: hyundai, Model: i20
2026-04-28 08:03:44 [INFO] [i20] [AVAILABILITY] 241 list_id lus dans le CSV.
2026-04-28 08:03:44 [INFO] [i20] [AVAILABILITY] 246 annonces actives en base pour hyundai i20.
2026-04-28 08:03:44 [INFO] [i20] [AVAILABILITY] 5 annonce(s) marquées indisponibles.
2026-04-28 08:03:44 [INFO] [i20] [AVAILABILITY] CSV: 241, Actives DB: 246, Absentes: 5
2026-04-28 08:03:44 [INFO] [i20] [AVAILABILITY] Marquees indisponibles: 5
2026-04-28 08:03:44 [INFO] [i20] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model i20 --delay 0.5 --limit 200
2026-04-28 08:03:44 [INFO] [i20] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: i20 — Limite: 200
2026-04-28 08:03:44 [INFO] [i20] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:03:44 [INFO] [i20] [DETAIL] 2 annonce(s) à enrichir (modèle: i20)
2026-04-28 08:03:47 [INFO] [i20] [DETAIL] RESULTAT : 2 traitee(s), 2 enrichies, 0 introuvables, 0 erreurs
2026-04-28 08:03:47 [INFO] [i20] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model i20 --skip-plots
2026-04-28 08:03:48 [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-28 08:03:51 [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-28 08:03:51 [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-28 08:03:52 [INFO] [i20] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 08:03:52 [INFO] [i20] [STATS] Annonces sans evaluation LLM : 2
2026-04-28 08:03:54 [INFO] [i20] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:03:54 [INFO] [i20] [STATS] LLM OUTPUT batch 1/1: 2 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 08:03:54 [INFO] [i20] [STATS] Resultats extraits : 2
2026-04-28 08:03:54 [INFO] [i20] [STATS] Evaluations inserees : 2
2026-04-28 08:03:55 [INFO] [i20] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-28 08:03:55 [INFO] [i20] [STATS]   modele_regression : 2 lignes insérées
2026-04-28 08:03:55 [INFO] [i20] [STATS]   referentiel_prix : 45 segments insérés
2026-04-28 08:03:55 [INFO] [i20] [STATS]   ads.deal_columns : 660 annonces mises à jour
2026-04-28 08:03:55 [INFO] [i20] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 08:03:55 [INFO] [i20] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:03:55 [INFO] [i20] [STATS] Champs actifs : 8
2026-04-28 08:03:55 [INFO] [i20] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 2
2026-04-28 08:03: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-28 08:03:55 [INFO] [i20] [STATS] ━━━ LLM DESC INPUT batch 1/2 (1 annonces) ━━━
3187677068: "Hello !  Je rentre en métropole et je dois à contre-cœur me séparer de ma petite voiture. 🚗  Hyundai i20 de 2013 à vendre : • 5 portes • Boite manuelle • Essence • Clim • Bleu-gris • Cylindre 1.2L, 63 ch • Chaîne de distribution (pas de courroie) • Factures disponibles • Dernière révision mi-septembre 2025 • Changement des pneus avant ce mois-ci Quelques défauts : écran radio défectueux, peinture qui présente quelques griffures et est écaillé par endroits (photos), traces sur le tableau de bord. CONTROLE TECHNIQUE QUI VIENT D'ETRE REALISE le 20/04/2026.  118 700 km, légèrement évolutif Voiture économe et agile (elle m'aura suivi dans toutes mon activité en libéral) 🛣 💰5250 euros💰 Disponible de suite.  Visible à St Pierre. N'hésitez pas à venir discuter"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:03:56 [INFO] [i20] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:03:56 [INFO] [i20] [STATS] ━━━ LLM DESC OUTPUT batch 1/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187677068",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [
      "changement des pneus avant ce mois-ci",
      "dernière révision mi-septembre 2025"
    ],
    "negociabilite": null,
    "contexte_vente": "retour en métropole",
    "nb_proprietaires": null,
    "options_description": [
      "clim"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:03:56 [INFO] [i20] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:03:56 [INFO] [i20] [STATS] ━━━ LLM DESC INPUT batch 2/2 (1 annonces) ━━━
3187703945: "Hyundai i20 5 portes – 1.4 CRDi 90 ch – 2015 – 188000km – 4 CV fiscaux – Boîte 6 vitesses   Hyundai i20 mise en circulation en 2015, motorisation 1.4 CRDi 90 ch, fiable et très économique.  188000 km évolutifs, entretien suivi avec plusieurs opérations récentes : Turbo remplacé en début d’année Vidange effectuée  Plaquettes de frein arrière neuves  Boîte manuelle 6 vitesses  État général très correct, seulement quelques légères rayures d’usage.  Options et équipements : Kit mains libres, Climatisation"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:03:58 [INFO] [i20] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:03:58 [INFO] [i20] [STATS] ━━━ LLM DESC OUTPUT batch 2/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187703945",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [
      "Turbo remplacé",
      "Vidange effectuée",
      "Plaquettes de frein arrière neuves"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Kit mains libres",
      "Climatisation"
    ],
    "accidente": false
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:03:58 [INFO] [i20] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:03:58 [INFO] [i20] [STATS] Évaluations insérées : 2
2026-04-28 08:03:58 [INFO] [i20] [STATS] ANALYSE TERMINEE en 6.6s — 660 annonces (run #885) — Modele: i20
2026-04-28 08:03:59 [INFO] [i20] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model i20
2026-04-28 08:03:59 [INFO] [i20] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 08:03:59 [INFO] [i20] [LLM] Annonces sans evaluation LLM : 0
2026-04-28 08:03:59 [INFO] [i20] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-28 08:03:59 [INFO] [i20] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model i20
2026-04-28 08:04:00 [INFO] [i20] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 08:04:00 [INFO] [i20] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:04:00 [INFO] [i20] [LLM DESC] Champs actifs : 8
2026-04-28 08:04:00 [INFO] [i20] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-28 08:04:00 [INFO] [i20] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-28 08:04:00 [INFO] [berlingo] [LLM DESC] [3/8] BERLINGO (brand=citroen, pages=auto)
2026-04-28 08:04:00 [INFO] [berlingo] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=C...
2026-04-28 08:04:00 [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-28 08:04:00 [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-28 08:04:03 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-28 08:04:03 [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-28 08:04:07 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-28 08:04:07 [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-28 08:04:10 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-28 08:04:10 [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-28 08:04:12 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-28 08:04:12 [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-28 08:04:15 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-28 08:04:15 [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-28 08:04:21 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-28 08:04:21 [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-28 08:04:24 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 245)
2026-04-28 08:04:24 [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-28 08:04:26 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 280)
2026-04-28 08:04:26 [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-28 08:04:29 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 315)
2026-04-28 08:04:29 [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-28 08:04:33 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 350)
2026-04-28 08:04:33 [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-28 08:04:35 [INFO] [berlingo] [SEARCH] 13 annonces recuperees (total: 363)
2026-04-28 08:04:35 [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-28 08:04:36 [INFO] [berlingo] [SEARCH] Page 12 : aucune annonce, arret de la pagination.
2026-04-28 08:04:36 [INFO] [berlingo] [SEARCH] Termine : 363 annonces au total dans /home/ubuntu/app/leboncoin_ads_berlingo_20260428_080400.csv
2026-04-28 08:04:36 [INFO] [berlingo] [SEARCH] CSV : leboncoin_ads_berlingo_20260428_080400.csv
2026-04-28 08:04:36 [INFO] [berlingo] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_berlingo_20260428_080400.csv --db /home/ubuntu/app/db/lbc.sqlite --model berlingo
2026-04-28 08:04:36 [INFO] [berlingo] [IMPORT] Model override : berlingo
2026-04-28 08:04:36 [INFO] [berlingo] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-28 08:04:36 [INFO] [berlingo] [IMPORT] Fichier: leboncoin_ads_berlingo_20260428_080400.csv
2026-04-28 08:04:36 [INFO] [berlingo] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:04:37 [INFO] [berlingo] [IMPORT] 363 lus, 363 inseres, 0 ignores, 0 erreurs
2026-04-28 08:04:37 [INFO] [berlingo] [IMPORT] TOTAL : 363 lus, 363 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:04:37 [INFO] [berlingo] [IMPORT] 15270 annonces en base
2026-04-28 08:04:37 [INFO] [berlingo] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_berlingo_20260428_080400.csv --brand citroen --model berlingo --db /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:04:37 [INFO] [berlingo] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_berlingo_20260428_080400.csv, Brand: citroen, Model: berlingo
2026-04-28 08:04:37 [INFO] [berlingo] [AVAILABILITY] 363 list_id lus dans le CSV.
2026-04-28 08:04:37 [INFO] [berlingo] [AVAILABILITY] 367 annonces actives en base pour citroen berlingo.
2026-04-28 08:04:37 [INFO] [berlingo] [AVAILABILITY] 4 annonce(s) marquées indisponibles.
2026-04-28 08:04:37 [INFO] [berlingo] [AVAILABILITY] CSV: 363, Actives DB: 367, Absentes: 4
2026-04-28 08:04:37 [INFO] [berlingo] [AVAILABILITY] Marquees indisponibles: 4
2026-04-28 08:04:37 [INFO] [berlingo] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model berlingo --delay 0.5 --limit 200
2026-04-28 08:04:37 [INFO] [berlingo] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: berlingo — Limite: 200
2026-04-28 08:04:37 [INFO] [berlingo] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:04:37 [INFO] [berlingo] [DETAIL] 6 annonce(s) à enrichir (modèle: berlingo)
2026-04-28 08:04:48 [INFO] [berlingo] [DETAIL] RESULTAT : 6 traitee(s), 6 enrichies, 0 introuvables, 0 erreurs
2026-04-28 08:04:48 [INFO] [berlingo] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model berlingo --skip-plots
2026-04-28 08:04:48 [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-28 08:04:51 [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-28 08:04:51 [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-28 08:04:52 [INFO] [berlingo] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 08:04:52 [INFO] [berlingo] [STATS] Annonces sans evaluation LLM : 6
2026-04-28 08:04:56 [INFO] [berlingo] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:04:56 [INFO] [berlingo] [STATS] LLM OUTPUT batch 1/1: 6 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 08:04:56 [INFO] [berlingo] [STATS] Resultats extraits : 6
2026-04-28 08:04:57 [INFO] [berlingo] [STATS] Evaluations inserees : 6
2026-04-28 08:04:57 [INFO] [berlingo] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-28 08:04:57 [INFO] [berlingo] [STATS]   modele_regression : 2 lignes insérées
2026-04-28 08:04:57 [INFO] [berlingo] [STATS]   referentiel_prix : 67 segments insérés
2026-04-28 08:04:57 [INFO] [berlingo] [STATS]   ads.deal_columns : 848 annonces mises à jour
2026-04-28 08:04:57 [INFO] [berlingo] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 08:04:57 [INFO] [berlingo] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:04:57 [INFO] [berlingo] [STATS] Champs actifs : 8
2026-04-28 08:04:57 [INFO] [berlingo] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 2
2026-04-28 08:04:57 [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-28 08:04:57 [INFO] [berlingo] [STATS] ━━━ LLM DESC INPUT batch 1/2 (1 annonces) ━━━
3156060821: "CITROEN BERLINGO XL 1.6 HDI 100 CV - 3 PLACES MEC 03/2019 - 144 000 KMS PREMIERE MAIN Clim Radars de recul Caméra de recul Régulateur de vitesse Radio CD commandes au volant 3 Places Fermeture centralisée Ordinateur de bord Direction assistée Porte latérale droite coulissante Rétroviseurs électrique Vitres électriques Tva récupérable uniquement pour les professionnels  VÉHICULE SORT DE RÉVISION ( KIT DISTRIBUTION , VIDANGE MOTEUR )"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:04:59 [INFO] [berlingo] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:04:59 [INFO] [berlingo] [STATS] ━━━ LLM DESC OUTPUT batch 1/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3156060821",
    "courroie_changee": true,
    "embrayage_change": null,
    "travaux_recents": [
      "kit distribution",
      "vidange moteur"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": 1,
    "options_description": [
      "Clim",
      "Radars de recul",
      "Caméra de recul",
      "Régulateur de vitesse",
      "Radio CD commandes au volant",
      "3 Places",
      "Fermeture centralisée",
      "Ordinateur de bord",
      "Direction assistée",
      "Porte latérale droite coulissante",
      "Rétroviseurs électrique",
      "Vitres électriques"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:04:59 [INFO] [berlingo] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:04:59 [INFO] [berlingo] [STATS] ━━━ LLM DESC INPUT batch 2/2 (1 annonces) ━━━
3187618688: "Citroen BERLINGO VAN XL 850KG BLUEHDI 100 CONTROL - 3 PLACES, (Fourgonnette), BLANC, 5cv, 6 portes, mise en circulation le 06-09-2021, première main, garantie 3 mois (3 MOIS OU 5000 KMS).  3 places, longueur : 4,75 mètres, boîte de vitesse : manuelle  OPTIONS ET EQUIPEMENTS : Audio - Télécommunications - AUTORADIO - Kit mains-libres Bluetooth - Prise USB  Conduite - Aide au démarrage en côte  Extérieur - Double portes arrière de chargement - Portes arrière battantes - Rétroviseurs électriques  Intérieur - Appui-tête conducteur réglable hauteur - Appui-tête passager réglable en hauteur - Bacs de portes avant - Compte tours - Ordinateur de bord - Prise 12V - Rangement sous siège passager avant - Verrouillage centralisé des portes - Verrouillage centralisé à distance - Vitres avant électriques - Volant réglable en profondeur et hauteur  Sécurité - ABS - Aide au freinage d'urgence - Airbag conducteur - Antidémarrage électronique - Antipatinage - Détecteur de sous-gonflage - ESP  Autres équipements et informations : - 2 PORTES AR VITREES - 3 PLACES - BLUETOOTH - DIRECTION ASSISTEE - EXTENSION DE GARANTIE POSSIBLE - HISTORIQUE D'ENTRETIEN - PLANCHER BOIS - PORTE LATERALE DROITE VITREE - PORTE LATERALE GAUCHE VITREE - REPRISE POSSIBLE - Radar de recul  - SEPARATION INTERIEURE  Kilométrage garanti.  10416.67€ HT SOIT 12500€ TTC TVA RECUPERABLE  VEHICULE IDEM A PARTNER  Référence annonce : 278"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:05:03 [INFO] [berlingo] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:05:03 [INFO] [berlingo] [STATS] ━━━ LLM DESC OUTPUT batch 2/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187618688",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": 1,
    "options_description": [
      "AUTORADIO",
      "Kit mains-libres Bluetooth",
      "Prise USB",
      "Aide au démarrage en côte",
      "Double portes arrière de chargement",
      "Portes arrière battantes",
      "Rétroviseurs électriques",
      "Appui-tête conducteur réglable hauteur",
      "Appui-tête passager réglable en hauteur",
      "Bacs de portes avant",
      "Compte tours",
      "Ordinateur de bord",
      "Prise 12V",
      "Rangement sous siège passager avant",
      "Verrouillage centralisé des portes",
      "Verrouillage centralisé à distance",
      "Vitres avant électriques",
      "Volant réglable en profondeur et hauteur",
      "ABS",
      "Aide au freinage d'urgence",
      "Airbag conducteur",
      "Antidémarrage électronique",
      "Antipatinage",
      "Détecteur de sous-gonflage",
      "ESP",
      "2 PORTES AR VITREES",
      "BLUETOOTH",
      "DIRECTION ASSISTEE",
      "EXTENSION DE GARANTIE POSSIBLE",
      "HISTORIQUE D'ENTRETIEN",
      "PLANCHER BOIS",
      "PORTE LATERALE DROITE VITREE",
      "PORTE LATERALE GAUCHE VITREE",
      "REPRISE POSSIBLE",
      "Radar de recul",
      "SEPARATION INTERIEURE"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:05:03 [INFO] [berlingo] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:05:03 [INFO] [berlingo] [STATS] Évaluations insérées : 2
2026-04-28 08:05:03 [INFO] [berlingo] [STATS] ANALYSE TERMINEE en 8.6s — 848 annonces (run #886) — Modele: berlingo
2026-04-28 08:05:03 [INFO] [berlingo] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model berlingo
2026-04-28 08:05:04 [INFO] [berlingo] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 08:05:04 [INFO] [berlingo] [LLM] Annonces sans evaluation LLM : 0
2026-04-28 08:05:04 [INFO] [berlingo] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-28 08:05:04 [INFO] [berlingo] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model berlingo
2026-04-28 08:05:05 [INFO] [berlingo] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 08:05:05 [INFO] [berlingo] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:05:05 [INFO] [berlingo] [LLM DESC] Champs actifs : 8
2026-04-28 08:05:05 [INFO] [berlingo] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-28 08:05:05 [INFO] [berlingo] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-28 08:05:05 [INFO] [c4] [LLM DESC] [4/8] C4 (brand=citroen, pages=auto)
2026-04-28 08:05:05 [INFO] [c4] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=2&text=c4&price=min-11000&regdate=20...
2026-04-28 08:05: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-28 08:05: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-28 08:05:08 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-28 08:05: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-28 08:05:13 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-28 08:05:13 [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-28 08:05:15 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-28 08:05:15 [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-28 08:05:18 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-28 08:05:18 [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-28 08:05:20 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-28 08:05:20 [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-28 08:05:22 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-28 08:05:22 [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-28 08:05:24 [INFO] [c4] [SEARCH] 3 annonces recuperees (total: 213)
2026-04-28 08:05:24 [INFO] [c4] [SEARCH] Recuperation de la page 8 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=8
2026-04-28 08:05:27 [INFO] [c4] [SEARCH] Page 8 : aucune annonce, arret de la pagination.
2026-04-28 08:05:27 [INFO] [c4] [SEARCH] Termine : 213 annonces au total dans /home/ubuntu/app/leboncoin_ads_c4_20260428_080505.csv
2026-04-28 08:05:27 [INFO] [c4] [SEARCH] CSV : leboncoin_ads_c4_20260428_080505.csv
2026-04-28 08:05:27 [INFO] [c4] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_c4_20260428_080505.csv --db /home/ubuntu/app/db/lbc.sqlite --model c4
2026-04-28 08:05:27 [INFO] [c4] [IMPORT] Model override : c4
2026-04-28 08:05:27 [INFO] [c4] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-28 08:05:27 [INFO] [c4] [IMPORT] Fichier: leboncoin_ads_c4_20260428_080505.csv
2026-04-28 08:05:27 [INFO] [c4] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:05:28 [INFO] [c4] [IMPORT] 213 lus, 213 inseres, 0 ignores, 0 erreurs
2026-04-28 08:05:28 [INFO] [c4] [IMPORT] TOTAL : 213 lus, 213 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:05:28 [INFO] [c4] [IMPORT] 15274 annonces en base
2026-04-28 08:05:28 [INFO] [c4] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_c4_20260428_080505.csv --brand citroen --model c4 --db /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:05:28 [INFO] [c4] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_c4_20260428_080505.csv, Brand: citroen, Model: c4
2026-04-28 08:05:28 [INFO] [c4] [AVAILABILITY] 213 list_id lus dans le CSV.
2026-04-28 08:05:28 [INFO] [c4] [AVAILABILITY] 213 annonces actives en base pour citroen c4.
2026-04-28 08:05:28 [INFO] [c4] [AVAILABILITY] Aucune annonce manquante — toutes présentes dans le crawl.
2026-04-28 08:05:28 [INFO] [c4] [AVAILABILITY] CSV: 213, Actives DB: 213, Absentes: 0
2026-04-28 08:05:28 [INFO] [c4] [AVAILABILITY] Marquees indisponibles: 0
2026-04-28 08:05:28 [INFO] [c4] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model c4 --delay 0.5 --limit 200
2026-04-28 08:05:28 [INFO] [c4] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: c4 — Limite: 200
2026-04-28 08:05:28 [INFO] [c4] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:05:28 [INFO] [c4] [DETAIL] 4 annonce(s) à enrichir (modèle: c4)
2026-04-28 08:05:36 [INFO] [c4] [DETAIL] RESULTAT : 4 traitee(s), 4 enrichies, 0 introuvables, 0 erreurs
2026-04-28 08:05:36 [INFO] [c4] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model c4 --skip-plots
2026-04-28 08:05:36 [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-28 08:05:39 [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-28 08:05:39 [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-28 08:05:40 [INFO] [c4] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 08:05:40 [INFO] [c4] [STATS] Annonces sans evaluation LLM : 4
2026-04-28 08:05:43 [INFO] [c4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:05:43 [INFO] [c4] [STATS] LLM OUTPUT batch 1/1: 4 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 08:05:43 [INFO] [c4] [STATS] Resultats extraits : 4
2026-04-28 08:05:43 [INFO] [c4] [STATS] Evaluations inserees : 4
2026-04-28 08:05:44 [INFO] [c4] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-28 08:05:44 [INFO] [c4] [STATS]   modele_regression : 2 lignes insérées
2026-04-28 08:05:44 [INFO] [c4] [STATS]   referentiel_prix : 32 segments insérés
2026-04-28 08:05:44 [INFO] [c4] [STATS]   ads.deal_columns : 556 annonces mises à jour
2026-04-28 08:05:44 [INFO] [c4] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 08:05:44 [INFO] [c4] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:05:44 [INFO] [c4] [STATS] Champs actifs : 8
2026-04-28 08:05:44 [INFO] [c4] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 1
2026-04-28 08:05:44 [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-28 08:05:44 [INFO] [c4] [STATS] ━━━ LLM DESC INPUT batch 1/1 (1 annonces) ━━━
3187696084: "Je mets en vente ma Citroën C4 Picasso en très bon état général. Véhicule confortable, spacieux et idéal pour une famille ou pour les longs trajets.  ✅ Année : 2015 ✅ Kilométrage : 107 000 km ✅ Carburant : Essence ✅ Caméra de recul ✅ GPS intégré ✅ Bluetooth ✅ Régulateur de vitesse ✅ Climatisation ✅ Contrôle technique OK  Voiture bien entretenue, agréable à conduire et prête à rouler sans frais à prévoir.  📍 Visible sur demande 💰 Prix : 6800€"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:05:45 [INFO] [c4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:05:45 [INFO] [c4] [STATS] ━━━ LLM DESC OUTPUT batch 1/1 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187696084",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Caméra de recul",
      "GPS intégré",
      "Bluetooth",
      "Régulateur de vitesse",
      "Climatisation"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:05:45 [INFO] [c4] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:05:45 [INFO] [c4] [STATS] Évaluations insérées : 1
2026-04-28 08:05:45 [INFO] [c4] [STATS] ANALYSE TERMINEE en 7.2s — 556 annonces (run #887) — Modele: c4
2026-04-28 08:05:45 [INFO] [c4] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model c4
2026-04-28 08:05:46 [INFO] [c4] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 08:05:46 [INFO] [c4] [LLM] Annonces sans evaluation LLM : 0
2026-04-28 08:05:46 [INFO] [c4] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-28 08:05:46 [INFO] [c4] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model c4
2026-04-28 08:05:46 [INFO] [c4] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 08:05:46 [INFO] [c4] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:05:46 [INFO] [c4] [LLM DESC] Champs actifs : 8
2026-04-28 08:05:46 [INFO] [c4] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-28 08:05:46 [INFO] [c4] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-28 08:05:47 [INFO] [scenic] [LLM DESC] [5/8] SCENIC (brand=renault, pages=auto)
2026-04-28 08:05:47 [INFO] [scenic] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=2&text=scenic&price=min-11000&regdat...
2026-04-28 08:05:47 [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-28 08:05:47 [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-28 08:05:49 [INFO] [scenic] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-28 08:05:49 [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-28 08:05:51 [INFO] [scenic] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-28 08:05:51 [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-28 08:05:53 [INFO] [scenic] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-28 08:05:53 [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-28 08:05:56 [INFO] [scenic] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-28 08:05:56 [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-28 08:05:58 [INFO] [scenic] [SEARCH] 5 annonces recuperees (total: 145)
2026-04-28 08:05:58 [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-28 08:05:59 [INFO] [scenic] [SEARCH] Page 6 : aucune annonce, arret de la pagination.
2026-04-28 08:05:59 [INFO] [scenic] [SEARCH] Termine : 145 annonces au total dans /home/ubuntu/app/leboncoin_ads_scenic_20260428_080547.csv
2026-04-28 08:05:59 [INFO] [scenic] [SEARCH] CSV : leboncoin_ads_scenic_20260428_080547.csv
2026-04-28 08:05:59 [INFO] [scenic] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_scenic_20260428_080547.csv --db /home/ubuntu/app/db/lbc.sqlite --model scenic
2026-04-28 08:05:59 [INFO] [scenic] [IMPORT] Model override : scenic
2026-04-28 08:05:59 [INFO] [scenic] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-28 08:05:59 [INFO] [scenic] [IMPORT] Fichier: leboncoin_ads_scenic_20260428_080547.csv
2026-04-28 08:05:59 [INFO] [scenic] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:06:00 [INFO] [scenic] [IMPORT] 145 lus, 145 inseres, 0 ignores, 0 erreurs
2026-04-28 08:06:00 [INFO] [scenic] [IMPORT] TOTAL : 145 lus, 145 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:06:00 [INFO] [scenic] [IMPORT] 15276 annonces en base
2026-04-28 08:06:00 [INFO] [scenic] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_scenic_20260428_080547.csv --brand renault --model scenic --db /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:06:00 [INFO] [scenic] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_scenic_20260428_080547.csv, Brand: renault, Model: scenic
2026-04-28 08:06:00 [INFO] [scenic] [AVAILABILITY] 145 list_id lus dans le CSV.
2026-04-28 08:06:00 [INFO] [scenic] [AVAILABILITY] 147 annonces actives en base pour renault scenic.
2026-04-28 08:06:00 [INFO] [scenic] [AVAILABILITY] 2 annonce(s) marquées indisponibles.
2026-04-28 08:06:00 [INFO] [scenic] [AVAILABILITY] CSV: 145, Actives DB: 147, Absentes: 2
2026-04-28 08:06:00 [INFO] [scenic] [AVAILABILITY] Marquees indisponibles: 2
2026-04-28 08:06:00 [INFO] [scenic] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model scenic --delay 0.5 --limit 200
2026-04-28 08:06:00 [INFO] [scenic] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: scenic — Limite: 200
2026-04-28 08:06:00 [INFO] [scenic] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:06:00 [INFO] [scenic] [DETAIL] 2 annonce(s) à enrichir (modèle: scenic)
2026-04-28 08:06:03 [INFO] [scenic] [DETAIL] RESULTAT : 2 traitee(s), 2 enrichies, 0 introuvables, 0 erreurs
2026-04-28 08:06:03 [INFO] [scenic] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model scenic --skip-plots
2026-04-28 08:06:03 [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-28 08:06:06 [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-28 08:06:06 [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-28 08:06:07 [INFO] [scenic] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 08:06:07 [INFO] [scenic] [STATS] Annonces sans evaluation LLM : 2
2026-04-28 08:06:09 [INFO] [scenic] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:06:09 [INFO] [scenic] [STATS] LLM OUTPUT batch 1/1: 2 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 08:06:09 [INFO] [scenic] [STATS] Resultats extraits : 2
2026-04-28 08:06:09 [INFO] [scenic] [STATS] Evaluations inserees : 2
2026-04-28 08:06:10 [INFO] [scenic] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-28 08:06:10 [INFO] [scenic] [STATS]   modele_regression : 2 lignes insérées
2026-04-28 08:06:10 [INFO] [scenic] [STATS]   referentiel_prix : 28 segments insérés
2026-04-28 08:06:10 [INFO] [scenic] [STATS]   ads.deal_columns : 394 annonces mises à jour
2026-04-28 08:06:10 [INFO] [scenic] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 08:06:10 [INFO] [scenic] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:06:10 [INFO] [scenic] [STATS] Champs actifs : 8
2026-04-28 08:06:10 [INFO] [scenic] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 1
2026-04-28 08:06:10 [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-28 08:06:10 [INFO] [scenic] [STATS] ━━━ LLM DESC INPUT batch 1/1 (1 annonces) ━━━
3187566749: "Je vends mon Renault Grand Scenic 7 places de 2016. - Marque : Renault - Modèle : Grand Scenic - Année : 2016 - Kilométrage : 139 500 km - Motorisation : 1.5 dCi 110 ch - Carburant : Diesel - Boîte de vitesses : Automatique - Finition : Bose - Nombre de sièges : 7 - Nombre de portes : 5 - Puissance fiscale : 6 CV - Crit'Air : 2 - Options principales : Toit panoramique, Sièges en cuir, GPS, Caméra de recul N'hésitez pas à me contacter pour plus d'informations ou pour convenir d'un essai."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:06:11 [INFO] [scenic] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:06:11 [INFO] [scenic] [STATS] ━━━ LLM DESC OUTPUT batch 1/1 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187566749",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Toit panoramique",
      "Sièges en cuir",
      "GPS",
      "Caméra de recul"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:06:11 [INFO] [scenic] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:06:11 [INFO] [scenic] [STATS] Évaluations insérées : 1
2026-04-28 08:06:11 [INFO] [scenic] [STATS] ANALYSE TERMINEE en 6.0s — 394 annonces (run #888) — Modele: scenic
2026-04-28 08:06:11 [INFO] [scenic] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model scenic
2026-04-28 08:06:12 [INFO] [scenic] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 08:06:12 [INFO] [scenic] [LLM] Annonces sans evaluation LLM : 0
2026-04-28 08:06:12 [INFO] [scenic] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-28 08:06:12 [INFO] [scenic] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model scenic
2026-04-28 08:06:13 [INFO] [scenic] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 08:06:13 [INFO] [scenic] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:06:13 [INFO] [scenic] [LLM DESC] Champs actifs : 8
2026-04-28 08:06:13 [INFO] [scenic] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-28 08:06:13 [INFO] [scenic] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-28 08:06:13 [INFO] [5008] [LLM DESC] [6/8] 5008 (brand=peugeot, pages=auto)
2026-04-28 08:06:13 [INFO] [5008] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_br...
2026-04-28 08:06:13 [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-28 08:06:13 [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-28 08:06:15 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-28 08:06:15 [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-28 08:06:19 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-28 08:06:19 [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-28 08:06:21 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-28 08:06:21 [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-28 08:06:24 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-28 08:06:24 [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-28 08:06:28 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-28 08:06:28 [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-28 08:06:31 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-28 08:06:31 [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-28 08:06:33 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 245)
2026-04-28 08:06:33 [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-28 08:06:35 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 280)
2026-04-28 08:06:35 [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-28 08:06:37 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 315)
2026-04-28 08:06:37 [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-28 08:06:41 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 350)
2026-04-28 08:06:41 [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-28 08:06:44 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 385)
2026-04-28 08:06:44 [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-28 08:06:48 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 420)
2026-04-28 08:06:48 [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-28 08:06:50 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 455)
2026-04-28 08:06:50 [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-28 08:06:53 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 490)
2026-04-28 08:06:53 [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-28 08:06:55 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 525)
2026-04-28 08:06:55 [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-28 08:06:57 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 560)
2026-04-28 08:06:57 [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-28 08:07:02 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 595)
2026-04-28 08:07:02 [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-28 08:07:05 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 630)
2026-04-28 08:07:05 [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-28 08:07:07 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 665)
2026-04-28 08:07:07 [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-28 08:07:10 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 700)
2026-04-28 08:07:10 [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-28 08:07:12 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 735)
2026-04-28 08:07:12 [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-28 08:07:15 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 770)
2026-04-28 08:07:15 [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-28 08:07:18 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 805)
2026-04-28 08:07:18 [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-28 08:07:20 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 840)
2026-04-28 08:07:20 [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-28 08:07:27 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 875)
2026-04-28 08:07:27 [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-28 08:07:29 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 910)
2026-04-28 08:07:29 [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-28 08:07:32 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 945)
2026-04-28 08:07:32 [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-28 08:07:34 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 980)
2026-04-28 08:07:34 [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-28 08:07:36 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1015)
2026-04-28 08:07:36 [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-28 08:07:39 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1050)
2026-04-28 08:07:39 [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-28 08:07:42 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1085)
2026-04-28 08:07:42 [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-28 08:07:44 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1120)
2026-04-28 08:07:44 [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-28 08:07:46 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1155)
2026-04-28 08:07:46 [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-28 08:07:49 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1190)
2026-04-28 08:07:49 [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-28 08:07:50 [INFO] [5008] [SEARCH] 15 annonces recuperees (total: 1205)
2026-04-28 08:07:50 [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-28 08:07:52 [INFO] [5008] [SEARCH] Page 36 : aucune annonce, arret de la pagination.
2026-04-28 08:07:52 [INFO] [5008] [SEARCH] Termine : 1205 annonces au total dans /home/ubuntu/app/leboncoin_ads_5008_20260428_080613.csv
2026-04-28 08:07:52 [INFO] [5008] [SEARCH] CSV : leboncoin_ads_5008_20260428_080613.csv
2026-04-28 08:07:52 [INFO] [5008] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_5008_20260428_080613.csv --db /home/ubuntu/app/db/lbc.sqlite --model 5008
2026-04-28 08:07:52 [INFO] [5008] [IMPORT] Model override : 5008
2026-04-28 08:07:52 [INFO] [5008] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-28 08:07:52 [INFO] [5008] [IMPORT] Fichier: leboncoin_ads_5008_20260428_080613.csv
2026-04-28 08:07:52 [INFO] [5008] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:07:55 [INFO] [5008] [IMPORT] 1205 lus, 1205 inseres, 0 ignores, 0 erreurs
2026-04-28 08:07:55 [INFO] [5008] [IMPORT] TOTAL : 1205 lus, 1205 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:07:55 [INFO] [5008] [IMPORT] 15291 annonces en base
2026-04-28 08:07:55 [INFO] [5008] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_5008_20260428_080613.csv --brand peugeot --model 5008 --db /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:07:55 [INFO] [5008] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_5008_20260428_080613.csv, Brand: peugeot, Model: 5008
2026-04-28 08:07:55 [INFO] [5008] [AVAILABILITY] 1200 list_id lus dans le CSV.
2026-04-28 08:07:55 [INFO] [5008] [AVAILABILITY] 1215 annonces actives en base pour peugeot 5008.
2026-04-28 08:07:55 [INFO] [5008] [AVAILABILITY] 15 annonce(s) marquées indisponibles.
2026-04-28 08:07:55 [INFO] [5008] [AVAILABILITY] CSV: 1200, Actives DB: 1215, Absentes: 15
2026-04-28 08:07:55 [INFO] [5008] [AVAILABILITY] Marquees indisponibles: 15
2026-04-28 08:07:55 [INFO] [5008] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model 5008 --delay 0.5 --limit 200
2026-04-28 08:07:55 [INFO] [5008] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: 5008 — Limite: 200
2026-04-28 08:07:55 [INFO] [5008] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:07:55 [INFO] [5008] [DETAIL] 15 annonce(s) à enrichir (modèle: 5008)
2026-04-28 08:08:22 [INFO] [5008] [DETAIL] Progression : 10/15 (enrichies: 10, introuvables: 0, erreurs: 0)
2026-04-28 08:08:32 [INFO] [5008] [DETAIL] RESULTAT : 15 traitee(s), 15 enrichies, 0 introuvables, 0 erreurs
2026-04-28 08:08:32 [INFO] [5008] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model 5008 --skip-plots
2026-04-28 08:08:33 [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-28 08:08:36 [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-28 08:08:36 [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-28 08:08:37 [INFO] [5008] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 08:08:38 [INFO] [5008] [STATS] Annonces sans evaluation LLM : 15
2026-04-28 08:08:47 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:08:47 [INFO] [5008] [STATS] LLM OUTPUT batch 1/1: 15 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 08:08:47 [INFO] [5008] [STATS] Resultats extraits : 15
2026-04-28 08:08:47 [INFO] [5008] [STATS] Evaluations inserees : 15
2026-04-28 08:08:49 [INFO] [5008] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-28 08:08:49 [INFO] [5008] [STATS]   modele_regression : 2 lignes insérées
2026-04-28 08:08:49 [INFO] [5008] [STATS]   referentiel_prix : 77 segments insérés
2026-04-28 08:08:49 [INFO] [5008] [STATS]   ads.deal_columns : 3268 annonces mises à jour
2026-04-28 08:08:49 [INFO] [5008] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 08:08:49 [INFO] [5008] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:08:49 [INFO] [5008] [STATS] Champs actifs : 8
2026-04-28 08:08:49 [INFO] [5008] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 4
2026-04-28 08:08:50 [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-28 08:08:50 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 1/4 (1 annonces) ━━━
3187585507: "Vends jolie familiale 7 places Full option  Options : Toit panoramique avec rideau électrique rabbatable  GPS Bluetooth  Caméra de recul Capteur de recul avant et arrière  Phares led  Anti brouillard  Jantes alu Volant en cuir multi fonction Accoudoir conducteur et passager  Ordinateur de bord  Auto radio avec commande au volant  Retros electriques  Portes centralisées à distance 7 places  7 appuies têtes  Roue de secours  Prise 12 V  Airbags  ABS  Et autres   Révision et contrôle technique ok -embrayage neuf avec facture  -kit de distribution avec pompe à eau  -courroie d'accessoire  -Vidange+filtre    Rien à faire sur le véhicule  Tout les factures disponible"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:08:52 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:08:52 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 1/4 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187585507",
    "courroie_changee": null,
    "embrayage_change": true,
    "travaux_recents": [
      "kit de distribution avec pompe à eau",
      "courroie d'accessoire",
      "Vidange+filtre"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Toit panoramique avec rideau électrique rabbatable",
      "GPS",
      "Bluetooth",
      "Caméra de recul",
      "Capteur de recul avant et arrière",
      "Phares led",
      "Anti brouillard",
      "Jantes alu",
      "Volant en cuir multi fonction",
      "Accoudoir conducteur et passager",
      "Ordinateur de bord",
      "Auto radio avec commande au volant",
      "Retros electriques",
      "Portes centralisées à distance",
      "7 places",
      "7 appuies têtes",
      "Roue de secours",
      "Prise 12 V",
      "Airbags",
      "ABS"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:08:52 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:08:52 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 2/4 (1 annonces) ━━━
3187595886: "Je vends mon Peugeot 5008 de 2010, un SUV 7 places pratique et spacieux. - Marque : Peugeot - Modèle : 5008 - Année : 2010 - Kilométrage : 170 030 km - Carburant : Diesel - Boîte de vitesses : Manuelle - Puissance fiscale : 6 CV - Puissance réelle : 112 ch - Nombre de portes : 5 - Nombre de sièges : 7 - Couleur : Gris N'hésitez pas à me contacter pour plus d'informations ou pour organiser un essai."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:08:53 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:08:53 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 2/4 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187595886",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:08:53 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:08:53 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 3/4 (1 annonces) ━━━
3187664120: "Vend Peugeot 5008 hdi 1.6, boîte automatique EAT6, année du 07/11/2016, 7 places, 247 000 km , rien à prévoir. Véhicule très bien entretenu et toute les factures sont disponible. Distribution ok Dernière révision faite à 242 000 km  Prix: 5900€"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:08:56 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:08:56 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 3/4 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187664120",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Boîte automatique EAT6",
      "7 places"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:08:56 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:08:56 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 4/4 (1 annonces) ━━━
3187705245: "Vend un bon Peugeot 5008 bon état roule tous les jours prix à débattre"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:08:57 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:08:57 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 4/4 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187705245",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": "négociable",
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:08:57 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:08:57 [INFO] [5008] [STATS] Évaluations insérées : 4
2026-04-28 08:08:57 [INFO] [5008] [STATS] ANALYSE TERMINEE en 15.0s — 3268 annonces (run #889) — Modele: 5008
2026-04-28 08:08:57 [INFO] [5008] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model 5008
2026-04-28 08:08:58 [INFO] [5008] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 08:08:58 [INFO] [5008] [LLM] Annonces sans evaluation LLM : 0
2026-04-28 08:08:58 [INFO] [5008] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-28 08:08:58 [INFO] [5008] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model 5008
2026-04-28 08:08:58 [INFO] [5008] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 08:08:58 [INFO] [5008] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:08:58 [INFO] [5008] [LLM DESC] Champs actifs : 8
2026-04-28 08:08:58 [INFO] [5008] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-28 08:08:58 [INFO] [5008] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-28 08:08:58 [INFO] [fiesta] [LLM DESC] [7/8] FIESTA (brand=ford, pages=auto)
2026-04-28 08:08:58 [INFO] [fiesta] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=2&text=ford%20fiesta&price=3000-1000...
2026-04-28 08:08:58 [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-28 08:08:59 [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-28 08:09:01 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-28 08:09:01 [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-28 08:09:05 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-28 08:09:05 [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-28 08:09:07 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-28 08:09:07 [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-28 08:09:10 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-28 08:09:10 [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-28 08:09:12 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-28 08:09:12 [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-28 08:09:16 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-28 08:09:16 [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-28 08:09:18 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 245)
2026-04-28 08:09:18 [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-28 08:09:21 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 280)
2026-04-28 08:09:21 [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-28 08:09:23 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 315)
2026-04-28 08:09:23 [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-28 08:09:25 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 350)
2026-04-28 08:09:25 [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-28 08:09:27 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 385)
2026-04-28 08:09:27 [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-28 08:09:29 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 420)
2026-04-28 08:09:29 [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-28 08:09:32 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 455)
2026-04-28 08:09:32 [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-28 08:09:35 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 490)
2026-04-28 08:09:35 [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-28 08:09:37 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 525)
2026-04-28 08:09:37 [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-28 08:09:39 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 560)
2026-04-28 08:09:39 [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-28 08:09:41 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 595)
2026-04-28 08:09:41 [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-28 08:09:45 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 630)
2026-04-28 08:09:45 [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-28 08:09:47 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 665)
2026-04-28 08:09:47 [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-28 08:09:49 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 700)
2026-04-28 08:09:49 [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-28 08:09:53 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 735)
2026-04-28 08:09:53 [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-28 08:09:56 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 770)
2026-04-28 08:09:56 [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-28 08:09:58 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 805)
2026-04-28 08:09:58 [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-28 08:10:01 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 840)
2026-04-28 08:10:01 [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-28 08:10:04 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 875)
2026-04-28 08:10:04 [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-28 08:10:07 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 910)
2026-04-28 08:10:07 [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-28 08:10:09 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 945)
2026-04-28 08:10:09 [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-28 08:10:12 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 980)
2026-04-28 08:10:12 [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-28 08:10:14 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1015)
2026-04-28 08:10:14 [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-28 08:10:17 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1050)
2026-04-28 08:10:17 [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-28 08:10:21 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1085)
2026-04-28 08:10:21 [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-28 08:10:24 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1120)
2026-04-28 08:10:24 [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-28 08:10:28 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1155)
2026-04-28 08:10:28 [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-28 08:10:30 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1190)
2026-04-28 08:10:30 [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-28 08:10:35 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1225)
2026-04-28 08:10:35 [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-28 08:10:38 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1260)
2026-04-28 08:10:38 [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-28 08:10:40 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1295)
2026-04-28 08:10:40 [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-28 08:10:44 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1330)
2026-04-28 08:10:44 [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-28 08:10:46 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1365)
2026-04-28 08:10:46 [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-28 08:10:50 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1400)
2026-04-28 08:10:50 [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-28 08:10:54 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1435)
2026-04-28 08:10:54 [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-28 08:10:56 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1470)
2026-04-28 08:10:56 [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-28 08:11:00 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1505)
2026-04-28 08:11:00 [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-28 08:11:02 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1540)
2026-04-28 08:11:02 [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-28 08:11:05 [INFO] [fiesta] [SEARCH] 20 annonces recuperees (total: 1560)
2026-04-28 08:11:05 [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-28 08:11:07 [INFO] [fiesta] [SEARCH] Page 46 : aucune annonce, arret de la pagination.
2026-04-28 08:11:07 [INFO] [fiesta] [SEARCH] Termine : 1560 annonces au total dans /home/ubuntu/app/leboncoin_ads_fiesta_20260428_080859.csv
2026-04-28 08:11:07 [INFO] [fiesta] [SEARCH] CSV : leboncoin_ads_fiesta_20260428_080859.csv
2026-04-28 08:11:07 [INFO] [fiesta] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_fiesta_20260428_080859.csv --db /home/ubuntu/app/db/lbc.sqlite --model fiesta
2026-04-28 08:11:07 [INFO] [fiesta] [IMPORT] Model override : fiesta
2026-04-28 08:11:07 [INFO] [fiesta] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-28 08:11:07 [INFO] [fiesta] [IMPORT] Fichier: leboncoin_ads_fiesta_20260428_080859.csv
2026-04-28 08:11:07 [INFO] [fiesta] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:11:10 [INFO] [fiesta] [IMPORT] 1560 lus, 1560 inseres, 0 ignores, 0 erreurs
2026-04-28 08:11:10 [INFO] [fiesta] [IMPORT] TOTAL : 1560 lus, 1560 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:11:10 [INFO] [fiesta] [IMPORT] 15308 annonces en base
2026-04-28 08:11:10 [INFO] [fiesta] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_fiesta_20260428_080859.csv --brand ford --model fiesta --db /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:11:10 [INFO] [fiesta] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_fiesta_20260428_080859.csv, Brand: ford, Model: fiesta
2026-04-28 08:11:11 [INFO] [fiesta] [AVAILABILITY] 1541 list_id lus dans le CSV.
2026-04-28 08:11:11 [INFO] [fiesta] [AVAILABILITY] 1568 annonces actives en base pour ford fiesta.
2026-04-28 08:11:11 [INFO] [fiesta] [AVAILABILITY] 27 annonce(s) marquées indisponibles.
2026-04-28 08:11:11 [INFO] [fiesta] [AVAILABILITY] CSV: 1541, Actives DB: 1568, Absentes: 27
2026-04-28 08:11:11 [INFO] [fiesta] [AVAILABILITY] Marquees indisponibles: 27
2026-04-28 08:11:11 [INFO] [fiesta] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model fiesta --delay 0.5 --limit 200
2026-04-28 08:11:11 [INFO] [fiesta] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: fiesta — Limite: 200
2026-04-28 08:11:11 [INFO] [fiesta] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:11:11 [INFO] [fiesta] [DETAIL] 17 annonce(s) à enrichir (modèle: fiesta)
2026-04-28 08:11:30 [INFO] [fiesta] [DETAIL] Progression : 10/17 (enrichies: 10, introuvables: 0, erreurs: 0)
2026-04-28 08:11:43 [INFO] [fiesta] [DETAIL] RESULTAT : 17 traitee(s), 17 enrichies, 0 introuvables, 0 erreurs
2026-04-28 08:11:43 [INFO] [fiesta] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model fiesta --skip-plots
2026-04-28 08:11:44 [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-28 08:11:48 [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-28 08:11:48 [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-28 08:11:49 [INFO] [fiesta] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 08:11:49 [INFO] [fiesta] [STATS] Annonces sans evaluation LLM : 17
2026-04-28 08:11:57 [INFO] [fiesta] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:11:57 [INFO] [fiesta] [STATS] LLM OUTPUT batch 1/1: 17 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 08:11:57 [INFO] [fiesta] [STATS] Resultats extraits : 17
2026-04-28 08:11:57 [INFO] [fiesta] [STATS] Evaluations inserees : 17
2026-04-28 08:11:58 [INFO] [fiesta] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-28 08:11:58 [INFO] [fiesta] [STATS]   modele_regression : 2 lignes insérées
2026-04-28 08:11:58 [INFO] [fiesta] [STATS]   referentiel_prix : 60 segments insérés
2026-04-28 08:11:59 [INFO] [fiesta] [STATS]   ads.deal_columns : 3589 annonces mises à jour
2026-04-28 08:11:59 [INFO] [fiesta] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 08:11:59 [INFO] [fiesta] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:11:59 [INFO] [fiesta] [STATS] Champs actifs : 8
2026-04-28 08:11:59 [INFO] [fiesta] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 5
2026-04-28 08:11:59 [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-28 08:11:59 [INFO] [fiesta] [STATS] ━━━ LLM DESC INPUT batch 1/5 (1 annonces) ━━━
3169409470: "Ford FIESTA 1.0 ECOBOOST 100CH STOP&START EDITION 5P, (Berline), NOIR, 5cv, 5 portes, mise en circulation le 01-09-2016, garantie 6 mois (6 MOIS).  5 places, couleur intérieur : NOIR, longueur : 3,97 mètres, boîte de vitesse : manuelle  OPTIONS ET EQUIPEMENTS : Audio - Télécommunications - 6 Haut parleurs - Kit mains-libres Bluetooth  Extérieur - Feux de jour à LED - Jantes Alu - Rétroviseurs dégivrants  Intérieur - Clim manuelle - Pack Hiver - Vitres arrière surteintées - Vitres avant électriques - Volant cuir  Sécurité - Phares antibrouillard  Autres équipements et informations : - Noir Shadow - Tapis de sol avant et arrière  Kilométrage garanti.  REPRISE ET FINANCEMENT POSSIBLE *Visible uniquement sur rendez vous.  Pour plus de photos et vidéos rejoignez notre page INSTAGRAM : LECLERCLE.AUTOMOBILE !  SIMILAIRES : RENAULT CLIO IV PEUGEOT 208 VOLKSWAGEN POLO SEAT IBIZA TOYTA YARIS  Référence annonce : 34"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:12:01 [INFO] [fiesta] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:12:01 [INFO] [fiesta] [STATS] ━━━ LLM DESC OUTPUT batch 1/5 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3169409470",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Audio - Télécommunications",
      "6 Haut parleurs",
      "Kit mains-libres Bluetooth",
      "Feux de jour à LED",
      "Jantes Alu",
      "Rétroviseurs dégivrants",
      "Clim manuelle",
      "Pack Hiver",
      "Vitres arrière surteintées",
      "Vitres avant électriques",
      "Volant cuir",
      "Phares antibrouillard",
      "Noir Shadow",
      "Tapis de sol avant et arrière"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:12:01 [INFO] [fiesta] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:12:01 [INFO] [fiesta] [STATS] ━━━ LLM DESC INPUT batch 2/5 (1 annonces) ━━━
3187602035: "🚗 À VENDRE – Ford Fiesta 2015 – diesel – dans l’état    Je mets en vente ma Ford Fiesta 2015 diesel, kilométrage élevé, vendue dans l’état.  ✔️ Gros entretien et nombreuses pièces récentes :   - Alternateur changé récemment   - Plaquettes de frein neuves   - Rotules de suspension remplacées   - Amortisseurs avant (gauche et droite) changés   - Amortisseurs arrière changés   - Tampons et kit de protection remplacés   - Serrures de portières gauche et droite remplacées   - Filtre à huile et filtre habitacle neufs   - Filtre à carburant (diesel) changé   - Contrôles moteur / diesel effectués    ✔️ Contrôle technique effectué   ✔️ Factures disponibles pour l’ensemble des réparations   ✔️ Véhicule entretenu régulièrement    ⚠️ Véhicule vendu dans l’état (usure normale liée au kilométrage élevé)- embrayage à changer. Carrosserie abîmée.  💬 Prix à débattre raisonnablement devant le véhicule   📍 Visible sur le gosier"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:12:03 [INFO] [fiesta] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:12:03 [INFO] [fiesta] [STATS] ━━━ LLM DESC OUTPUT batch 2/5 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187602035",
    "courroie_changee": null,
    "embrayage_change": false,
    "travaux_recents": [
      "alternateur changé récemment",
      "plaquettes de frein neuves",
      "rotules de suspension remplacées",
      "amortisseurs avant (gauche et droite) changés",
      "amortisseurs arrière changés",
      "tampons et kit de protection remplacés",
      "serrures de portières gauche et droite remplacées",
      "filtre à huile et filtre habitacle neufs",
      "filtre à carburant (diesel) changé",
      "contrôles moteur / diesel effectués"
    ],
    "negociabilite": "négociable",
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": true
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:12:03 [INFO] [fiesta] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:12:03 [INFO] [fiesta] [STATS] ━━━ LLM DESC INPUT batch 3/5 (1 annonces) ━━━
3187633642: "Je vends ma Ford Fiesta 2015  essence avec 99 500 km, en très bon état général.  Véhicule propre, bien entretenu, aucun frais à prévoir. Conduite agréable, idéale pour la ville comme pour les trajets plus longs. Disponible immédiatement"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:12:04 [INFO] [fiesta] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:12:04 [INFO] [fiesta] [STATS] ━━━ LLM DESC OUTPUT batch 3/5 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187633642",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:12:04 [INFO] [fiesta] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:12:04 [INFO] [fiesta] [STATS] ━━━ LLM DESC INPUT batch 4/5 (1 annonces) ━━━
3187656207: "Voiture en très bon état, bien entretenu Contrôle technique ok pour la vente  Voiture commerciale 2 places. Les 4  pneus sont neufs, la vidange est faite, pas de frais à prévoir  Possibilité de la voir sur Nice EST, saint Laurent du Var ou Cagnes sur Mer suivant les jours."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:12:05 [INFO] [fiesta] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:12:05 [INFO] [fiesta] [STATS] ━━━ LLM DESC OUTPUT batch 4/5 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187656207",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [
      "pneus neufs",
      "vidange faite"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "voiture commerciale 2 places"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:12:05 [INFO] [fiesta] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:12:05 [INFO] [fiesta] [STATS] ━━━ LLM DESC INPUT batch 5/5 (1 annonces) ━━━
3187672375: "Ford Fiesta 1.0 EcoBoost 100 ch S&S BVM6 Titanium berline, bleu médium métal, 5 cv, première mise en circulation le 30/07/2019.  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 Paris 1 RUE D'ILE DE FRANCE 94460 VALENTON  5 places  OPTIONS ET ÉQUIPEMENTS : Audio - Télécommunications :   -  autoradio   - Bluetooth   - GPS  Conduite :   - allumage automatique des feux   - détecteur de pluie   - régulateur de vitesse  Extérieur :   - jantes : aluminium   - retroviseurs rabattable electriquement   - système d'aide au stationnement  Intérieur :   -  banquette arriere modulable   - Cache bagages   - climatisation   - direction assistée   - fermeture centralisée   - ordinateur de bord   - vitres surteintées  Pack :   - GPS couleur   - volant multifonctions  Sécurité :   -  anti-brouillard   - ESP  Autres équipements et informations :   - Classe Crit'air : 1  Référence annonce : 11397024"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:12:07 [INFO] [fiesta] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:12:07 [INFO] [fiesta] [STATS] ━━━ LLM DESC OUTPUT batch 5/5 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187672375",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "autoradio",
      "Bluetooth",
      "GPS",
      "allumage automatique des feux",
      "détecteur de pluie",
      "régulateur de vitesse",
      "jantes aluminium",
      "retroviseurs rabattable electriquement",
      "système d'aide au stationnement",
      "banquette arriere modulable",
      "Cache bagages",
      "climatisation",
      "direction assistée",
      "fermeture centralisée",
      "ordinateur de bord",
      "vitres surteintées",
      "GPS couleur",
      "volant multifonctions",
      "anti-brouillard",
      "ESP"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:12:07 [INFO] [fiesta] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:12:07 [INFO] [fiesta] [STATS] Évaluations insérées : 5
2026-04-28 08:12:07 [INFO] [fiesta] [STATS] ANALYSE TERMINEE en 13.2s — 3589 annonces (run #890) — Modele: fiesta
2026-04-28 08:12:08 [INFO] [fiesta] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model fiesta
2026-04-28 08:12:08 [INFO] [fiesta] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 08:12:08 [INFO] [fiesta] [LLM] Annonces sans evaluation LLM : 0
2026-04-28 08:12:08 [INFO] [fiesta] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-28 08:12:08 [INFO] [fiesta] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model fiesta
2026-04-28 08:12:09 [INFO] [fiesta] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 08:12:09 [INFO] [fiesta] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:12:09 [INFO] [fiesta] [LLM DESC] Champs actifs : 8
2026-04-28 08:12:09 [INFO] [fiesta] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-28 08:12:09 [INFO] [fiesta] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-28 08:12:09 [INFO] [nv200] [LLM DESC] [8/8] NV200 (brand=nissan, pages=auto)
2026-04-28 08:12:09 [INFO] [nv200] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=5&text=nv200&u_utility_brand=NISSAN&...
2026-04-28 08:12:09 [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-28 08:12:09 [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-28 08:12:13 [INFO] [nv200] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-28 08:12:13 [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-28 08:12:16 [INFO] [nv200] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-28 08:12:16 [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-28 08:12:19 [INFO] [nv200] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-28 08:12:19 [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-28 08:12:21 [INFO] [nv200] [SEARCH] 2 annonces recuperees (total: 107)
2026-04-28 08:12:21 [INFO] [nv200] [SEARCH] Recuperation de la page 5 avec l'URL: https://www.leboncoin.fr/recherche?category=5&text=nv200&u_utility_brand=NISSAN&u_utility_model=NISSAN_NV200&fuel=2&page=5
2026-04-28 08:12:23 [INFO] [nv200] [SEARCH] Page 5 : aucune annonce, arret de la pagination.
2026-04-28 08:12:23 [INFO] [nv200] [SEARCH] Termine : 107 annonces au total dans /home/ubuntu/app/leboncoin_ads_nv200_20260428_081209.csv
2026-04-28 08:12:23 [INFO] [nv200] [SEARCH] CSV : leboncoin_ads_nv200_20260428_081209.csv
2026-04-28 08:12:23 [INFO] [nv200] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_nv200_20260428_081209.csv --db /home/ubuntu/app/db/lbc.sqlite --model nv200
2026-04-28 08:12:23 [INFO] [nv200] [IMPORT] Model override : nv200
2026-04-28 08:12:23 [INFO] [nv200] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-28 08:12:23 [INFO] [nv200] [IMPORT] Fichier: leboncoin_ads_nv200_20260428_081209.csv
2026-04-28 08:12:23 [INFO] [nv200] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:12:23 [INFO] [nv200] [IMPORT] 107 lus, 107 inseres, 0 ignores, 0 erreurs
2026-04-28 08:12:23 [INFO] [nv200] [IMPORT] TOTAL : 107 lus, 107 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:12:23 [INFO] [nv200] [IMPORT] 15310 annonces en base
2026-04-28 08:12:23 [INFO] [nv200] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_nv200_20260428_081209.csv --brand nissan --model nv200 --db /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:12:23 [INFO] [nv200] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_nv200_20260428_081209.csv, Brand: nissan, Model: nv200
2026-04-28 08:12:23 [INFO] [nv200] [AVAILABILITY] 107 list_id lus dans le CSV.
2026-04-28 08:12:23 [INFO] [nv200] [AVAILABILITY] 107 annonces actives en base pour nissan nv200.
2026-04-28 08:12:23 [INFO] [nv200] [AVAILABILITY] Aucune annonce manquante — toutes présentes dans le crawl.
2026-04-28 08:12:23 [INFO] [nv200] [AVAILABILITY] CSV: 107, Actives DB: 107, Absentes: 0
2026-04-28 08:12:23 [INFO] [nv200] [AVAILABILITY] Marquees indisponibles: 0
2026-04-28 08:12:23 [INFO] [nv200] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model nv200 --delay 0.5 --limit 200
2026-04-28 08:12:23 [INFO] [nv200] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: nv200 — Limite: 200
2026-04-28 08:12:23 [INFO] [nv200] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:12:23 [INFO] [nv200] [DETAIL] 2 annonce(s) à enrichir (modèle: nv200)
2026-04-28 08:12:27 [INFO] [nv200] [DETAIL] RESULTAT : 2 traitee(s), 2 enrichies, 0 introuvables, 0 erreurs
2026-04-28 08:12:27 [INFO] [nv200] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model nv200 --skip-plots
2026-04-28 08:12:27 [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-28 08:12:30 [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-28 08:12:30 [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-28 08:12:31 [INFO] [nv200] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 08:12:31 [INFO] [nv200] [STATS] Annonces sans evaluation LLM : 2
2026-04-28 08:12:33 [INFO] [nv200] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:12:33 [INFO] [nv200] [STATS] LLM OUTPUT batch 1/1: 2 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 08:12:33 [INFO] [nv200] [STATS] Resultats extraits : 2
2026-04-28 08:12:33 [INFO] [nv200] [STATS] Evaluations inserees : 2
2026-04-28 08:12:34 [INFO] [nv200] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-28 08:12:34 [INFO] [nv200] [STATS]   modele_regression : 2 lignes insérées
2026-04-28 08:12:34 [INFO] [nv200] [STATS]   referentiel_prix : 55 segments insérés
2026-04-28 08:12:34 [INFO] [nv200] [STATS]   ads.deal_columns : 347 annonces mises à jour
2026-04-28 08:12:34 [INFO] [nv200] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 08:12:34 [INFO] [nv200] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:12:34 [INFO] [nv200] [STATS] Champs actifs : 8
2026-04-28 08:12:34 [INFO] [nv200] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 2
2026-04-28 08:12:34 [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-28 08:12:34 [INFO] [nv200] [STATS] ━━━ LLM DESC INPUT batch 1/2 (1 annonces) ━━━
3171503670: "NISSAN NV200 123 000 Kms 1ère mise en circulation : 28/02/2013 Le contrôle technique sera réalisé pour la vente Vente avec facture 8500 € TTC"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:12:35 [INFO] [nv200] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:12:35 [INFO] [nv200] [STATS] ━━━ LLM DESC OUTPUT batch 1/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3171503670",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": 1,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:12:35 [INFO] [nv200] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:12:35 [INFO] [nv200] [STATS] ━━━ LLM DESC INPUT batch 2/2 (1 annonces) ━━━
3187696357: "NISSAN NV 200 1.5 DCI 8V-TURBO 110 CH  - ANNEE 2014 - 228 702 KM - PROCEDURE RSV  *Uniquement vendu à Professionnel*  ATTENTION VEHICULE AVEC PROCEDURE RSV (SUIVI D’EXPERT) Dossier d'expertise disponible - Possibilité d'envoi. Véhicule à vendre dans l'état, sans contrôle technique, ni garantie. UNIQUEMENT aux professionnels de l'automobile avec un KBIS ou pour export.  HEURES D'OUVERTURE : Du lundi au vendredi : 8h00-12h00 et 13h00-17h00 Le samedi : 08h00-12h00"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:12:36 [INFO] [nv200] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 08:12:36 [INFO] [nv200] [STATS] ━━━ LLM DESC OUTPUT batch 2/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187696357",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": "procedure RSV",
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 08:12:36 [INFO] [nv200] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 08:12:36 [INFO] [nv200] [STATS] Évaluations insérées : 2
2026-04-28 08:12:36 [INFO] [nv200] [STATS] ANALYSE TERMINEE en 6.5s — 347 annonces (run #891) — Modele: nv200
2026-04-28 08:12:37 [INFO] [nv200] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model nv200
2026-04-28 08:12:37 [INFO] [nv200] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 08:12:37 [INFO] [nv200] [LLM] Annonces sans evaluation LLM : 0
2026-04-28 08:12:37 [INFO] [nv200] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-28 08:12:37 [INFO] [nv200] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model nv200
2026-04-28 08:12:38 [INFO] [nv200] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 08:12:38 [INFO] [nv200] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 08:12:38 [INFO] [nv200] [LLM DESC] Champs actifs : 8
2026-04-28 08:12:38 [INFO] [nv200] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-28 08:12:38 [INFO] [nv200] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-28 08:12:38 [INFO] [nv200] [LLM DESC] .env restaure
2026-04-28 08:12:38 [INFO] [GLOBAL] [SUMMARY] clio_4               -> OK
2026-04-28 08:12:38 [INFO] [GLOBAL] [SUMMARY] i20                  -> OK
2026-04-28 08:12:38 [INFO] [GLOBAL] [SUMMARY] berlingo             -> OK
2026-04-28 08:12:38 [INFO] [GLOBAL] [SUMMARY] c4                   -> OK
2026-04-28 08:12:38 [INFO] [GLOBAL] [SUMMARY] scenic               -> OK
2026-04-28 08:12:38 [INFO] [GLOBAL] [SUMMARY] 5008                 -> OK
2026-04-28 08:12:38 [INFO] [GLOBAL] [SUMMARY] fiesta               -> OK
2026-04-28 08:12:38 [INFO] [GLOBAL] [SUMMARY] nv200                -> OK
2026-04-28 08:12:38 [INFO] [GLOBAL] [SUMMARY] Summary ecrit dans /home/ubuntu/app/logs/crawl/20260428_080000/_summary.json