Administration

← Retour

Log : 20260428_200000

OK
Durée : 901s 8 OK 5510 annonces
clio_4 i20 berlingo c4 scenic 5008 fiesta nv200
2026-04-28 20:00:00 [INFO] [GLOBAL] [INIT] CRAWL ALL — 8 modele(s)
2026-04-28 20:00:00 [INFO] [clio_4] [INIT] [1/8] CLIO_4 (brand=renault, pages=auto)
2026-04-28 20:00:00 [INFO] [clio_4] [INIT] URL: https://www.leboncoin.fr/recherche?category=2&text=clio%204&price=3000-9000&regd...
2026-04-28 20: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 20: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 20:00:03 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-28 20:00:03 [INFO] [clio_4] [SEARCH] Recuperation de la page 2 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=2
2026-04-28 20:00:06 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-28 20:00:06 [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 20:00:09 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-28 20:00:09 [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 20:00:11 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-28 20:00:11 [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 20:00:13 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-28 20:00:13 [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 20:00:16 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-28 20:00:16 [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 20:00:18 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 245)
2026-04-28 20:00:18 [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 20:00:21 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 280)
2026-04-28 20:00:21 [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 20:00:23 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 315)
2026-04-28 20:00:23 [INFO] [clio_4] [SEARCH] Recuperation de la page 10 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=clio+4&price=3000-9000&regdate=2016-max&u_car_brand=RENAULT&u_car_model=RENAULT_Clio&gearbox=1&seats=5%2C4&order=asc&page=10
2026-04-28 20:00:26 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 350)
2026-04-28 20:00:26 [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 20:00:28 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 385)
2026-04-28 20:00:28 [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 20:00:30 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 420)
2026-04-28 20:00:30 [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 20:00:32 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 455)
2026-04-28 20:00:32 [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 20:00:35 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 490)
2026-04-28 20:00:35 [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 20:00:38 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 525)
2026-04-28 20:00:38 [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 20:00:41 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 560)
2026-04-28 20:00:41 [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 20:00:43 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 595)
2026-04-28 20:00:43 [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 20:00:46 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 630)
2026-04-28 20:00:46 [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 20:00:49 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 665)
2026-04-28 20:00:49 [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 20:00:51 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 700)
2026-04-28 20:00:51 [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 20:00:54 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 735)
2026-04-28 20:00:54 [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 20:00:57 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 770)
2026-04-28 20:00:57 [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 20:01:00 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 805)
2026-04-28 20:01:00 [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 20:01:07 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 840)
2026-04-28 20:01:07 [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 20:01:10 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 875)
2026-04-28 20:01:10 [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 20:01:12 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 910)
2026-04-28 20:01:12 [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 20:01:15 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 945)
2026-04-28 20:01:15 [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 20:01:18 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 980)
2026-04-28 20:01:18 [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 20:01:20 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1015)
2026-04-28 20:01:20 [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 20:01:22 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1050)
2026-04-28 20:01:22 [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 20:01:25 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1085)
2026-04-28 20:01:25 [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 20:01:31 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1120)
2026-04-28 20:01:31 [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 20:01:34 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1155)
2026-04-28 20:01:34 [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 20:01:36 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1190)
2026-04-28 20:01:36 [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 20:01:38 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1225)
2026-04-28 20:01:38 [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 20:01:41 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1260)
2026-04-28 20:01:41 [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 20:01:44 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1295)
2026-04-28 20:01:44 [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 20:01:46 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1330)
2026-04-28 20:01:46 [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 20:01:50 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1365)
2026-04-28 20:01:50 [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 20:01:52 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1400)
2026-04-28 20:01:52 [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 20:01:55 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1435)
2026-04-28 20:01:55 [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 20:01:58 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1470)
2026-04-28 20:01:58 [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 20:02:02 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1505)
2026-04-28 20:02:02 [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 20:02:05 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1540)
2026-04-28 20:02:05 [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 20:02:08 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1575)
2026-04-28 20:02:08 [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 20:02:11 [INFO] [clio_4] [SEARCH] 35 annonces recuperees (total: 1610)
2026-04-28 20:02:11 [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 20:02:13 [INFO] [clio_4] [SEARCH] 30 annonces recuperees (total: 1640)
2026-04-28 20:02:13 [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 20:02:15 [INFO] [clio_4] [SEARCH] Page 48 : aucune annonce, arret de la pagination.
2026-04-28 20:02:15 [INFO] [clio_4] [SEARCH] Termine : 1640 annonces au total dans /home/ubuntu/app/leboncoin_ads_clio_4_20260428_200000.csv
2026-04-28 20:02:15 [INFO] [clio_4] [SEARCH] CSV : leboncoin_ads_clio_4_20260428_200000.csv
2026-04-28 20:02:15 [INFO] [clio_4] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_clio_4_20260428_200000.csv --db /home/ubuntu/app/db/lbc.sqlite --model clio_4
2026-04-28 20:02:15 [INFO] [clio_4] [IMPORT] Model override : clio_4
2026-04-28 20:02:15 [INFO] [clio_4] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-28 20:02:15 [INFO] [clio_4] [IMPORT] Fichier: leboncoin_ads_clio_4_20260428_200000.csv
2026-04-28 20:02:15 [INFO] [clio_4] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:02:19 [INFO] [clio_4] [IMPORT] 1640 lus, 1640 inseres, 0 ignores, 0 erreurs
2026-04-28 20:02:19 [INFO] [clio_4] [IMPORT] TOTAL : 1640 lus, 1640 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:02:19 [INFO] [clio_4] [IMPORT] 15421 annonces en base
2026-04-28 20:02:19 [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_200000.csv --brand renault --model clio_4 --db /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:02:19 [INFO] [clio_4] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_clio_4_20260428_200000.csv, Brand: renault, Model: clio_4
2026-04-28 20:02:19 [INFO] [clio_4] [AVAILABILITY] 1628 list_id lus dans le CSV.
2026-04-28 20:02:19 [INFO] [clio_4] [AVAILABILITY] 1667 annonces actives en base pour renault clio_4.
2026-04-28 20:02:19 [INFO] [clio_4] [AVAILABILITY] 39 annonce(s) marquées indisponibles.
2026-04-28 20:02:19 [INFO] [clio_4] [AVAILABILITY] CSV: 1628, Actives DB: 1667, Absentes: 39
2026-04-28 20:02:19 [INFO] [clio_4] [AVAILABILITY] Marquees indisponibles: 39
2026-04-28 20:02:19 [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 20:02:19 [INFO] [clio_4] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: clio_4 — Limite: 200
2026-04-28 20:02:19 [INFO] [clio_4] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:02:19 [INFO] [clio_4] [DETAIL] 31 annonce(s) à enrichir (modèle: clio_4)
2026-04-28 20:02:37 [INFO] [clio_4] [DETAIL] Progression : 10/31 (enrichies: 10, introuvables: 0, erreurs: 0)
2026-04-28 20:02:58 [INFO] [clio_4] [DETAIL] Progression : 20/31 (enrichies: 20, introuvables: 0, erreurs: 0)
2026-04-28 20:03:22 [INFO] [clio_4] [DETAIL] Progression : 30/31 (enrichies: 30, introuvables: 0, erreurs: 0)
2026-04-28 20:03:25 [INFO] [clio_4] [DETAIL] RESULTAT : 31 traitee(s), 31 enrichies, 0 introuvables, 0 erreurs
2026-04-28 20:03:25 [INFO] [clio_4] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model clio_4 --skip-plots
2026-04-28 20:03:25 [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 20:03:30 [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 20:03:30 [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 20:03:31 [INFO] [clio_4] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 20:03:31 [INFO] [clio_4] [STATS] Annonces sans evaluation LLM : 31
2026-04-28 20:03:58 [INFO] [clio_4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:03:58 [INFO] [clio_4] [STATS] LLM OUTPUT batch 1/2: 30 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 20:03:59 [INFO] [clio_4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:03:59 [INFO] [clio_4] [STATS] LLM OUTPUT batch 2/2: 1 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 20:03:59 [INFO] [clio_4] [STATS] Resultats extraits : 31
2026-04-28 20:03:59 [INFO] [clio_4] [STATS] Evaluations inserees : 31
2026-04-28 20:04:02 [INFO] [clio_4] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-28 20:04:02 [INFO] [clio_4] [STATS]   modele_regression : 2 lignes insérées
2026-04-28 20:04:02 [INFO] [clio_4] [STATS]   referentiel_prix : 55 segments insérés
2026-04-28 20:04:04 [INFO] [clio_4] [STATS]   ads.deal_columns : 5542 annonces mises à jour
2026-04-28 20:04:04 [INFO] [clio_4] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 20:04:04 [INFO] [clio_4] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:04:04 [INFO] [clio_4] [STATS] Champs actifs : 8
2026-04-28 20:04:04 [INFO] [clio_4] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 5
2026-04-28 20:04:04 [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 20:04:04 [INFO] [clio_4] [STATS] ━━━ LLM DESC INPUT batch 1/5 (1 annonces) ━━━
3187973750: "Uniquement pour export  Bonjour. Je met en vente un clio 4 1.5 dci de 75ch.declaration de perte cg et 1 partie carte grise belge Options et équipement : Vitre electrique.clim gps bleutoth .radar de recul.reglatur et limiteur de vitesse.aucun voyant allumé.carrosérie en bon état générale.le prix légèrement négociable. Le proposition de 3300 passez votre chemin.ordiaement"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:04:05 [INFO] [clio_4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:04:05 [INFO] [clio_4] [STATS] ━━━ LLM DESC OUTPUT batch 1/5 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187973750",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": "négociable",
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Vitre electrique",
      "clim",
      "gps",
      "bleutoth",
      "radar de recul",
      "reglatur",
      "limiteur de vitesse"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:04:06 [INFO] [clio_4] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:04:06 [INFO] [clio_4] [STATS] ━━━ LLM DESC INPUT batch 2/5 (1 annonces) ━━━
3188008106: "🕑 OUVERT DEPUIS 11 ANS  🎯 AUTO VICOIGNE TRANSACTION PROPOSE EN VENTE   📌 Renault Clio 4/IV Zen / TCE 90 ch / GPS / Entretiens à jours 🖇 Essence / 5Cv / An 03/2017/  125 947  kms 💰 Prix : 5 990 euros/ Référence : VO-2157 🎯 Possibilité de garantie    📋 Equipement les plus importants Finition : Zen  Système de navigation / GPS Régulateur / Limiteur de vitesse Kit mains-libres / Bluetooth Climatisation / Air conditionnée  Ecran Tactile  Vitres électriques Rétroviseurs électriques Commande au volant multifonction Prise USB / 12V/ AUX Feux de jour LED Jantes 16 “  🛠 Historique du Véhicule :  18 mai 2017 : 1329 kms 24 juin 2019 : 17 748 kms 09 mars 2021 : 25 034 kms 15 novembre 2021 : 27 720 kms 20 octobre 2022 : 42 054 kms 12 aout 2024 : 71 461. Kms 07 mars 2025 : 86 251 kms 18 aout 2025 : 103 558 kms 17 décembre 2025 : 117 676 kms 28 avril 2026 : 125 948 kms  🛠 Sécurité : Fermeture centralisée à distance Airbag frontaux / latéraux Antidémarrage et Abs  📚Le véhicule présenté sera vendu avec : Contrôle technique validée sur 2 ans  Carpass 2 Clés centralisées  📚    Garantie professionnelle :  Sans Garantie : 5 990 euros Garantie 6 mois : 6 490 euros Garantie 12 mois : 6 990 euros Garantie 24 mois : 7 990 euros  📝Les conditions générales de vente Nous nous occupons de vos démarches administratives Le tarif de votre Carte Grise + Prestation sont à votre Charge Carte d’identité + Permis + Justificatif de domicile Requis Nous acceptons uniquement les virements et Carte Bleu  💰 Facilité d..."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:04:09 [INFO] [clio_4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:04:09 [INFO] [clio_4] [STATS] ━━━ LLM DESC OUTPUT batch 2/5 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188008106",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "GPS",
      "Régulateur de vitesse",
      "Limiteur de vitesse",
      "Kit mains-libres",
      "Bluetooth",
      "Climatisation",
      "Air conditionnée",
      "Ecran Tactile",
      "Vitres électriques",
      "Rétroviseurs électriques",
      "Commande au volant multifonction",
      "Prise USB",
      "Prise 12V",
      "Prise AUX",
      "Feux de jour LED",
      "Jantes 16 pouces",
      "Fermeture centralisée à distance",
      "Airbag frontaux",
      "Airbag latéraux",
      "Antidémarrage",
      "ABS"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:04:09 [INFO] [clio_4] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:04:09 [INFO] [clio_4] [STATS] ━━━ LLM DESC INPUT batch 3/5 (1 annonces) ━━━
3188029321: "En l état faible kilomerage d origine réparation comme sur les photo"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:04:10 [INFO] [clio_4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:04:10 [INFO] [clio_4] [STATS] ━━━ LLM DESC OUTPUT batch 3/5 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188029321",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:04:10 [INFO] [clio_4] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:04:10 [INFO] [clio_4] [STATS] ━━━ LLM DESC INPUT batch 4/5 (1 annonces) ━━━
3188046616: "RENAULT Clio IV 4  Phase 2 5 Portes BUSINESS 1.5 dCi 75 cv RADAR DE RECUL IDEAL JEUNE PERMIS, berline, gris, 4 cv, première mise en circulation le 12/02/2019.  * REPRISE POSSIBLE DE VOTRE ANCIEN VÉHICULE - RADAR DE RECUL - ENTRETIEN COMPLET - RIEN A PREVOIR - VEHICULE EN BON ETAT - REGULATEUR - LIMITEUR - GPS - MODE ECO *  Extérieur et châssis : - Aide parking - Aide parking AR - Jantes alu 16' - Projecteurs antibrouillard  Intérieur : - Banquette 1/3 - 2/3 - Mode Eco - Climatisation  - Configuration 5 places - GPS - GPS tactile - Ordinateur de bord - Prise audio USB - Prise audio auxiliaire - Prédisposition téléphone - Régulateur de vitesse - Limiteur de vitesse  - Système carte SD MP3 - Vitres ar. Surtéintées - Volant multifonctions - Volant règlable en hauteur - Volant règlable en hauteur et profondeur - 2 vitres électriques  Sécurité : - ABS - Airbags front. + lat. - Contrôle de pression des pneus - Direction assistée - ESP - Essui-glaces automatiques - Feux automatiques - Fixations ISOFIX - Kit téléphone main libre Bluetooth Autres : - Factures d'entretien - Kit anti crevaison - Double des clés - Système start & stop"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:04:15 [INFO] [clio_4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:04:15 [INFO] [clio_4] [STATS] ━━━ LLM DESC OUTPUT batch 4/5 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188046616",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [
      "entretien complet"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "radar de recul",
      "régulateur de vitesse",
      "limiteur de vitesse",
      "GPS",
      "mode eco",
      "climatisation",
      "aide parking",
      "aide parking AR",
      "jantes alu 16'",
      "projecteurs antibrouillard",
      "banquette 1/3 - 2/3",
      "GPS tactile",
      "ordinateur de bord",
      "prise audio USB",
      "prise audio auxiliaire",
      "prédisposition téléphone",
      "système carte SD MP3",
      "vitres ar. surtéintées",
      "volant multifonctions",
      "volant réglable en hauteur",
      "volant réglable en hauteur et profondeur",
      "2 vitres électriques",
      "ABS",
      "airbags front. + lat.",
      "contrôle de pression des pneus",
      "direction assistée",
      "ESP",
      "essuie-glaces automatiques",
      "feux automatiques",
      "fixations ISOFIX",
      "kit téléphone main libre Bluetooth",
      "kit anti crevaison",
      "double des clés",
      "système start & stop"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:04:15 [INFO] [clio_4] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:04:15 [INFO] [clio_4] [STATS] ━━━ LLM DESC INPUT batch 5/5 (1 annonces) ━━━
3188059701: "Je vends ma Renault Clio IV de 2017  - Kilométrage : 144 000 km - Motorisation : 75 Ch - Carburant : Essence - Boîte de vitesses : Manuelle - 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 rendez-vous."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:04:17 [INFO] [clio_4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:04:17 [INFO] [clio_4] [STATS] ━━━ LLM DESC OUTPUT batch 5/5 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188059701",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:04:17 [INFO] [clio_4] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:04:17 [INFO] [clio_4] [STATS] Évaluations insérées : 5
2026-04-28 20:04:17 [INFO] [clio_4] [STATS] ANALYSE TERMINEE en 34.6s — 5542 annonces (run #900) — Modele: clio_4
2026-04-28 20:04:17 [INFO] [clio_4] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model clio_4
2026-04-28 20:04:18 [INFO] [clio_4] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 20:04:18 [INFO] [clio_4] [LLM] Annonces sans evaluation LLM : 0
2026-04-28 20:04:18 [INFO] [clio_4] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-28 20:04:18 [INFO] [clio_4] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model clio_4
2026-04-28 20:04:19 [INFO] [clio_4] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 20:04:19 [INFO] [clio_4] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:04:19 [INFO] [clio_4] [LLM DESC] Champs actifs : 8
2026-04-28 20:04:19 [INFO] [clio_4] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-28 20:04:19 [INFO] [clio_4] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-28 20:04:19 [INFO] [i20] [LLM DESC] [2/8] I20 (brand=hyundai, pages=auto)
2026-04-28 20:04:19 [INFO] [i20] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000&regdate=2...
2026-04-28 20:04:19 [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 20:04:19 [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 20:04:22 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-28 20:04:22 [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 20:04:24 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-28 20:04:24 [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 20:04:27 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-28 20:04:27 [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 20:04:31 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-28 20:04:31 [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 20:04:34 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-28 20:04:34 [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 20:04:36 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-28 20:04:36 [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 20:04:38 [INFO] [i20] [SEARCH] 35 annonces recuperees (total: 245)
2026-04-28 20:04:38 [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 20:04:41 [INFO] [i20] [SEARCH] 3 annonces recuperees (total: 248)
2026-04-28 20:04:41 [INFO] [i20] [SEARCH] Recuperation de la page 9 avec l'URL: https://www.leboncoin.fr/recherche?category=2&text=i20&price=3000-9000&regdate=2013-max&gearbox=1&seats=5%2C4&u_car_brand=HYUNDAI&u_car_model=HYUNDAI_i20&order=asc&page=9
2026-04-28 20:04:42 [INFO] [i20] [SEARCH] Page 9 : aucune annonce, arret de la pagination.
2026-04-28 20:04:42 [INFO] [i20] [SEARCH] Termine : 248 annonces au total dans /home/ubuntu/app/leboncoin_ads_i20_20260428_200419.csv
2026-04-28 20:04:42 [INFO] [i20] [SEARCH] CSV : leboncoin_ads_i20_20260428_200419.csv
2026-04-28 20:04:42 [INFO] [i20] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_i20_20260428_200419.csv --db /home/ubuntu/app/db/lbc.sqlite --model i20
2026-04-28 20:04:42 [INFO] [i20] [IMPORT] Model override : i20
2026-04-28 20:04:42 [INFO] [i20] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-28 20:04:42 [INFO] [i20] [IMPORT] Fichier: leboncoin_ads_i20_20260428_200419.csv
2026-04-28 20:04:42 [INFO] [i20] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:04:43 [INFO] [i20] [IMPORT] 248 lus, 248 inseres, 0 ignores, 0 erreurs
2026-04-28 20:04:43 [INFO] [i20] [IMPORT] TOTAL : 248 lus, 248 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:04:43 [INFO] [i20] [IMPORT] 15425 annonces en base
2026-04-28 20:04:43 [INFO] [i20] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_i20_20260428_200419.csv --brand hyundai --model i20 --db /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:04:43 [INFO] [i20] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_i20_20260428_200419.csv, Brand: hyundai, Model: i20
2026-04-28 20:04:43 [INFO] [i20] [AVAILABILITY] 248 list_id lus dans le CSV.
2026-04-28 20:04:43 [INFO] [i20] [AVAILABILITY] 249 annonces actives en base pour hyundai i20.
2026-04-28 20:04:43 [INFO] [i20] [AVAILABILITY] 1 annonce(s) marquées indisponibles.
2026-04-28 20:04:43 [INFO] [i20] [AVAILABILITY] CSV: 248, Actives DB: 249, Absentes: 1
2026-04-28 20:04:43 [INFO] [i20] [AVAILABILITY] Marquees indisponibles: 1
2026-04-28 20:04:43 [INFO] [i20] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model i20 --delay 0.5 --limit 200
2026-04-28 20:04:43 [INFO] [i20] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: i20 — Limite: 200
2026-04-28 20:04:43 [INFO] [i20] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:04:43 [INFO] [i20] [DETAIL] 4 annonce(s) à enrichir (modèle: i20)
2026-04-28 20:04:50 [INFO] [i20] [DETAIL] RESULTAT : 4 traitee(s), 4 enrichies, 0 introuvables, 0 erreurs
2026-04-28 20:04:51 [INFO] [i20] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model i20 --skip-plots
2026-04-28 20:04:51 [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 20:04:55 [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 20:04:55 [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 20:04:55 [INFO] [i20] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 20:04:56 [INFO] [i20] [STATS] Annonces sans evaluation LLM : 4
2026-04-28 20:05:01 [INFO] [i20] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:05:01 [INFO] [i20] [STATS] LLM OUTPUT batch 1/1: 4 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 20:05:01 [INFO] [i20] [STATS] Resultats extraits : 4
2026-04-28 20:05:01 [INFO] [i20] [STATS] Evaluations inserees : 4
2026-04-28 20:05:01 [INFO] [i20] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-28 20:05:01 [INFO] [i20] [STATS]   modele_regression : 2 lignes insérées
2026-04-28 20:05:01 [INFO] [i20] [STATS]   referentiel_prix : 46 segments insérés
2026-04-28 20:05:02 [INFO] [i20] [STATS]   ads.deal_columns : 669 annonces mises à jour
2026-04-28 20:05:02 [INFO] [i20] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 20:05:02 [INFO] [i20] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:05:02 [INFO] [i20] [STATS] Champs actifs : 8
2026-04-28 20:05:02 [INFO] [i20] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 3
2026-04-28 20:05:02 [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 20:05:02 [INFO] [i20] [STATS] ━━━ LLM DESC INPUT batch 1/3 (1 annonces) ━━━
3167279159: "Hyundai i20 1.2 gdi 100 cv ess  Ann 10/2017 138800 kilomètres ct/ok  Prix :7900€"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:05:03 [INFO] [i20] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:05:03 [INFO] [i20] [STATS] ━━━ LLM DESC OUTPUT batch 1/3 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3167279159",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:05:03 [INFO] [i20] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:05:03 [INFO] [i20] [STATS] ━━━ LLM DESC INPUT batch 2/3 (1 annonces) ━━━
3187919699: "Hyndai i20 .. 2015     72 000 km ct vierge entretenu . Dernière révision faite et disque et plaquette 2 clefs  Superbe citadine. Affaire à saisir"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:05:05 [INFO] [i20] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:05:05 [INFO] [i20] [STATS] ━━━ LLM DESC OUTPUT batch 2/3 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187919699",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [
      "dernière révision faite",
      "disque et plaquette refaits"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:05:05 [INFO] [i20] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:05:05 [INFO] [i20] [STATS] ━━━ LLM DESC INPUT batch 3/3 (1 annonces) ━━━
3187981448: "Je vends ma Hyundai i20 CRDI de 2013, une berline compacte économique et fiable. - Marque : Hyundai - Modèle : i20 - Année : 2013 - Kilométrage : 59 104 km - Motorisation : 1.1 CRDi 75 ch - Carburant : Diesel - Boîte de vitesses : Manuelle - Finition : Pack Inventive - Nombre de portes : 5 - Nombre de sièges : 5 - Puissance fiscale : 4 CV - Crit'Air : 2 - Contrôle technique : Valide jusqu'en 02/2028 - Couleur : Rouge  Frais récent :  Vidange  Amortisseurs Pneus Essuie glace  Contrôle technique   Fait chez Hyundai Arles.   N'hésitez pas à me contacter pour plus d'informations ou pour organiser un essai."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:05:06 [INFO] [i20] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:05:06 [INFO] [i20] [STATS] ━━━ LLM DESC OUTPUT batch 3/3 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187981448",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [
      "Vidange",
      "Amortisseurs",
      "Pneus",
      "Essuie glace",
      "Contrôle technique"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:05:06 [INFO] [i20] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:05:06 [INFO] [i20] [STATS] Évaluations insérées : 3
2026-04-28 20:05:06 [INFO] [i20] [STATS] ANALYSE TERMINEE en 10.4s — 669 annonces (run #901) — Modele: i20
2026-04-28 20:05:07 [INFO] [i20] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model i20
2026-04-28 20:05:07 [INFO] [i20] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 20:05:07 [INFO] [i20] [LLM] Annonces sans evaluation LLM : 0
2026-04-28 20:05:07 [INFO] [i20] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-28 20:05:07 [INFO] [i20] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model i20
2026-04-28 20:05:08 [INFO] [i20] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 20:05:08 [INFO] [i20] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:05:08 [INFO] [i20] [LLM DESC] Champs actifs : 8
2026-04-28 20:05:08 [INFO] [i20] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-28 20:05:08 [INFO] [i20] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-28 20:05:08 [INFO] [berlingo] [LLM DESC] [3/8] BERLINGO (brand=citroen, pages=auto)
2026-04-28 20:05:08 [INFO] [berlingo] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=5&text=berlingo+xl&u_utility_brand=C...
2026-04-28 20:05:08 [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 20:05:09 [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 20:05:11 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-28 20:05:11 [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 20:05:15 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-28 20:05:15 [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 20:05:17 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-28 20:05:17 [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 20:05:20 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-28 20:05:20 [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 20:05:23 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-28 20:05:23 [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 20:05:27 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-28 20:05:27 [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 20:05:32 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 245)
2026-04-28 20:05:32 [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 20:05:35 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 280)
2026-04-28 20:05:35 [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 20:05:37 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 315)
2026-04-28 20:05:37 [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 20:05:41 [INFO] [berlingo] [SEARCH] 35 annonces recuperees (total: 350)
2026-04-28 20:05:41 [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 20:05:43 [INFO] [berlingo] [SEARCH] 19 annonces recuperees (total: 369)
2026-04-28 20:05:43 [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 20:05:46 [INFO] [berlingo] [SEARCH] Page 12 : aucune annonce, arret de la pagination.
2026-04-28 20:05:46 [INFO] [berlingo] [SEARCH] Termine : 369 annonces au total dans /home/ubuntu/app/leboncoin_ads_berlingo_20260428_200509.csv
2026-04-28 20:05:46 [INFO] [berlingo] [SEARCH] CSV : leboncoin_ads_berlingo_20260428_200509.csv
2026-04-28 20:05:46 [INFO] [berlingo] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_berlingo_20260428_200509.csv --db /home/ubuntu/app/db/lbc.sqlite --model berlingo
2026-04-28 20:05:46 [INFO] [berlingo] [IMPORT] Model override : berlingo
2026-04-28 20:05:46 [INFO] [berlingo] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-28 20:05:46 [INFO] [berlingo] [IMPORT] Fichier: leboncoin_ads_berlingo_20260428_200509.csv
2026-04-28 20:05:46 [INFO] [berlingo] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:05:46 [INFO] [berlingo] [IMPORT] 369 lus, 369 inseres, 0 ignores, 0 erreurs
2026-04-28 20:05:46 [INFO] [berlingo] [IMPORT] TOTAL : 369 lus, 369 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:05:46 [INFO] [berlingo] [IMPORT] 15432 annonces en base
2026-04-28 20:05:46 [INFO] [berlingo] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_berlingo_20260428_200509.csv --brand citroen --model berlingo --db /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:05:47 [INFO] [berlingo] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_berlingo_20260428_200509.csv, Brand: citroen, Model: berlingo
2026-04-28 20:05:47 [INFO] [berlingo] [AVAILABILITY] 368 list_id lus dans le CSV.
2026-04-28 20:05:47 [INFO] [berlingo] [AVAILABILITY] 374 annonces actives en base pour citroen berlingo.
2026-04-28 20:05:47 [INFO] [berlingo] [AVAILABILITY] 6 annonce(s) marquées indisponibles.
2026-04-28 20:05:47 [INFO] [berlingo] [AVAILABILITY] CSV: 368, Actives DB: 374, Absentes: 6
2026-04-28 20:05:47 [INFO] [berlingo] [AVAILABILITY] Marquees indisponibles: 6
2026-04-28 20:05:47 [INFO] [berlingo] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model berlingo --delay 0.5 --limit 200
2026-04-28 20:05:47 [INFO] [berlingo] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: berlingo — Limite: 200
2026-04-28 20:05:47 [INFO] [berlingo] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:05:47 [INFO] [berlingo] [DETAIL] 7 annonce(s) à enrichir (modèle: berlingo)
2026-04-28 20:06:02 [INFO] [berlingo] [DETAIL] RESULTAT : 7 traitee(s), 7 enrichies, 0 introuvables, 0 erreurs
2026-04-28 20:06:02 [INFO] [berlingo] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model berlingo --skip-plots
2026-04-28 20:06:02 [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 20:06:06 [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 20:06:06 [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 20:06:07 [INFO] [berlingo] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 20:06:07 [INFO] [berlingo] [STATS] Annonces sans evaluation LLM : 7
2026-04-28 20:06:14 [INFO] [berlingo] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:06:14 [INFO] [berlingo] [STATS] LLM OUTPUT batch 1/1: 7 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 20:06:14 [INFO] [berlingo] [STATS] Resultats extraits : 7
2026-04-28 20:06:14 [INFO] [berlingo] [STATS] Evaluations inserees : 7
2026-04-28 20:06:15 [INFO] [berlingo] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-28 20:06:15 [INFO] [berlingo] [STATS]   modele_regression : 2 lignes insérées
2026-04-28 20:06:15 [INFO] [berlingo] [STATS]   referentiel_prix : 67 segments insérés
2026-04-28 20:06:15 [INFO] [berlingo] [STATS]   ads.deal_columns : 855 annonces mises à jour
2026-04-28 20:06:15 [INFO] [berlingo] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 20:06:15 [INFO] [berlingo] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:06:15 [INFO] [berlingo] [STATS] Champs actifs : 8
2026-04-28 20:06:15 [INFO] [berlingo] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 2
2026-04-28 20:06:15 [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 20:06:15 [INFO] [berlingo] [STATS] ━━━ LLM DESC INPUT batch 1/2 (1 annonces) ━━━
3177302271: "Citroën Berlingo (30) VAN TAILLE XL 950KG BLUEHDI 100 S&S BVM6 camionnette, blanc icy opaque std, 5 cv, 4 portes, première mise en circulation le 29/03/2024, garantie 12 mois.  Prix TTC : 18 290,00 € Prix HT : 15 241,00 € La TVA est récupérable sur ce véhicule.  2 places boîte de vitesse : manuelle  OPTIONS ET ÉQUIPEMENTS : Audio - Télécommunications :   - Bluetooth   - ecran tactile   - radio numérique  Extérieur :   - caméra de recul   - rétroviseurs rabattables  Intérieur :   -  Plancher en bois 9 mm revêtu antidérapant   - Cabine Extenso Banquette passager 2 places   - climatisation : manuelle   - climatisation manuelle   - vitres électriques  Pack :   - nombre de rapports : 6 vitesses  Spécifique VUL :   - type carrosserie : Fourgon  Sécurité :   - phares antibrouillard   - roue de secours  Autres équipements et informations :   -  Dossier place centrale rabattable (fonction accoudoir) avec tablette écritoire orientable et rangement sous assise   -  Place latérale escamotable avec trappe et housse de protection pour charge longue   -  Teinte de caisse opaque   -  faces latérales et passage de roue en bois (Zone de chargement)   - Puissance kilowatt : 74 kw   - USB   - dimension des jantes : 16 pouces   - empattement : 297 cm   - puissance réelle : 100 ch   - émission CO2 : 146 g/km  Référence annonce : 723566"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:06:18 [INFO] [berlingo] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:06:18 [INFO] [berlingo] [STATS] ━━━ LLM DESC OUTPUT batch 1/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3177302271",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Bluetooth",
      "ecran tactile",
      "radio numérique",
      "caméra de recul",
      "rétroviseurs rabattables",
      "Plancher en bois 9 mm revêtu antidérapant",
      "Cabine Extenso Banquette passager 2 places",
      "climatisation manuelle",
      "vitres électriques",
      "6 vitesses",
      "phares antibrouillard",
      "roue de secours",
      "Dossier place centrale rabattable (fonction accoudoir) avec tablette écritoire orientable et rangement sous assise",
      "Place latérale escamotable avec trappe et housse de protection pour charge longue",
      "Teinte de caisse opaque",
      "faces latérales et passage de roue en bois (Zone de chargement)",
      "USB",
      "jantes 16 pouces"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:06:18 [INFO] [berlingo] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:06:18 [INFO] [berlingo] [STATS] ━━━ LLM DESC INPUT batch 2/2 (1 annonces) ━━━
3187956571: "Berlingo xl ralonge  1.6hdi 99cv année 2018 GPS caméra de recul 121000klm distribution fait pour la vente  Reprise de votre ancien véhicule ✔️ Livraison partout en France  Tous nos véhicules sont visibles sur rendez-vous dans notre parc. Nous privilégions la transparence et la qualité afin de vous proposer des véhicules fiables et prêts à rouler. Véhicules équivalent partner berlingo doblo  dcudo Bieber nemo   📍 Situé en Gironde (Marcheprime)  📞 Contact rapide par téléphone ou message  🕒 Visite sur rendez-vous d'autres modèles de dispos à partir 5999€"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:06:20 [INFO] [berlingo] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:06:20 [INFO] [berlingo] [STATS] ━━━ LLM DESC OUTPUT batch 2/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187956571",
    "courroie_changee": true,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "GPS",
      "caméra de recul"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:06:20 [INFO] [berlingo] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:06:20 [INFO] [berlingo] [STATS] Évaluations insérées : 2
2026-04-28 20:06:20 [INFO] [berlingo] [STATS] ANALYSE TERMINEE en 11.9s — 855 annonces (run #902) — Modele: berlingo
2026-04-28 20:06:20 [INFO] [berlingo] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model berlingo
2026-04-28 20:06:21 [INFO] [berlingo] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 20:06:21 [INFO] [berlingo] [LLM] Annonces sans evaluation LLM : 0
2026-04-28 20:06:21 [INFO] [berlingo] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-28 20:06:21 [INFO] [berlingo] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model berlingo
2026-04-28 20:06:21 [INFO] [berlingo] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 20:06:21 [INFO] [berlingo] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:06:21 [INFO] [berlingo] [LLM DESC] Champs actifs : 8
2026-04-28 20:06:21 [INFO] [berlingo] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-28 20:06:21 [INFO] [berlingo] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-28 20:06:22 [INFO] [c4] [LLM DESC] [4/8] C4 (brand=citroen, pages=auto)
2026-04-28 20:06:22 [INFO] [c4] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=2&text=c4&price=min-11000&regdate=20...
2026-04-28 20:06:22 [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 20:06:22 [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 20:06:24 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-28 20:06:24 [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 20:06:27 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-28 20:06:27 [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 20:06:29 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-28 20:06:29 [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 20:06:31 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-28 20:06:31 [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 20:06:34 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-28 20:06:34 [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 20:06:36 [INFO] [c4] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-28 20:06:36 [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 20:06:38 [INFO] [c4] [SEARCH] 4 annonces recuperees (total: 214)
2026-04-28 20:06:38 [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 20:06:40 [INFO] [c4] [SEARCH] Page 8 : aucune annonce, arret de la pagination.
2026-04-28 20:06:40 [INFO] [c4] [SEARCH] Termine : 214 annonces au total dans /home/ubuntu/app/leboncoin_ads_c4_20260428_200622.csv
2026-04-28 20:06:40 [INFO] [c4] [SEARCH] CSV : leboncoin_ads_c4_20260428_200622.csv
2026-04-28 20:06:40 [INFO] [c4] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_c4_20260428_200622.csv --db /home/ubuntu/app/db/lbc.sqlite --model c4
2026-04-28 20:06:40 [INFO] [c4] [IMPORT] Model override : c4
2026-04-28 20:06:40 [INFO] [c4] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-28 20:06:40 [INFO] [c4] [IMPORT] Fichier: leboncoin_ads_c4_20260428_200622.csv
2026-04-28 20:06:40 [INFO] [c4] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:06:40 [INFO] [c4] [IMPORT] 214 lus, 214 inseres, 0 ignores, 0 erreurs
2026-04-28 20:06:40 [INFO] [c4] [IMPORT] TOTAL : 214 lus, 214 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:06:40 [INFO] [c4] [IMPORT] 15436 annonces en base
2026-04-28 20:06:40 [INFO] [c4] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_c4_20260428_200622.csv --brand citroen --model c4 --db /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:06:40 [INFO] [c4] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_c4_20260428_200622.csv, Brand: citroen, Model: c4
2026-04-28 20:06:40 [INFO] [c4] [AVAILABILITY] 214 list_id lus dans le CSV.
2026-04-28 20:06:41 [INFO] [c4] [AVAILABILITY] 218 annonces actives en base pour citroen c4.
2026-04-28 20:06:41 [INFO] [c4] [AVAILABILITY] 4 annonce(s) marquées indisponibles.
2026-04-28 20:06:41 [INFO] [c4] [AVAILABILITY] CSV: 214, Actives DB: 218, Absentes: 4
2026-04-28 20:06:41 [INFO] [c4] [AVAILABILITY] Marquees indisponibles: 4
2026-04-28 20:06:41 [INFO] [c4] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model c4 --delay 0.5 --limit 200
2026-04-28 20:06:41 [INFO] [c4] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: c4 — Limite: 200
2026-04-28 20:06:41 [INFO] [c4] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:06:41 [INFO] [c4] [DETAIL] 4 annonce(s) à enrichir (modèle: c4)
2026-04-28 20:06:49 [INFO] [c4] [DETAIL] RESULTAT : 4 traitee(s), 4 enrichies, 0 introuvables, 0 erreurs
2026-04-28 20:06:49 [INFO] [c4] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model c4 --skip-plots
2026-04-28 20:06:49 [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 20:06:52 [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 20:06:52 [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 20:06:53 [INFO] [c4] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 20:06:53 [INFO] [c4] [STATS] Annonces sans evaluation LLM : 4
2026-04-28 20:06:56 [INFO] [c4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:06:56 [INFO] [c4] [STATS] LLM OUTPUT batch 1/1: 4 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 20:06:56 [INFO] [c4] [STATS] Resultats extraits : 4
2026-04-28 20:06:56 [INFO] [c4] [STATS] Evaluations inserees : 4
2026-04-28 20:06:57 [INFO] [c4] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-28 20:06:57 [INFO] [c4] [STATS]   modele_regression : 2 lignes insérées
2026-04-28 20:06:57 [INFO] [c4] [STATS]   referentiel_prix : 32 segments insérés
2026-04-28 20:06:57 [INFO] [c4] [STATS]   ads.deal_columns : 564 annonces mises à jour
2026-04-28 20:06:57 [INFO] [c4] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 20:06:57 [INFO] [c4] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:06:57 [INFO] [c4] [STATS] Champs actifs : 8
2026-04-28 20:06:57 [INFO] [c4] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 1
2026-04-28 20:06:57 [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 20:06:57 [INFO] [c4] [STATS] ━━━ LLM DESC INPUT batch 1/1 (1 annonces) ━━━
3187578946: "Ouvert uniquement sur rendez-vous, votre partenaire DAYCARS vous propose ce Citroën C4 Picasso  - Boîte Automatique - 7 places   Marque : Citroën  Modèle : C4 Picasso  Finition : Business Motorisation : 1.6 HDi 120cv boîte automatique EAT6 Crit’Air : 2 Mise en circulation : 10/04/2015 Kilométrage : 128000km.  Equipements et informations :  Climatisation auto  Rétro électrique rabatable électrique Régulateur / limiteur de vitesse  Ecran gps  Feux auto   Essuies glaces auto  Aide au stationnement arrière  USB  Téléphone Main Libre  Vitres électriques  Centralisation  Jante alu  Anti brouillard avant  Palette au volant Ect… …  Double de Clés.  7990€  Kit distribution fait ainsi que la révision pour la vente.   Carrosserie état Moyen.   REPRISE POSSIBLE nous contacter, DAYCARS 6 rue leroux à Forges-Les-Eaux"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:07:00 [INFO] [c4] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:07:00 [INFO] [c4] [STATS] ━━━ LLM DESC OUTPUT batch 1/1 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187578946",
    "courroie_changee": true,
    "embrayage_change": null,
    "travaux_recents": [
      "Kit distribution fait",
      "révision pour la vente"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Climatisation auto",
      "Rétro électrique rabatable électrique",
      "Régulateur / limiteur de vitesse",
      "Ecran gps",
      "Feux auto",
      "Essuies glaces auto",
      "Aide au stationnement arrière",
      "USB",
      "Téléphone Main Libre",
      "Vitres électriques",
      "Centralisation",
      "Jante alu",
      "Anti brouillard avant",
      "Palette au volant"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:07:00 [INFO] [c4] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:07:00 [INFO] [c4] [STATS] Évaluations insérées : 1
2026-04-28 20:07:00 [INFO] [c4] [STATS] ANALYSE TERMINEE en 7.5s — 564 annonces (run #903) — Modele: c4
2026-04-28 20:07:00 [INFO] [c4] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model c4
2026-04-28 20:07:01 [INFO] [c4] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 20:07:01 [INFO] [c4] [LLM] Annonces sans evaluation LLM : 0
2026-04-28 20:07:01 [INFO] [c4] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-28 20:07:01 [INFO] [c4] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model c4
2026-04-28 20:07:01 [INFO] [c4] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 20:07:01 [INFO] [c4] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:07:01 [INFO] [c4] [LLM DESC] Champs actifs : 8
2026-04-28 20:07:01 [INFO] [c4] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-28 20:07:01 [INFO] [c4] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-28 20:07:01 [INFO] [scenic] [LLM DESC] [5/8] SCENIC (brand=renault, pages=auto)
2026-04-28 20:07:01 [INFO] [scenic] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=2&text=scenic&price=min-11000&regdat...
2026-04-28 20:07:01 [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 20:07:02 [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 20:07:05 [INFO] [scenic] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-28 20:07:05 [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 20:07:08 [INFO] [scenic] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-28 20:07:08 [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 20:07:10 [INFO] [scenic] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-28 20:07:10 [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 20:07:12 [INFO] [scenic] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-28 20:07:12 [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 20:07:14 [INFO] [scenic] [SEARCH] 3 annonces recuperees (total: 143)
2026-04-28 20:07:14 [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 20:07:16 [INFO] [scenic] [SEARCH] Page 6 : aucune annonce, arret de la pagination.
2026-04-28 20:07:16 [INFO] [scenic] [SEARCH] Termine : 143 annonces au total dans /home/ubuntu/app/leboncoin_ads_scenic_20260428_200702.csv
2026-04-28 20:07:16 [INFO] [scenic] [SEARCH] CSV : leboncoin_ads_scenic_20260428_200702.csv
2026-04-28 20:07:16 [INFO] [scenic] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_scenic_20260428_200702.csv --db /home/ubuntu/app/db/lbc.sqlite --model scenic
2026-04-28 20:07:16 [INFO] [scenic] [IMPORT] Model override : scenic
2026-04-28 20:07:16 [INFO] [scenic] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-28 20:07:16 [INFO] [scenic] [IMPORT] Fichier: leboncoin_ads_scenic_20260428_200702.csv
2026-04-28 20:07:16 [INFO] [scenic] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:07:17 [INFO] [scenic] [IMPORT] 143 lus, 143 inseres, 0 ignores, 0 erreurs
2026-04-28 20:07:17 [INFO] [scenic] [IMPORT] TOTAL : 143 lus, 143 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:07:17 [INFO] [scenic] [IMPORT] 15441 annonces en base
2026-04-28 20:07:17 [INFO] [scenic] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_scenic_20260428_200702.csv --brand renault --model scenic --db /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:07:17 [INFO] [scenic] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_scenic_20260428_200702.csv, Brand: renault, Model: scenic
2026-04-28 20:07:17 [INFO] [scenic] [AVAILABILITY] 143 list_id lus dans le CSV.
2026-04-28 20:07:17 [INFO] [scenic] [AVAILABILITY] 147 annonces actives en base pour renault scenic.
2026-04-28 20:07:17 [INFO] [scenic] [AVAILABILITY] 4 annonce(s) marquées indisponibles.
2026-04-28 20:07:17 [INFO] [scenic] [AVAILABILITY] CSV: 143, Actives DB: 147, Absentes: 4
2026-04-28 20:07:17 [INFO] [scenic] [AVAILABILITY] Marquees indisponibles: 4
2026-04-28 20:07:17 [INFO] [scenic] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model scenic --delay 0.5 --limit 200
2026-04-28 20:07:17 [INFO] [scenic] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: scenic — Limite: 200
2026-04-28 20:07:17 [INFO] [scenic] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:07:17 [INFO] [scenic] [DETAIL] 5 annonce(s) à enrichir (modèle: scenic)
2026-04-28 20:07:26 [INFO] [scenic] [DETAIL] RESULTAT : 5 traitee(s), 5 enrichies, 0 introuvables, 0 erreurs
2026-04-28 20:07:26 [INFO] [scenic] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model scenic --skip-plots
2026-04-28 20:07:26 [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 20:07:29 [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 20:07:29 [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 20:07:30 [INFO] [scenic] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 20:07:30 [INFO] [scenic] [STATS] Annonces sans evaluation LLM : 5
2026-04-28 20:07:34 [INFO] [scenic] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:07:34 [INFO] [scenic] [STATS] LLM OUTPUT batch 1/1: 5 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 20:07:34 [INFO] [scenic] [STATS] Resultats extraits : 5
2026-04-28 20:07:34 [INFO] [scenic] [STATS] Evaluations inserees : 5
2026-04-28 20:07:34 [INFO] [scenic] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-28 20:07:34 [INFO] [scenic] [STATS]   modele_regression : 2 lignes insérées
2026-04-28 20:07:34 [INFO] [scenic] [STATS]   referentiel_prix : 29 segments insérés
2026-04-28 20:07:34 [INFO] [scenic] [STATS]   ads.deal_columns : 399 annonces mises à jour
2026-04-28 20:07:34 [INFO] [scenic] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 20:07:34 [INFO] [scenic] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:07:34 [INFO] [scenic] [STATS] Champs actifs : 8
2026-04-28 20:07:34 [INFO] [scenic] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 2
2026-04-28 20:07:34 [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 20:07:34 [INFO] [scenic] [STATS] ━━━ LLM DESC INPUT batch 1/2 (1 annonces) ━━━
3184098933: "Vends URGENCE  facture disponible rien à prévoir  grand Scenic IV, 7 places, version Intens, en très bon état. Moteur 1,6 Dci, 120cv. Toit panoramique,  system audio Bose System, boule attelage,  Kilométrage légèrement évolutif Le CT fait   N'hésitez pas à me contacter pour plus d'informations ou pour convenir d'un essai."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:07:36 [INFO] [scenic] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:07:36 [INFO] [scenic] [STATS] ━━━ LLM DESC OUTPUT batch 1/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3184098933",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": "urgence",
    "nb_proprietaires": null,
    "options_description": [
      "Toit panoramique",
      "system audio Bose",
      "boule attelage"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:07:36 [INFO] [scenic] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:07:36 [INFO] [scenic] [STATS] ━━━ LLM DESC INPUT batch 2/2 (1 annonces) ━━━
3187982140: "RENAULT Grand Scenic Blue dCi 120 EDC - 21 Business, monospace, 6 cv, 5 portes, première mise en circulation le 19/01/2021, garantie : 12 mois.  Prix TTC : 10 500 €  7 places, couleur intérieur : Noir  OPTIONS ET ÉQUIPEMENTS : Audio - Télécommunications :   - Android Auto & Apple CarPlay   - Cartographie Europe  Conduite :   - Carte Renault d'accés et démarrage mains libres   - Frein de parking assisté  Extérieur :   - Aide au parking AV / AR   - Commutation automatique des feux de route/croisement   - Jantes 20'' avec enjoliveurs bi-ton   - Projecteurs AV full LED Pure Vision   - Rétroviseurs extérieurs rabattables électriquement   - Vitres AR surteintées  Intérieur :   - 7 places   - Climatisation régulée bi-zone   - Lève-vitres électrique AR impulsionnels   - Lève-vitres électriques AV impulsionnels   - Prise 12V AV/AR  Pack :   - Alerte d'oubli de ceinture de sécurité   - Console centrale coulissante Easy Life avec accoudoir   - Coques de rétroviseurs ton toit   - Pare-brise accoustique et teinté   - Pré-équipement services connectés   - Radio multimédia DAB avec écran tactile 7''   - Régulateur limiteur de vitesse   - Sans tablette Easy Life  Sécurité :   - ABS + AFU   - Aide au freinage actif d'urgence avec détection piétons   - Airbags frontaux et latéraux AV   - Airbags rideaux AV / AR   - Alerte de survitesse avec reconnaissance des panneaux de signalisation   - Alerte détection de fatigue   - Avertisseur de franchissement de ligne   - Déconnexion de l'airbag passage..."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:07:40 [INFO] [scenic] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:07:40 [INFO] [scenic] [STATS] ━━━ LLM DESC OUTPUT batch 2/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187982140",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Android Auto",
      "Apple CarPlay",
      "Cartographie Europe",
      "Carte Renault d'accés et démarrage mains libres",
      "Frein de parking assisté",
      "Aide au parking AV / AR",
      "Commutation automatique des feux de route/croisement",
      "Jantes 20'' avec enjoliveurs bi-ton",
      "Projecteurs AV full LED Pure Vision",
      "Rétroviseurs extérieurs rabattables électriquement",
      "Vitres AR surteintées",
      "7 places",
      "Climatisation régulée bi-zone",
      "Lève-vitres électrique AR impulsionnels",
      "Lève-vitres électriques AV impulsionnels",
      "Prise 12V AV/AR",
      "Alerte d'oubli de ceinture de sécurité",
      "Console centrale coulissante Easy Life avec accoudoir",
      "Coques de rétroviseurs ton toit",
      "Pare-brise accoustique et teinté",
      "Pré-équipement services connectés",
      "Radio multimédia DAB avec écran tactile 7''",
      "Régulateur limiteur de vitesse",
      "ABS + AFU",
      "Aide au freinage actif d'urgence avec détection piétons",
      "Airbags frontaux et latéraux AV",
      "Airbags rideaux AV / AR",
      "Alerte de survitesse avec reconnaissance des panneaux de signalisation",
      "Alerte détection de fatigue",
      "Avertisseur de franchissement de ligne",
      "Déconnexion de l'airbag passage"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:07:40 [INFO] [scenic] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:07:40 [INFO] [scenic] [STATS] Évaluations insérées : 2
2026-04-28 20:07:40 [INFO] [scenic] [STATS] ANALYSE TERMINEE en 8.1s — 399 annonces (run #904) — Modele: scenic
2026-04-28 20:07:41 [INFO] [scenic] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model scenic
2026-04-28 20:07:41 [INFO] [scenic] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 20:07:41 [INFO] [scenic] [LLM] Annonces sans evaluation LLM : 0
2026-04-28 20:07:41 [INFO] [scenic] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-28 20:07:42 [INFO] [scenic] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model scenic
2026-04-28 20:07:42 [INFO] [scenic] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 20:07:42 [INFO] [scenic] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:07:42 [INFO] [scenic] [LLM DESC] Champs actifs : 8
2026-04-28 20:07:42 [INFO] [scenic] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-28 20:07:42 [INFO] [scenic] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-28 20:07:42 [INFO] [5008] [LLM DESC] [6/8] 5008 (brand=peugeot, pages=auto)
2026-04-28 20:07:42 [INFO] [5008] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=2&text=5008&price=min-11000&u_car_br...
2026-04-28 20:07:42 [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 20:07:43 [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 20:07:46 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-28 20:07:46 [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 20:07:49 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-28 20:07:49 [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 20:07:51 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-28 20:07:51 [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 20:07:53 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-28 20:07:53 [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 20:07:56 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-28 20:07:56 [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 20:07:58 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-28 20:07:58 [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 20:08:00 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 245)
2026-04-28 20:08:00 [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 20:08:03 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 280)
2026-04-28 20:08:03 [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 20:08:05 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 315)
2026-04-28 20:08:05 [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 20:08:07 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 350)
2026-04-28 20:08:07 [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 20:08:09 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 385)
2026-04-28 20:08:09 [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 20:08:13 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 420)
2026-04-28 20:08:13 [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 20:08:16 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 455)
2026-04-28 20:08:16 [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 20:08:19 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 490)
2026-04-28 20:08:19 [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 20:08:26 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 525)
2026-04-28 20:08:26 [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 20:08:28 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 560)
2026-04-28 20:08:28 [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 20:08:31 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 595)
2026-04-28 20:08:31 [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 20:08:33 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 630)
2026-04-28 20:08:33 [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 20:08:35 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 665)
2026-04-28 20:08:35 [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 20:08:38 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 700)
2026-04-28 20:08:38 [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 20:08:40 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 735)
2026-04-28 20:08:40 [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 20:08:43 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 770)
2026-04-28 20:08:43 [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 20:08:46 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 805)
2026-04-28 20:08:46 [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 20:08:48 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 840)
2026-04-28 20:08:48 [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 20:08:52 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 875)
2026-04-28 20:08:52 [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 20:08:54 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 910)
2026-04-28 20:08:54 [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 20:08:57 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 945)
2026-04-28 20:08:57 [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 20:08:59 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 980)
2026-04-28 20:08:59 [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 20:09:01 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1015)
2026-04-28 20:09:01 [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 20:09:06 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1050)
2026-04-28 20:09:06 [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 20:09:08 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1085)
2026-04-28 20:09:08 [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 20:09:10 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1120)
2026-04-28 20:09:10 [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 20:09:13 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1155)
2026-04-28 20:09:13 [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 20:09:15 [INFO] [5008] [SEARCH] 35 annonces recuperees (total: 1190)
2026-04-28 20:09:15 [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 20:09:17 [INFO] [5008] [SEARCH] 25 annonces recuperees (total: 1215)
2026-04-28 20:09:17 [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 20:09:20 [INFO] [5008] [SEARCH] Page 36 : aucune annonce, arret de la pagination.
2026-04-28 20:09:20 [INFO] [5008] [SEARCH] Termine : 1215 annonces au total dans /home/ubuntu/app/leboncoin_ads_5008_20260428_200743.csv
2026-04-28 20:09:20 [INFO] [5008] [SEARCH] CSV : leboncoin_ads_5008_20260428_200743.csv
2026-04-28 20:09:20 [INFO] [5008] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_5008_20260428_200743.csv --db /home/ubuntu/app/db/lbc.sqlite --model 5008
2026-04-28 20:09:20 [INFO] [5008] [IMPORT] Model override : 5008
2026-04-28 20:09:20 [INFO] [5008] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-28 20:09:20 [INFO] [5008] [IMPORT] Fichier: leboncoin_ads_5008_20260428_200743.csv
2026-04-28 20:09:20 [INFO] [5008] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:09:23 [INFO] [5008] [IMPORT] 1215 lus, 1215 inseres, 0 ignores, 0 erreurs
2026-04-28 20:09:23 [INFO] [5008] [IMPORT] TOTAL : 1215 lus, 1215 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:09:23 [INFO] [5008] [IMPORT] 15470 annonces en base
2026-04-28 20:09:23 [INFO] [5008] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_5008_20260428_200743.csv --brand peugeot --model 5008 --db /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:09:23 [INFO] [5008] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_5008_20260428_200743.csv, Brand: peugeot, Model: 5008
2026-04-28 20:09:23 [INFO] [5008] [AVAILABILITY] 1195 list_id lus dans le CSV.
2026-04-28 20:09:23 [INFO] [5008] [AVAILABILITY] 1235 annonces actives en base pour peugeot 5008.
2026-04-28 20:09:23 [INFO] [5008] [AVAILABILITY] 40 annonce(s) marquées indisponibles.
2026-04-28 20:09:23 [INFO] [5008] [AVAILABILITY] CSV: 1195, Actives DB: 1235, Absentes: 40
2026-04-28 20:09:23 [INFO] [5008] [AVAILABILITY] Marquees indisponibles: 40
2026-04-28 20:09:23 [INFO] [5008] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model 5008 --delay 0.5 --limit 200
2026-04-28 20:09:23 [INFO] [5008] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: 5008 — Limite: 200
2026-04-28 20:09:23 [INFO] [5008] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:09:23 [INFO] [5008] [DETAIL] 29 annonce(s) à enrichir (modèle: 5008)
2026-04-28 20:09:44 [INFO] [5008] [DETAIL] Progression : 10/29 (enrichies: 10, introuvables: 0, erreurs: 0)
2026-04-28 20:10:05 [INFO] [5008] [DETAIL] Progression : 20/29 (enrichies: 20, introuvables: 0, erreurs: 0)
2026-04-28 20:10:22 [INFO] [5008] [DETAIL] RESULTAT : 29 traitee(s), 29 enrichies, 0 introuvables, 0 erreurs
2026-04-28 20:10:22 [INFO] [5008] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model 5008 --skip-plots
2026-04-28 20:10:23 [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 20:10:27 [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 20:10:27 [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 20:10:28 [INFO] [5008] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 20:10:28 [INFO] [5008] [STATS] Annonces sans evaluation LLM : 29
2026-04-28 20:10:41 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:10:41 [INFO] [5008] [STATS] LLM OUTPUT batch 1/1: 29 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 20:10:41 [INFO] [5008] [STATS] Resultats extraits : 29
2026-04-28 20:10:41 [INFO] [5008] [STATS] Evaluations inserees : 29
2026-04-28 20:10:43 [INFO] [5008] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-28 20:10:43 [INFO] [5008] [STATS]   modele_regression : 2 lignes insérées
2026-04-28 20:10:43 [INFO] [5008] [STATS]   referentiel_prix : 79 segments insérés
2026-04-28 20:10:44 [INFO] [5008] [STATS]   ads.deal_columns : 3310 annonces mises à jour
2026-04-28 20:10:44 [INFO] [5008] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 20:10:44 [INFO] [5008] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:10:44 [INFO] [5008] [STATS] Champs actifs : 8
2026-04-28 20:10:44 [INFO] [5008] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 8
2026-04-28 20:10:44 [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 20:10:44 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 1/8 (1 annonces) ━━━
3187930562: "Peugeot 5008 2 L 150 ch 7 places toit panoramique diesel 6 vitesses"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:10:45 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:10:45 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 1/8 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187930562",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "toit panoramique",
      "7 places"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:10:45 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:10:45 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 2/8 (1 annonces) ━━━
3187963467: "Je vends mon Peugeot 5008 de 2012, un SUV 7 places spacieux et pratique. - Marque : Peugeot - Modèle : 5008 - Année : 2012 - Kilométrage : 306 000 km - Motorisation : 2.0 HDi 150 ch - Carburant : Diesel - Boîte de vitesses : Manuelle - Finition : Allure - Nombre de sièges : 7 - Nombre de portes : 5 - Couleur : Gris - Crit'Air : 2 - Contrôle technique : Valide jusqu'en 01/2028 néanmoins quelques travaux à prévoir à court terme (Triangle, pneus AR et un feu ARD d'où le prix inférieur pour un véhicule équivalant.   Disque et plaquettes avant neuves  Le véhicule est relativement propre pour sont kilomètrage mais il n'est pas neuf.  Présence dégradation sur l'aile arrière droite comme visible sur les photos  N'hésitez pas à me contacter pour plus d'informations ou pour organiser un essai.  Pas d'échange, prix à débattre Contact par mail"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:10:47 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:10:47 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 2/8 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187963467",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [
      "Disque et plaquettes avant neuves"
    ],
    "negociabilite": "négociable",
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:10:47 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:10:47 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 3/8 (1 annonces) ━━━
3188057331: "Bonjour je vends ma Peugeot 5008 toit panoramique, 4 vitre électrique,clim, GPS, HUD d'affichage kilométrique tête haute, bluetooth, Radar de recul avant arrière, enceintes JBL. Limiteur et régulateur de vitesse , 7 places assises. Année 2014. Prix 4000€. Ct pour la vente."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:10:49 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:10:49 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 3/8 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188057331",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "toit panoramique",
      "vitres électriques",
      "clim",
      "GPS",
      "HUD d'affichage kilométrique tête haute",
      "bluetooth",
      "radar de recul avant arrière",
      "enceintes JBL",
      "limiteur de vitesse",
      "régulateur de vitesse",
      "7 places assises"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:10:49 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:10:49 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 4/8 (1 annonces) ━━━
3188066114: "5008 noir  Intérieur gris noir  Équipé en 7 places dont 2 rabattables pour un plus grand coffre  Contrôle technique ok  Clim à revoir  Fermeture centralisé uniquement avec la cle dans la serrure  Quelques défauts carrosserie Pas sérieux s’abstenir"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:10:52 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:10:52 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 4/8 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188066114",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "7 places dont 2 rabattables",
      "Clim (à revoir)",
      "Fermeture centralisée uniquement avec la clé dans la serrure"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:10:52 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:10:52 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 5/8 (1 annonces) ━━━
3188070397: "Peugeot 5008 de 2011. 2litre 150 cheveau 180km Toit panoramique  J'ai changé: l'embrayage, le FAP, et la croix de distribution. J'effectue un contrôle technique le jour de la vente."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:10:53 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:10:53 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 5/8 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188070397",
    "courroie_changee": null,
    "embrayage_change": true,
    "travaux_recents": [
      "embrayage changé",
      "FAP changé",
      "croix de distribution changée"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Toit panoramique"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:10:53 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:10:53 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 6/8 (1 annonces) ━━━
3188094312: "Peugeot 5008 – 2011 – 265 000 km – 7 places  Monospace spacieux et confortable, idéal pour une famille. Véhicule très bien entretenu, suivi exclusivement chez le concessionnaire avec factures à l’appui.  Moteur fiable, entretien sérieux réalisé régulièrement, roule parfaitement et prêt à prendre la route sans souci.  ✔️ Intérieur propre et soigné ✔️ Très bon confort de conduite ✔️ Grande capacité de chargement ✔️ 7 places pratiques et modulables  À noter :  * Fissure sur le pare-brise * Petit impact sur la carrosserie  Ces défauts sont pris en compte dans le prix.  💰 Prix : 2 900 € négociable  Véhicule visible, essai possible. Contact sérieux uniquement."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:10:54 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:10:54 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 6/8 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188094312",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": "négociable",
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "7 places",
      "Monospace"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:10:54 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:10:54 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 7/8 (1 annonces) ━━━
3188109594: "Peugeot 5008  1.6L HDi  Phase 2 avec nouvelle calandre  Crit’Air 2 Euro 5  Équiper de 7 places  Démarre et roule absolument très bien  Très agréable a conduire  Aucun bruit suspect  Aucun voyant d’allumer   Possède 300 000 kilomètres   Carte grise à jour Contrôle technique vient d’être effectuer favorable  GPS Bluetooth  Radar de recul  Régulateur de vitesse  Limiteur de vitesse  Boîte 6 vitesses  Frein à main électronique  Télécommande aux volant 4 Vitres électriques Rétro électriques  Accoudoir central Rangement central  Sécurité enfant  Isofix  Etc.. Toutes les options sont fonctionnel   Me contactez uniquement si acheteur sérieux"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:10:57 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:10:57 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 7/8 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188109594",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "GPS",
      "Bluetooth",
      "Radar de recul",
      "Régulateur de vitesse",
      "Limiteur de vitesse",
      "Boîte 6 vitesses",
      "Frein à main électronique",
      "Télécommande au volant",
      "4 Vitres électriques",
      "Rétros électriques",
      "Accoudoir central",
      "Rangement central",
      "Sécurité enfant",
      "Isofix"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:10:57 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:10:57 [INFO] [5008] [STATS] ━━━ LLM DESC INPUT batch 8/8 (1 annonces) ━━━
3188119405: "PEUGEOT 5008 2.0 HDI 150 PREMIUM PACK, Diesel, Boite Manuelle, 7 Places  OPTIONS ET ÉQUIPEMENTS : Audio - Télécommunications :   - Bluetooth et prise USB   - Système de navigation GPS (WIP Nav)  Conduite :   - Allumage automatique des feux   - Essuie-glaces automatiques  Extérieur :   - Jantes alliage 17 pouces   - Radars de recul   - Rétroviseurs extérieurs dégivrants   - Rétroviseurs extérieurs rabattables électriquement   - Toit panoramique en verre   - Vitres arrière surteintées  Intérieur :   - 7 places / 3ème rangée de sièges escamotables   - Climatisation automatique bi-zone   - Ordinateur de bord   - Vitres électriques avant et arrière   - Volant cuir multifonctions  Pack :   - Frein de stationnement électrique   - Régulateur et limiteur de vitesse  Autres équipements et informations :   - 8/10 AVENUE LUCIE AUBRAC   - 94380 BONNEUIL SUR MARNE   - DE 9H A 19H   - DU LUNDI AU SAMEDI   - Service Carte Grise   - Solutions de financement"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:11:00 [INFO] [5008] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:11:00 [INFO] [5008] [STATS] ━━━ LLM DESC OUTPUT batch 8/8 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188119405",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Bluetooth",
      "prise USB",
      "Système de navigation GPS",
      "Allumage automatique des feux",
      "Essuie-glaces automatiques",
      "Jantes alliage 17 pouces",
      "Radars de recul",
      "Rétroviseurs extérieurs dégivrants",
      "Rétroviseurs extérieurs rabattables électriquement",
      "Toit panoramique en verre",
      "Vitres arrière surteintées",
      "7 places",
      "3ème rangée de sièges escamotables",
      "Climatisation automatique bi-zone",
      "Ordinateur de bord",
      "Vitres électriques avant et arrière",
      "Volant cuir multifonctions",
      "Frein de stationnement électrique",
      "Régulateur de vitesse",
      "Limiteur de vitesse"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:11:00 [INFO] [5008] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:11:00 [INFO] [5008] [STATS] Évaluations insérées : 8
2026-04-28 20:11:00 [INFO] [5008] [STATS] ANALYSE TERMINEE en 19.2s — 3310 annonces (run #905) — Modele: 5008
2026-04-28 20:11:00 [INFO] [5008] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model 5008
2026-04-28 20:11:01 [INFO] [5008] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 20:11:01 [INFO] [5008] [LLM] Annonces sans evaluation LLM : 0
2026-04-28 20:11:01 [INFO] [5008] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-28 20:11:01 [INFO] [5008] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model 5008
2026-04-28 20:11:02 [INFO] [5008] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 20:11:02 [INFO] [5008] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:11:02 [INFO] [5008] [LLM DESC] Champs actifs : 8
2026-04-28 20:11:02 [INFO] [5008] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-28 20:11:02 [INFO] [5008] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-28 20:11:02 [INFO] [fiesta] [LLM DESC] [7/8] FIESTA (brand=ford, pages=auto)
2026-04-28 20:11:02 [INFO] [fiesta] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=2&text=ford%20fiesta&price=3000-1000...
2026-04-28 20:11:02 [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 20:11:02 [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 20:11:05 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-28 20:11:05 [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 20:11:13 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-28 20:11:13 [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 20:11:15 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-28 20:11:15 [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 20:11:18 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 140)
2026-04-28 20:11:18 [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 20:11:20 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 175)
2026-04-28 20:11:20 [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 20:11:24 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 210)
2026-04-28 20:11:24 [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 20:11:26 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 245)
2026-04-28 20:11:26 [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 20:11:28 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 280)
2026-04-28 20:11:28 [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 20:11:31 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 315)
2026-04-28 20:11:31 [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 20:11:38 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 350)
2026-04-28 20:11:38 [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 20:11:41 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 385)
2026-04-28 20:11:41 [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 20:11:43 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 420)
2026-04-28 20:11:43 [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 20:11:45 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 455)
2026-04-28 20:11:45 [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 20:11:48 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 490)
2026-04-28 20:11:48 [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 20:11:50 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 525)
2026-04-28 20:11:50 [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 20:11:52 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 560)
2026-04-28 20:11:52 [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 20:11:55 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 595)
2026-04-28 20:11:55 [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 20:11:57 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 630)
2026-04-28 20:11:57 [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 20:12:00 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 665)
2026-04-28 20:12:00 [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 20:12:02 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 700)
2026-04-28 20:12:02 [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 20:12:05 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 735)
2026-04-28 20:12:05 [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 20:12:07 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 770)
2026-04-28 20:12:07 [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 20:12:09 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 805)
2026-04-28 20:12:09 [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 20:12:12 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 840)
2026-04-28 20:12:12 [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 20:12:15 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 875)
2026-04-28 20:12:15 [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 20:12:19 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 910)
2026-04-28 20:12:19 [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 20:12:21 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 945)
2026-04-28 20:12:21 [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 20:12:24 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 980)
2026-04-28 20:12:24 [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 20:12:26 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1015)
2026-04-28 20:12:26 [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 20:12:28 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1050)
2026-04-28 20:12:28 [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 20:12:31 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1085)
2026-04-28 20:12:31 [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 20:12:34 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1120)
2026-04-28 20:12:34 [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 20:12:37 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1155)
2026-04-28 20:12:37 [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 20:12:40 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1190)
2026-04-28 20:12:40 [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 20:12:42 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1225)
2026-04-28 20:12:42 [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 20:12:44 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1260)
2026-04-28 20:12:44 [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 20:12:47 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1295)
2026-04-28 20:12:47 [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 20:12:49 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1330)
2026-04-28 20:12:49 [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 20:12:52 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1365)
2026-04-28 20:12:52 [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 20:12:54 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1400)
2026-04-28 20:12:54 [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 20:12:57 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1435)
2026-04-28 20:12:57 [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 20:12:59 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1470)
2026-04-28 20:12:59 [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 20:13:01 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1505)
2026-04-28 20:13:01 [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 20:13:04 [INFO] [fiesta] [SEARCH] 35 annonces recuperees (total: 1540)
2026-04-28 20:13:04 [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 20:13:08 [INFO] [fiesta] [SEARCH] 24 annonces recuperees (total: 1564)
2026-04-28 20:13:08 [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 20:13:09 [INFO] [fiesta] [SEARCH] Page 46 : aucune annonce, arret de la pagination.
2026-04-28 20:13:09 [INFO] [fiesta] [SEARCH] Termine : 1564 annonces au total dans /home/ubuntu/app/leboncoin_ads_fiesta_20260428_201102.csv
2026-04-28 20:13:09 [INFO] [fiesta] [SEARCH] CSV : leboncoin_ads_fiesta_20260428_201102.csv
2026-04-28 20:13:09 [INFO] [fiesta] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_fiesta_20260428_201102.csv --db /home/ubuntu/app/db/lbc.sqlite --model fiesta
2026-04-28 20:13:09 [INFO] [fiesta] [IMPORT] Model override : fiesta
2026-04-28 20:13:09 [INFO] [fiesta] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-28 20:13:09 [INFO] [fiesta] [IMPORT] Fichier: leboncoin_ads_fiesta_20260428_201102.csv
2026-04-28 20:13:09 [INFO] [fiesta] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:13:13 [INFO] [fiesta] [IMPORT] 1564 lus, 1564 inseres, 0 ignores, 0 erreurs
2026-04-28 20:13:13 [INFO] [fiesta] [IMPORT] TOTAL : 1564 lus, 1564 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:13:13 [INFO] [fiesta] [IMPORT] 15491 annonces en base
2026-04-28 20:13:13 [INFO] [fiesta] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_fiesta_20260428_201102.csv --brand ford --model fiesta --db /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:13:13 [INFO] [fiesta] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_fiesta_20260428_201102.csv, Brand: ford, Model: fiesta
2026-04-28 20:13:13 [INFO] [fiesta] [AVAILABILITY] 1550 list_id lus dans le CSV.
2026-04-28 20:13:13 [INFO] [fiesta] [AVAILABILITY] 1587 annonces actives en base pour ford fiesta.
2026-04-28 20:13:13 [INFO] [fiesta] [AVAILABILITY] 37 annonce(s) marquées indisponibles.
2026-04-28 20:13:13 [INFO] [fiesta] [AVAILABILITY] CSV: 1550, Actives DB: 1587, Absentes: 37
2026-04-28 20:13:13 [INFO] [fiesta] [AVAILABILITY] Marquees indisponibles: 37
2026-04-28 20:13:13 [INFO] [fiesta] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model fiesta --delay 0.5 --limit 200
2026-04-28 20:13:13 [INFO] [fiesta] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: fiesta — Limite: 200
2026-04-28 20:13:13 [INFO] [fiesta] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:13:13 [INFO] [fiesta] [DETAIL] 21 annonce(s) à enrichir (modèle: fiesta)
2026-04-28 20:13:32 [INFO] [fiesta] [DETAIL] Progression : 10/21 (enrichies: 10, introuvables: 0, erreurs: 0)
2026-04-28 20:13:51 [INFO] [fiesta] [DETAIL] Progression : 20/21 (enrichies: 20, introuvables: 0, erreurs: 0)
2026-04-28 20:13:54 [INFO] [fiesta] [DETAIL] RESULTAT : 21 traitee(s), 21 enrichies, 0 introuvables, 0 erreurs
2026-04-28 20:13:54 [INFO] [fiesta] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model fiesta --skip-plots
2026-04-28 20:13:54 [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 20:13:58 [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 20:13:58 [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 20:13:59 [INFO] [fiesta] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 20:13:59 [INFO] [fiesta] [STATS] Annonces sans evaluation LLM : 21
2026-04-28 20:14:12 [INFO] [fiesta] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:14:12 [INFO] [fiesta] [STATS] LLM OUTPUT batch 1/1: 21 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 20:14:12 [INFO] [fiesta] [STATS] Resultats extraits : 21
2026-04-28 20:14:12 [INFO] [fiesta] [STATS] Evaluations inserees : 21
2026-04-28 20:14:14 [INFO] [fiesta] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-28 20:14:14 [INFO] [fiesta] [STATS]   modele_regression : 2 lignes insérées
2026-04-28 20:14:14 [INFO] [fiesta] [STATS]   referentiel_prix : 60 segments insérés
2026-04-28 20:14:15 [INFO] [fiesta] [STATS]   ads.deal_columns : 3626 annonces mises à jour
2026-04-28 20:14:15 [INFO] [fiesta] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 20:14:15 [INFO] [fiesta] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:14:15 [INFO] [fiesta] [STATS] Champs actifs : 8
2026-04-28 20:14:15 [INFO] [fiesta] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 2
2026-04-28 20:14:15 [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 20:14:15 [INFO] [fiesta] [STATS] ━━━ LLM DESC INPUT batch 1/2 (1 annonces) ━━━
3187927161: "Ford Fiesta 1.0 EcoBoost 100 ch SetS BVM6 Trend berline, blanc, 5 cv, 5 portes, première mise en circulation le 22/11/2017, garantie 3 mois.  AUTO GOLD, 134 avenue de cournon 63170 Aubiere, [Coordonnées masquées]  5 places  OPTIONS ET ÉQUIPEMENTS : Audio - Télécommunications :   -  Apple CarPlay et Androïd auto   - ecran tactile  Conduite :   -  Indicateur de changement de vitesse   - limiteur de vitesse   - régulateur de vitesse  Extérieur :   -  Aide au stationnement AR   -  Becquet AR couleur carrosserie   -  Contour de grille de calandre chromé  Intérieur :   -  Air conditionné manuel   - direction assistée   - fermeture centralisée   - ordinateur de bord   - verrouillage à distance   - vitres avant éléctriques  Pack :   -    Extension de garantie nationale 36 possible   -  5 ceintures de sécurité 3 points   -  Alerte d'oubli de ceintures de sécurité AV et AR   -  My Key   -  Parechocs couleur carrosserie   -  Poignées de portes extérieures couleur carrosserie   - 3ème appuitête AR   - Sieges arrières rabattable   - nombre de rapports : 6 vitesses  Sécurité :   -  Alerte de franchissement involontaire de ligne   -  latéraux (thorax) et rideaux   - Aide au demarrage en pente   - Assistant maintien dans la voie   - ESP   - airbag coté passager   - airbags frontaux   - contrôle pression des pneus   - fixations ISOFIX   - phares antibrouillard  Autres équipements et informations :   -    Liste des equipements donnée a titre indicatif   -    Vehicule vendu révisé et garanti   ..."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:14:19 [INFO] [fiesta] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:14:19 [INFO] [fiesta] [STATS] ━━━ LLM DESC OUTPUT batch 1/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187927161",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [
      "révisé"
    ],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Apple CarPlay",
      "Androïd auto",
      "écran tactile",
      "Indicateur de changement de vitesse",
      "limiteur de vitesse",
      "régulateur de vitesse",
      "Aide au stationnement AR",
      "Becquet AR couleur carrosserie",
      "Contour de grille de calandre chromé",
      "Air conditionné manuel",
      "direction assistée",
      "fermeture centralisée",
      "ordinateur de bord",
      "verrouillage à distance",
      "vitres avant éléctriques",
      "Extension de garantie nationale 36 possible",
      "5 ceintures de sécurité 3 points",
      "Alerte d'oubli de ceintures de sécurité AV et AR",
      "My Key",
      "Parechocs couleur carrosserie",
      "Poignées de portes extérieures couleur carrosserie",
      "3ème appuitête AR",
      "Sieges arrières rabattable",
      "nombre de rapports : 6 vitesses",
      "Alerte de franchissement involontaire de ligne",
      "latéraux (thorax) et rideaux",
      "Aide au demarrage en pente",
      "Assistant maintien dans la voie",
      "ESP",
      "airbag coté passager",
      "airbags frontaux",
      "contrôle pression des pneus",
      "fixations ISOFIX",
      "phares antibrouillard"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:14:19 [INFO] [fiesta] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:14:19 [INFO] [fiesta] [STATS] ━━━ LLM DESC INPUT batch 2/2 (1 annonces) ━━━
3188125750: "Ford Fiesta Grise Titanium  5 portes de 2014, 153.000Km essence. Contrôle technique Ok fait en Avril 2026 Véhicule très économique Absolument rien à prévoir. La distribution complète et une vidange seront effectués pour la vente.   Équipements :  Climatisation  Direction assistée Vitres avant électriques Volant cuir multifonctions (avec commandes audio)  Clim auto  Phare Auto Radio CD MP3 + prise USB/Jack Bluetooth  Fermeture centralisée  Fixations Isofix aux places arrière Rétroviseurs électriques rabattables  Véhicule visible également à Velizy Villacoublay  Pour plus d’informations, merci de me contacter par message ou téléphone."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:14:21 [INFO] [fiesta] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:14:21 [INFO] [fiesta] [STATS] ━━━ LLM DESC OUTPUT batch 2/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188125750",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [
      "Climatisation",
      "Direction assistée",
      "Vitres avant électriques",
      "Volant cuir multifonctions",
      "Clim auto",
      "Phare Auto",
      "Radio CD MP3",
      "prise USB/Jack",
      "Bluetooth",
      "Fermeture centralisée",
      "Fixations Isofix",
      "Rétroviseurs électriques rabattables"
    ],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:14:21 [INFO] [fiesta] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:14:21 [INFO] [fiesta] [STATS] Évaluations insérées : 2
2026-04-28 20:14:21 [INFO] [fiesta] [STATS] ANALYSE TERMINEE en 18.6s — 3626 annonces (run #906) — Modele: fiesta
2026-04-28 20:14:21 [INFO] [fiesta] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model fiesta
2026-04-28 20:14:22 [INFO] [fiesta] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 20:14:22 [INFO] [fiesta] [LLM] Annonces sans evaluation LLM : 0
2026-04-28 20:14:22 [INFO] [fiesta] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-28 20:14:22 [INFO] [fiesta] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model fiesta
2026-04-28 20:14:22 [INFO] [fiesta] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 20:14:22 [INFO] [fiesta] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:14:22 [INFO] [fiesta] [LLM DESC] Champs actifs : 8
2026-04-28 20:14:22 [INFO] [fiesta] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-28 20:14:22 [INFO] [fiesta] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-28 20:14:23 [INFO] [nv200] [LLM DESC] [8/8] NV200 (brand=nissan, pages=auto)
2026-04-28 20:14:23 [INFO] [nv200] [LLM DESC] URL: https://www.leboncoin.fr/recherche?category=5&text=nv200&u_utility_brand=NISSAN&...
2026-04-28 20:14:23 [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 20:14:23 [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 20:14:25 [INFO] [nv200] [SEARCH] 35 annonces recuperees (total: 35)
2026-04-28 20:14:25 [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 20:14:28 [INFO] [nv200] [SEARCH] 35 annonces recuperees (total: 70)
2026-04-28 20:14:28 [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 20:14:30 [INFO] [nv200] [SEARCH] 35 annonces recuperees (total: 105)
2026-04-28 20:14:30 [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 20:14:33 [INFO] [nv200] [SEARCH] 3 annonces recuperees (total: 108)
2026-04-28 20:14:33 [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 20:14:39 [INFO] [nv200] [SEARCH] Page 5 : aucune annonce, arret de la pagination.
2026-04-28 20:14:39 [INFO] [nv200] [SEARCH] Termine : 108 annonces au total dans /home/ubuntu/app/leboncoin_ads_nv200_20260428_201423.csv
2026-04-28 20:14:39 [INFO] [nv200] [SEARCH] CSV : leboncoin_ads_nv200_20260428_201423.csv
2026-04-28 20:14:39 [INFO] [nv200] [IMPORT] $ /home/ubuntu/app/.venv/bin/python -m db.migrate_csv --input /home/ubuntu/app/leboncoin_ads_nv200_20260428_201423.csv --db /home/ubuntu/app/db/lbc.sqlite --model nv200
2026-04-28 20:14:39 [INFO] [nv200] [IMPORT] Model override : nv200
2026-04-28 20:14:39 [INFO] [nv200] [IMPORT] MIGRATION CSV -> SQLite unifie
2026-04-28 20:14:39 [INFO] [nv200] [IMPORT] Fichier: leboncoin_ads_nv200_20260428_201423.csv
2026-04-28 20:14:39 [INFO] [nv200] [IMPORT] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:14:39 [INFO] [nv200] [IMPORT] 108 lus, 108 inseres, 0 ignores, 0 erreurs
2026-04-28 20:14:39 [INFO] [nv200] [IMPORT] TOTAL : 108 lus, 108 inseres — Base : /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:14:39 [INFO] [nv200] [IMPORT] 15495 annonces en base
2026-04-28 20:14:39 [INFO] [nv200] [AVAILABILITY] $ /home/ubuntu/app/.venv/bin/python /home/ubuntu/app/scripts/check_availability.py --csv /home/ubuntu/app/leboncoin_ads_nv200_20260428_201423.csv --brand nissan --model nv200 --db /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:14:39 [INFO] [nv200] [AVAILABILITY] CHECK DISPONIBILITE — CSV: leboncoin_ads_nv200_20260428_201423.csv, Brand: nissan, Model: nv200
2026-04-28 20:14:39 [INFO] [nv200] [AVAILABILITY] 108 list_id lus dans le CSV.
2026-04-28 20:14:39 [INFO] [nv200] [AVAILABILITY] 110 annonces actives en base pour nissan nv200.
2026-04-28 20:14:39 [INFO] [nv200] [AVAILABILITY] 2 annonce(s) marquées indisponibles.
2026-04-28 20:14:39 [INFO] [nv200] [AVAILABILITY] CSV: 108, Actives DB: 110, Absentes: 2
2026-04-28 20:14:39 [INFO] [nv200] [AVAILABILITY] Marquees indisponibles: 2
2026-04-28 20:14:39 [INFO] [nv200] [DETAIL] $ /home/ubuntu/app/.venv/bin/python -m crawler.leboncoin_ad_detail --model nv200 --delay 0.5 --limit 200
2026-04-28 20:14:40 [INFO] [nv200] [DETAIL] ENRICHISSEMENT AD DETAIL — Modele: nv200 — Limite: 200
2026-04-28 20:14:40 [INFO] [nv200] [DETAIL] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:14:40 [INFO] [nv200] [DETAIL] 4 annonce(s) à enrichir (modèle: nv200)
2026-04-28 20:14:47 [INFO] [nv200] [DETAIL] RESULTAT : 4 traitee(s), 4 enrichies, 0 introuvables, 0 erreurs
2026-04-28 20:14:47 [INFO] [nv200] [STATS] $ /home/ubuntu/app/.venv/bin/python -m stats.main --model nv200 --skip-plots
2026-04-28 20:14:47 [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 20:14:50 [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 20:14:50 [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 20:14:51 [INFO] [nv200] [STATS] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 20:14:51 [INFO] [nv200] [STATS] Annonces sans evaluation LLM : 4
2026-04-28 20:14:55 [INFO] [nv200] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:14:55 [INFO] [nv200] [STATS] LLM OUTPUT batch 1/1: 4 resultats extraits (modele=gpt-4.1-mini)
2026-04-28 20:14:55 [INFO] [nv200] [STATS] Resultats extraits : 4
2026-04-28 20:14:55 [INFO] [nv200] [STATS] Evaluations inserees : 4
2026-04-28 20:14:55 [INFO] [nv200] [STATS]   stats_descriptives : 5 lignes insérées
2026-04-28 20:14:55 [INFO] [nv200] [STATS]   modele_regression : 2 lignes insérées
2026-04-28 20:14:55 [INFO] [nv200] [STATS]   referentiel_prix : 55 segments insérés
2026-04-28 20:14:55 [INFO] [nv200] [STATS]   ads.deal_columns : 352 annonces mises à jour
2026-04-28 20:14:55 [INFO] [nv200] [STATS] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 20:14:55 [INFO] [nv200] [STATS] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:14:55 [INFO] [nv200] [STATS] Champs actifs : 8
2026-04-28 20:14:55 [INFO] [nv200] [STATS] Annonces Excellente/Bonne affaire sans analyse description : 2
2026-04-28 20:14:55 [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 20:14:55 [INFO] [nv200] [STATS] ━━━ LLM DESC INPUT batch 1/2 (1 annonces) ━━━
3187995361: "À saisir véhicule Nissan NV200 bon état général"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:14:57 [INFO] [nv200] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:14:57 [INFO] [nv200] [STATS] ━━━ LLM DESC OUTPUT batch 1/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3187995361",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": null,
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:14:57 [INFO] [nv200] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:14:57 [INFO] [nv200] [STATS] ━━━ LLM DESC INPUT batch 2/2 (1 annonces) ━━━
3188095220: "Vends  Camionnette. 2 portes latérales. Nv 200 blancs. Le prix 3500€ a né 2013. Si vous êtes intéressé, me contacter."
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:14:58 [INFO] [nv200] [STATS] HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
2026-04-28 20:14:58 [INFO] [nv200] [STATS] ━━━ LLM DESC OUTPUT batch 2/2 (1 résultats, modèle=gpt-4.1-mini) ━━━
[
  {
    "list_id": "3188095220",
    "courroie_changee": null,
    "embrayage_change": null,
    "travaux_recents": [],
    "negociabilite": "negociable",
    "contexte_vente": null,
    "nb_proprietaires": null,
    "options_description": [],
    "accidente": null
  }
]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2026-04-28 20:14:58 [INFO] [nv200] [STATS] Batch persisté : 1 évaluation(s) sauvegardée(s)
2026-04-28 20:14:58 [INFO] [nv200] [STATS] Évaluations insérées : 2
2026-04-28 20:14:58 [INFO] [nv200] [STATS] ANALYSE TERMINEE en 7.6s — 352 annonces (run #907) — Modele: nv200
2026-04-28 20:14:59 [INFO] [nv200] [LLM] $ /home/ubuntu/app/.venv/bin/python -m stats.m05_llm_title_analysis --model nv200
2026-04-28 20:14:59 [INFO] [nv200] [LLM] M05 — Extraction LLM des titres (GPT-5 Nano)
2026-04-28 20:14:59 [INFO] [nv200] [LLM] Annonces sans evaluation LLM : 0
2026-04-28 20:14:59 [INFO] [nv200] [LLM] Toutes les annonces ont deja ete analysees.
2026-04-28 20:15:00 [INFO] [nv200] [LLM DESC] $ /home/ubuntu/app/.venv/bin/python -m stats.m06_llm_description_analysis --model nv200
2026-04-28 20:15:00 [INFO] [nv200] [LLM DESC] M06 — Extraction LLM des descriptions (GPT-5 Nano)
2026-04-28 20:15:00 [INFO] [nv200] [LLM DESC] Schéma initialisé dans /home/ubuntu/app/db/lbc.sqlite
2026-04-28 20:15:00 [INFO] [nv200] [LLM DESC] Champs actifs : 8
2026-04-28 20:15:00 [INFO] [nv200] [LLM DESC] Annonces Excellente/Bonne affaire sans analyse description : 0
2026-04-28 20:15:00 [INFO] [nv200] [LLM DESC] Toutes les annonces éligibles ont déjà été analysées.
2026-04-28 20:15:00 [INFO] [nv200] [LLM DESC] .env restaure
2026-04-28 20:15:00 [INFO] [GLOBAL] [SUMMARY] clio_4               -> OK
2026-04-28 20:15:00 [INFO] [GLOBAL] [SUMMARY] i20                  -> OK
2026-04-28 20:15:00 [INFO] [GLOBAL] [SUMMARY] berlingo             -> OK
2026-04-28 20:15:00 [INFO] [GLOBAL] [SUMMARY] c4                   -> OK
2026-04-28 20:15:00 [INFO] [GLOBAL] [SUMMARY] scenic               -> OK
2026-04-28 20:15:00 [INFO] [GLOBAL] [SUMMARY] 5008                 -> OK
2026-04-28 20:15:00 [INFO] [GLOBAL] [SUMMARY] fiesta               -> OK
2026-04-28 20:15:00 [INFO] [GLOBAL] [SUMMARY] nv200                -> OK
2026-04-28 20:15:00 [INFO] [GLOBAL] [SUMMARY] Summary ecrit dans /home/ubuntu/app/logs/crawl/20260428_200000/_summary.json