SPB Git forge

spb/auto-ka

Public
61commits 1branches 0releases
14.4 MBsize
maindefault branch
12 days agolast push
Python 61.6% TypeScript 20.9% CSS 11.4% JavaScript 5.1% HTML 1.1%

[ka4] fix connecteur groupecontant: migration PowerGo → Next.js custom (refonte 2026 de contant.ca, /data/vehicles-inventory-fr-items.json → 404); parsing du payload RSC des pages /fr/vehicules-usages/{motos,vehicules-3-roues} (67 usagés); Can-Am Origin/Pulse détectées Électrique; sources.json + docs régénérées

Simon-Pierre Boucher committed 28 days ago (Aug 29, 2026) parent a2db03e

35 changed files +455 −299

modified autoka/connectors/moto_dealers.py +150 −4
@@ -32,6 +32,10 @@
32 32 # avec JSON-LD @type Product + table de spécifications (Kilométrage,
33 33 # Couleur…) + galerie JSON Magento.
34 34 #
35 +# 2b. Next.js custom (Groupe Contant, refonte 2026 — ex-PowerGo) : usagés
36 +# server-rendered dans le payload RSC (self.__next_f.push) des pages
37 +# /fr/vehicules-usages/<type> ; voir la classe GroupeContant.
38 +#
35 39 # 3. D2C Media — aucun des concessionnaires moto candidats sondés n'y est
36 40 # (PowerGo domine cette verticale), mais la base D2CMotoConnector est
37 41 # prête : mêmes mécanismes que D2CConnector (sitemap /fr/sitemap.xml +
@@ -130,7 +134,7 @@ _PG_SPEC_VAL_RE = re.compile(r"<span[^>]*>(.*?)</span>", re.S)
130 134 # moto électrique (make/modèle/titre) : ne jamais leur inférer Essence
131 135 _PG_ELECTRIC_RE = re.compile(
132 136 r"\b(électrique|electrique|electric|livewire|zero motorcycles|energica|"
133 − r"elettrica|e-?scooter)\b", re.I)
137 + r"elettrica|e-?scooter|can-?am\s+(?:origin|pulse))\b", re.I)
134 138
135 139 MAX_IMAGES = 25
136 140
@@ -462,13 +466,155 @@ class ExcelMoto(PowerGoMotoConnector):
462 466 city = "Montréal"
463 467
464 468
465 −class GroupeContant(PowerGoMotoConnector):
466 − # groupe multi-succursales : Mirabel, Repentigny, Vaudreuil, Beloeil,
467 − # Ste-Agathe — la ville de chaque unité vient du listing (location)
469 +class GroupeContant(BaseConnector):
470 + """Groupe Contant — contant.ca (refonte 2026 : Next.js custom, plus PowerGo).
471 +
472 + Le JSON PowerGo /data/vehicles-inventory-fr-items.json est mort (404).
473 + Les usagés sont server-rendered dans le payload RSC (flight,
474 + self.__next_f.push) des pages /fr/vehicules-usages/<type> : tableau
475 + "vehicles" COMPLET (aucune pagination) — stock, make, model, year, price,
476 + salePrice, km, images S3, descriptionFr, location (succursale)… Les pages
477 + détail (/fr/vehicules-usages/<stock>) n'apportent rien de plus (vin/color
478 + y sont aussi null) : on n'en fait AUCUNE.
479 + Groupe multi-succursales : Mirabel, Repentigny, Vaudreuil, Beloeil,
480 + Ste-Agathe — la ville de chaque unité vient du listing (location).
481 + """
482 +
468 483 source_id = "groupecontant"
469 484 base_url = "https://www.contant.ca"
470 485 dealer_name = "Groupe Contant"
471 486 city = "Repentigny"
487 + request_delay = 1.0
488 + use_detail_cache = False
489 +
490 + # types usagés indexés : motos + trois-roues (Spyder/Ryker/Canyon,
491 + # immatriculées moto au Québec) ; pas de catégorie scooter sur ce site
492 + listing_paths = ("/fr/vehicules-usages/motos",
493 + "/fr/vehicules-usages/vehicules-3-roues")
494 +
495 + # slug de succursale du payload → libellés de ville d'avant la refonte
496 + _CITIES = {"mirabel": "Mirabel", "repentigny": "Repentigny",
497 + "vaudreuil": "Vaudreuil", "beloeil": "Beloeil",
498 + "ste-agathe": "Ste-Agathe"}
499 +
500 + # segments JS `self.__next_f.push([1,"…"])` (littéraux JSON.stringify)
501 + _FLIGHT_RE = re.compile(
502 + r'self\.__next_f\.push\(\[1,"((?:[^"\\]|\\.)*)"\]\)', re.S)
503 +
504 + def _flight_vehicles(self, path: str) -> list[dict]:
505 + """Tableau "vehicles" du payload RSC d'une page listing."""
506 + resp = self.get(self.base_url + path)
507 + if not resp.encoding or resp.encoding.lower() in ("iso-8859-1",
508 + "latin-1"):
509 + resp.encoding = "utf-8"
510 + blob = "".join(json.loads(f'"{m}"')
511 + for m in self._FLIGHT_RE.findall(resp.text))
512 + i = blob.find('"vehicles":[')
513 + if i < 0:
514 + return []
515 + arr, _ = json.JSONDecoder().raw_decode(blob, i + len('"vehicles":'))
516 + return [it for it in arr if isinstance(it, dict)]
517 +
518 + def fetch(self) -> list[Vehicle]:
519 + vehicles: list[Vehicle] = []
520 + seen: set[str] = set()
521 + for path in self.listing_paths:
522 + for it in self._flight_vehicles(path):
523 + if it.get("condition") != "used" or it.get("isSold"):
524 + continue
525 + ext_id = str(it.get("stock") or it.get("tractionId") or "")
526 + if not ext_id or ext_id in seen:
527 + continue
528 + seen.add(ext_id)
529 + try:
530 + veh = self._to_vehicle(ext_id, it)
531 + except Exception:
532 + continue
533 + if veh is not None:
534 + vehicles.append(veh)
535 + return vehicles
536 +
537 + def _to_vehicle(self, ext_id: str, it: dict) -> Vehicle | None:
538 + make = _clean(str(it.get("make") or ""))
539 + model = _clean(str(it.get("model") or ""))
540 + year = it.get("year")
541 + try:
542 + year = int(str(year)[:4]) if year else None
543 + except ValueError:
544 + year = None
545 + title = " ".join(str(p) for p in (year, make, model) if p)
546 + if not title:
547 + return None
548 +
549 + # prix courant = salePrice (liquidation) sinon price ; l'écart entre
550 + # les deux devient le rabais affiché
551 + price = it.get("salePrice") or it.get("price")
552 + try:
553 + price = float(price) if price else None
554 + except (TypeError, ValueError):
555 + price = None
556 + base = it.get("price")
557 + try:
558 + base = float(base) if base else None
559 + except (TypeError, ValueError):
560 + base = None
561 +
562 + km = it.get("km")
563 + try:
564 + km = float(km) if km is not None else None
565 + except (TypeError, ValueError):
566 + km = None
567 +
568 + cat = it.get("categoryLabel") or {}
569 + cat_fr = _clean(str(cat.get("fr") or "")) if isinstance(cat, dict) \
570 + else ""
571 + kind = moto_kind(str(it.get("categorySlug") or ""),
572 + str(it.get("rawCategory") or ""), model, title)
573 +
574 + details = {k: v for k, v in (
575 + ("category", cat_fr),
576 + ("type", _clean(str(it.get("typeGroup") or "")))) if v}
577 + if base and price and base > price:
578 + details["regular_price"] = base
579 + details["rebate"] = round(base - price, 2)
580 +
581 + images = [u for u in (it.get("images") or [])
582 + if isinstance(u, str) and u.startswith("http")]
583 +
584 + loc = str(it.get("location") or "").lower()
585 + vin = str(it.get("vin") or "").upper().replace(" ", "")
586 + if len(vin) < 11:
587 + vin = ""
588 +
589 + blob = " ".join(filter(None, (make, model, title)))
590 + fuel = "Électrique" if _PG_ELECTRIC_RE.search(blob) else "Essence"
591 +
592 + return Vehicle(
593 + source=self.source_id,
594 + external_id=ext_id,
595 + url=f"{self.base_url}/fr/vehicules-usages/{ext_id}",
596 + kind=kind,
597 + title=title,
598 + make=make, # explicite : marques moto absentes
599 + model=model,
600 + year=year,
601 + price=price,
602 + price_label=f"{price:,.0f} $".replace(",", " ") if price else "",
603 + mileage_km=km,
604 + mileage_label=f"{km:,.0f} km".replace(",", " ") if km else "",
605 + transmission="Automatique" if kind == "scooter" else "",
606 + fuel=fuel,
607 + drivetrain="Propulsion",
608 + body_type=cat_fr,
609 + exterior_color=_clean(str(it.get("color") or "")),
610 + vin=vin,
611 + stock_number=str(it.get("stock") or ""),
612 + dealer_name=self.dealer_name,
613 + city=self._CITIES.get(loc) or _clean(loc).title() or self.city,
614 + description=_clean(str(it.get("descriptionFr") or ""))[:4000],
615 + details=details,
616 + images=images[:MAX_IMAGES],
617 + )
472 618
473 619
474 620 class GabrielHarleyDavidson(PowerGoMotoConnector):
modified data/sources.json +2 −2
@@ -1466,10 +1466,10 @@
1466 1466 "id": "groupecontant",
1467 1467 "name": "Groupe Contant",
1468 1468 "url": "https://www.contant.ca",
1469 − "listing_url": "https://www.contant.ca/fr/usage/",
1469 + "listing_url": "https://www.contant.ca/fr/vehicules-usages",
1470 1470 "city": "Repentigny",
1471 1471 "region": "Lanaudière",
1472 − "platform": "PowerGo (JSON inventaire public /data/vehicles-inventory-fr-items.json + JSON-LD Vehicle des pages détail) ; multi-succursales (Mirabel, Repentigny, Vaudreuil, Beloeil, Ste-Agathe) — ville par véhicule via location",
1472 + "platform": "Next.js custom (refonte 2026, ex-PowerGo) : usagés server-rendered dans le payload RSC (self.__next_f.push) des pages /fr/vehicules-usages/{motos,vehicules-3-roues} — tableau \"vehicles\" complet, aucune page détail ; multi-succursales (Mirabel, Repentigny, Vaudreuil, Beloeil, Ste-Agathe) — ville par véhicule via location",
1473 1473 "connector": "moto_dealers",
1474 1474 "vertical": "moto",
1475 1475 "status": "actif"
modified docs/connecteurs/INDEX.md +29 −29
@@ -1,13 +1,13 @@
1 1 # Auto-Ka — Documentation des connecteurs
2 2
3 −_Générée le 2026-08-27 18:10 par `scripts/gen_connector_docs.py` (rejouable : `.venv/bin/python3 scripts/gen_connector_docs.py`)._
3 +_Générée le 2026-08-28 22:24 par `scripts/gen_connector_docs.py` (rejouable : `.venv/bin/python3 scripts/gen_connector_docs.py`)._
4 4
5 5 ## Vue d'ensemble
6 6
7 7 - **Sources** : 143 (registre `data/sources.json`)
8 8 - **Modules connecteurs** : 31 (`autoka/connectors/`)
9 −- **Annonces en base** : 89353 — dont 59759 actives (59086 autos, 644 motos, 29 scooters)
10 −- **Doublons VIN masqués** : 12469 (voir [dédup VIN](transverse-dedup-vin.md))
9 +- **Annonces en base** : 94686 — dont 59791 actives (59072 autos, 691 motos, 28 scooters)
10 +- **Doublons VIN masqués** : 12279 (voir [dédup VIN](transverse-dedup-vin.md))
11 11 - **Rappels Transports Canada** : 16969 rappels distincts (voir [rappels TC](transverse-rappels-tc.md))
12 12 - **Concessionnaires géolocalisés** : 138 (voir [dealers](transverse-dealers.md))
13 13
@@ -15,36 +15,36 @@ _Générée le 2026-08-27 18:10 par `scripts/gen_connector_docs.py` (rejouable :
15 15
16 16 | Module | Fiche | Sources | Annonces actives | Backend |
17 17 |---|---|---|---|---|
18 −| `d2c_dealers` | [d2c_dealers.md](d2c_dealers.md) | 65 | 5192 | requests direct — Firecrawl par source au besoin |
19 −| `sm360_dealers` | [sm360_dealers.md](sm360_dealers.md) | 15 | 1459 | requests direct — Firecrawl par source au besoin |
20 −| `moto_dealers` | [moto_dealers.md](moto_dealers.md) | 13 | 673 | requests direct |
21 −| `central_dealers` | [central_dealers.md](central_dealers.md) | 9 | 352 | requests direct |
22 −| `gatsby_dealers` | [gatsby_dealers.md](gatsby_dealers.md) | 6 | 205 | requests direct |
23 −| `magnetis_dealers` | [magnetis_dealers.md](magnetis_dealers.md) | 5 | 542 | requests direct |
24 −| `vvu_dealers` | [vvu_dealers.md](vvu_dealers.md) | 4 | 185 | requests direct |
25 −| `convertus_fc` | [convertus_fc.md](convertus_fc.md) | 3 | 323 | Firecrawl |
26 −| `albioccasion` | [albioccasion.md](albioccasion.md) | 1 | 1116 | requests direct |
18 +| `d2c_dealers` | [d2c_dealers.md](d2c_dealers.md) | 65 | 5220 | requests direct — Firecrawl par source au besoin |
19 +| `sm360_dealers` | [sm360_dealers.md](sm360_dealers.md) | 15 | 1443 | requests direct — Firecrawl par source au besoin |
20 +| `moto_dealers` | [moto_dealers.md](moto_dealers.md) | 13 | 719 | requests direct |
21 +| `central_dealers` | [central_dealers.md](central_dealers.md) | 9 | 354 | requests direct |
22 +| `gatsby_dealers` | [gatsby_dealers.md](gatsby_dealers.md) | 6 | 207 | requests direct |
23 +| `magnetis_dealers` | [magnetis_dealers.md](magnetis_dealers.md) | 5 | 497 | requests direct |
24 +| `vvu_dealers` | [vvu_dealers.md](vvu_dealers.md) | 4 | 180 | requests direct |
25 +| `convertus_fc` | [convertus_fc.md](convertus_fc.md) | 3 | 316 | Firecrawl |
26 +| `albioccasion` | [albioccasion.md](albioccasion.md) | 1 | 1111 | requests direct |
27 27 | `autodurocher` | [autodurocher.md](autodurocher.md) | 1 | 159 | requests direct |
28 −| `automobileendirect` | [automobileendirect.md](automobileendirect.md) | 1 | 1614 | requests direct |
29 −| `autotrader` | [autotrader.md](autotrader.md) | 1 | 2152 | Scrapfly |
30 −| `autousagee` | [autousagee.md](autousagee.md) | 1 | 11852 | requests direct |
31 −| `cargurus` | [cargurus.md](cargurus.md) | 1 | 634 | Scrapfly |
32 −| `classeauto` | [classeauto.md](classeauto.md) | 1 | 98 | requests direct |
33 −| `clubautozone` | [clubautozone.md](clubautozone.md) | 1 | 57 | requests direct |
34 −| `desmeules` | [desmeules.md](desmeules.md) | 1 | 261 | requests direct |
35 −| `dupontford` | [dupontford.md](dupontford.md) | 1 | 66 | requests direct |
36 −| `hgregoire` | [hgregoire.md](hgregoire.md) | 1 | 1751 | Scrapfly |
37 −| `jlkauto` | [jlkauto.md](jlkauto.md) | 1 | 62 | requests direct |
38 −| `kijiji` | [kijiji.md](kijiji.md) | 1 | 3118 | requests direct |
39 −| `leprixdugros` | [leprixdugros.md](leprixdugros.md) | 1 | 1125 | Scrapfly |
40 −| `megacentre` | [megacentre.md](megacentre.md) | 1 | 464 | requests direct |
41 −| `montjolichrysler` | [montjolichrysler.md](montjolichrysler.md) | 1 | 426 | requests direct |
42 −| `occasionbeaucage` | [occasionbeaucage.md](occasionbeaucage.md) | 1 | 1295 | requests direct |
28 +| `automobileendirect` | [automobileendirect.md](automobileendirect.md) | 1 | 1602 | requests direct |
29 +| `autotrader` | [autotrader.md](autotrader.md) | 1 | 2420 | Scrapfly |
30 +| `autousagee` | [autousagee.md](autousagee.md) | 1 | 11789 | requests direct |
31 +| `cargurus` | [cargurus.md](cargurus.md) | 1 | 527 | Scrapfly |
32 +| `classeauto` | [classeauto.md](classeauto.md) | 1 | 96 | requests direct |
33 +| `clubautozone` | [clubautozone.md](clubautozone.md) | 1 | 56 | requests direct |
34 +| `desmeules` | [desmeules.md](desmeules.md) | 1 | 277 | requests direct |
35 +| `dupontford` | [dupontford.md](dupontford.md) | 1 | 60 | requests direct |
36 +| `hgregoire` | [hgregoire.md](hgregoire.md) | 1 | 1763 | Scrapfly |
37 +| `jlkauto` | [jlkauto.md](jlkauto.md) | 1 | 66 | requests direct |
38 +| `kijiji` | [kijiji.md](kijiji.md) | 1 | 3073 | requests direct |
39 +| `leprixdugros` | [leprixdugros.md](leprixdugros.md) | 1 | 1075 | Scrapfly |
40 +| `megacentre` | [megacentre.md](megacentre.md) | 1 | 462 | requests direct |
41 +| `montjolichrysler` | [montjolichrysler.md](montjolichrysler.md) | 1 | 417 | requests direct |
42 +| `occasionbeaucage` | [occasionbeaucage.md](occasionbeaucage.md) | 1 | 1291 | requests direct |
43 43 | `occasioncharlevoix` | [occasioncharlevoix.md](occasioncharlevoix.md) | 1 | 30 | requests direct |
44 44 | `okaze` | [okaze.md](okaze.md) | 1 | 55 | requests direct |
45 −| `otogo` | [otogo.md](otogo.md) | 1 | 24048 | requests direct |
45 +| `otogo` | [otogo.md](otogo.md) | 1 | 24090 | requests direct |
46 46 | `ototr` | [ototr.md](ototr.md) | 1 | 4 | requests direct |
47 −| `stefoychrysler` | [stefoychrysler.md](stefoychrysler.md) | 1 | 426 | requests direct |
47 +| `stefoychrysler` | [stefoychrysler.md](stefoychrysler.md) | 1 | 417 | requests direct |
48 48 | `yannicklaberge` | [yannicklaberge.md](yannicklaberge.md) | 1 | 15 | requests direct |
49 49
50 50 ## Fiches transverses
modified docs/connecteurs/albioccasion.md +4 −4
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/albioccasion.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 1116
9 +- **Annonces actives (BD)** : 1111
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : microdata schema.org
12 12 - **Plafonds / cache** : AUTOKA_MAX_DETAILS, AUTOKA_MAX_PAGES, cache détail BD (detail_cache)
@@ -32,7 +32,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
32 32 > semaine). AUTOKA_MAX_PAGES limite la pagination liste et
33 33 > AUTOKA_MAX_DETAILS plafonne les vraies requêtes détail par sync.
34 34
35 −## Complétude des champs (annonces actives, N = 1 116)
35 +## Complétude des champs (annonces actives, N = 1 111)
36 36
37 37 | Champ | % rempli |
38 38 |---|---|
@@ -41,7 +41,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
41 41 | Année | 100.0 % |
42 42 | Kilométrage | 100.0 % |
43 43 | Prix | 100.0 % |
44 −| Carburant | 5.8 % |
44 +| Carburant | 5.6 % |
45 45 | Boîte (transmission) | 100.0 % |
46 46 | VIN | 100.0 % |
47 47 | Photos | 100.0 % |
@@ -52,7 +52,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
52 52
53 53 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
54 54 |---|---|---|---|---|---|---|---|
55 −| `albioccasion` | ALBI Occasion | Mascouche | Lanaudière | 1116 | 1 | 2026-08-27 17:45 | OK (1113 trouvés) |
55 +| `albioccasion` | ALBI Occasion | Mascouche | Lanaudière | 1111 | 1 | 2026-08-28 21:07 | OK (1105 trouvés) |
56 56
57 57 ## Erreurs de synchronisation récentes (sync_log, ok = 0)
58 58
modified docs/connecteurs/autodurocher.md +1 −1
@@ -51,7 +51,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
51 51
52 52 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
53 53 |---|---|---|---|---|---|---|---|
54 −| `autodurocher` | Entrepôt Auto Durocher | Mirabel | Laurentides | 159 | 0 | 2026-08-27 17:45 | OK (159 trouvés) |
54 +| `autodurocher` | Entrepôt Auto Durocher | Mirabel | Laurentides | 159 | 0 | 2026-08-28 21:08 | OK (159 trouvés) |
55 55
56 56 ## Erreurs de synchronisation récentes
57 57
modified docs/connecteurs/automobileendirect.md +3 −3
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/automobileendirect.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 1614
9 +- **Annonces actives (BD)** : 1602
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : endpoint JSON
12 12 - **Plafonds / cache** : AUTOKA_MAX_DETAILS, AUTOKA_MAX_PAGES, cache détail BD (detail_cache)
@@ -37,7 +37,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
37 37 > URL publique d'une fiche : /auto-usage/<slug>/<vin> (route SPA fr).
38 38 > AUTOKA_MAX_PAGES (env) limite le nombre de pages de liste (tests).
39 39
40 −## Complétude des champs (annonces actives, N = 1 614)
40 +## Complétude des champs (annonces actives, N = 1 602)
41 41
42 42 | Champ | % rempli |
43 43 |---|---|
@@ -57,7 +57,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
57 57
58 58 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
59 59 |---|---|---|---|---|---|---|---|
60 −| `automobileendirect` | Automobile En Direct | Saint-Constant | Montérégie | 1614 | 0 | 2026-08-27 17:47 | OK (1611 trouvés) |
60 +| `automobileendirect` | Automobile En Direct | Saint-Constant | Montérégie | 1602 | 0 | 2026-08-28 21:09 | OK (1602 trouvés) |
61 61
62 62 ## Erreurs de synchronisation récentes
63 63
modified docs/connecteurs/autotrader.md +7 −7
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/autotrader.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 2152
9 +- **Annonces actives (BD)** : 2420
10 10 - **Backend de fetch** : Scrapfly
11 11 - **Mécanique détectée** : __NEXT_DATA__
12 12 - **Plafonds / cache** : AUTOKA_AUTOTRADER_MAX
@@ -41,27 +41,27 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
41 41 > pages 1-50) ; repli automatique Scrapfly ASP SANS render_js sur 403/429
42 42 > (~1 crédit/page en cas de blocage seulement — budget nul en régime normal).
43 43
44 −## Complétude des champs (annonces actives, N = 2 152)
44 +## Complétude des champs (annonces actives, N = 2 420)
45 45
46 46 | Champ | % rempli |
47 47 |---|---|
48 48 | Marque | 100.0 % |
49 49 | Modèle | 100.0 % |
50 −| Année | 99.9 % |
50 +| Année | 100.0 % |
51 51 | Kilométrage | 99.8 % |
52 52 | Prix | 100.0 % |
53 −| Carburant | 90.8 % |
53 +| Carburant | 91.6 % |
54 54 | Boîte (transmission) | 97.5 % |
55 55 | VIN | 0.0 % |
56 −| Photos | 95.0 % |
56 +| Photos | 93.9 % |
57 57 | Carfax | 0.0 % |
58 −| GPS (lat/lng) | 93.2 % |
58 +| GPS (lat/lng) | 95.0 % |
59 59
60 60 ## Sources membres (BD live)
61 61
62 62 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
63 63 |---|---|---|---|---|---|---|---|
64 −| `autotrader` | AutoTrader.ca / AutoHebdo (Québec) | — | — | 2152 | 0 | 2026-08-27 17:50 | OK (1921 trouvés) |
64 +| `autotrader` | AutoTrader.ca / AutoHebdo (Québec) | — | — | 2420 | 0 | 2026-08-28 21:12 | OK (1951 trouvés) |
65 65
66 66 ## Erreurs de synchronisation récentes
67 67
modified docs/connecteurs/autousagee.md +6 −6
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/autousagee.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 11852
9 +- **Annonces actives (BD)** : 11789
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : parsing HTML
12 12 - **Plafonds / cache** : AUTOKA_AUTOUSAGEE_MAX, AUTOKA_MAX_DETAILS, AUTOKA_MAX_PAGES, cache détail BD (detail_cache)
@@ -51,7 +51,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
51 51 > AUTOKA_MAX_PAGES (pages liste, tests), AUTOKA_MAX_DETAILS (vraies
52 52 > requêtes détail/sync, défaut 500 — inventaire enrichi progressivement).
53 53
54 −## Complétude des champs (annonces actives, N = 11 852)
54 +## Complétude des champs (annonces actives, N = 11 789)
55 55
56 56 | Champ | % rempli |
57 57 |---|---|
@@ -60,18 +60,18 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
60 60 | Année | 99.7 % |
61 61 | Kilométrage | 100.0 % |
62 62 | Prix | 99.9 % |
63 −| Carburant | 98.6 % |
64 −| Boîte (transmission) | 98.8 % |
63 +| Carburant | 98.5 % |
64 +| Boîte (transmission) | 98.7 % |
65 65 | VIN | 98.8 % |
66 66 | Photos | 89.3 % |
67 67 | Carfax | 0.0 % |
68 −| GPS (lat/lng) | 86.7 % |
68 +| GPS (lat/lng) | 86.8 % |
69 69
70 70 ## Sources membres (BD live)
71 71
72 72 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
73 73 |---|---|---|---|---|---|---|---|
74 −| `autousagee` | AutoUsagee.ca (AMVOQ) | — | — | 11852 | 3093 | 2026-08-27 15:06 | OK (11780 trouvés) |
74 +| `autousagee` | AutoUsagee.ca (AMVOQ) | — | — | 11789 | 3098 | 2026-08-28 21:31 | OK (11782 trouvés) |
75 75
76 76 ## Erreurs de synchronisation récentes
77 77
modified docs/connecteurs/cargurus.md +8 −7
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/cargurus.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 634
9 +- **Annonces actives (BD)** : 527
10 10 - **Backend de fetch** : Scrapfly
11 11 - **Mécanique détectée** : —
12 12 - **Plafonds / cache** : AUTOKA_CARGURUS_MAX
@@ -37,7 +37,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
37 37 > de 12 syncs/jour. Les annonces sorties de la fenêtre passent inactives
38 38 > après le délai de grâce standard (MISS_GRACE).
39 39
40 −## Complétude des champs (annonces actives, N = 634)
40 +## Complétude des champs (annonces actives, N = 527)
41 41
42 42 | Champ | % rempli |
43 43 |---|---|
@@ -46,21 +46,22 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
46 46 | Année | 100.0 % |
47 47 | Kilométrage | 100.0 % |
48 48 | Prix | 100.0 % |
49 −| Carburant | 70.7 % |
50 −| Boîte (transmission) | 97.2 % |
49 +| Carburant | 69.4 % |
50 +| Boîte (transmission) | 98.1 % |
51 51 | VIN | 100.0 % |
52 −| Photos | 87.5 % |
52 +| Photos | 87.1 % |
53 53 | Carfax | 0.0 % |
54 −| GPS (lat/lng) | 97.2 % |
54 +| GPS (lat/lng) | 96.6 % |
55 55
56 56 ## Sources membres (BD live)
57 57
58 58 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
59 59 |---|---|---|---|---|---|---|---|
60 −| `cargurus` | CarGurus.ca (Québec) | — | — | 634 | 173 | 2026-08-27 15:08 | OK (515 trouvés) |
60 +| `cargurus` | CarGurus.ca (Québec) | — | — | 527 | 178 | 2026-08-28 21:32 | OK (521 trouvés) |
61 61
62 62 ## Erreurs de synchronisation récentes (sync_log, ok = 0)
63 63
64 64 | Source | Quand | Message |
65 65 |---|---|---|
66 +| `cargurus` | 2026-08-28 09:30 | 422 Client Error: Unprocessable Entity for url: https://api.scrapfly.io/scrape?key=scp-live-4678865fffba41809895d31175deccc0&url=https%3A%2F%2Fwww.cargurus.ca%2 |
66 67 | `cargurus` | 2026-08-19 12:56 | HTTPSConnectionPool(host='api.scrapfly.io', port=443): Read timed out. (read timeout=120) |
modified docs/connecteurs/central_dealers.md +11 −11
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/central_dealers.py`
8 8 - **Sources membres** : 9
9 −- **Annonces actives (BD)** : 352
9 +- **Annonces actives (BD)** : 354
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : parsing HTML, endpoint JSON
12 12 - **Plafonds / cache** : AUTOKA_MAX_DETAILS
@@ -35,7 +35,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
35 35 > 2 = moto, 3 = VR) ; on garde le type 1 + un garde-fou regex sur la
36 36 > catégorie/carrosserie (motoneige, VTT, Classe A/B/C, récréatif…).
37 37
38 −## Complétude des champs (annonces actives, N = 352)
38 +## Complétude des champs (annonces actives, N = 354)
39 39
40 40 | Champ | % rempli |
41 41 |---|---|
@@ -55,15 +55,15 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
55 55
56 56 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
57 57 |---|---|---|---|---|---|---|---|
58 −| `autobsl` | Auto BSL | Rimouski | Bas-Saint-Laurent | 54 | 0 | 2026-08-27 15:08 | OK (52 trouvés) |
59 −| `autocreditplus` | Auto Crédit Plus | Trois-Rivières | Mauricie | 88 | 0 | 2026-08-27 15:08 | OK (88 trouvés) |
60 −| `autosag` | Autosag | Chicoutimi | Saguenay-Lac-Saint-Jean | 5 | 0 | 2026-08-27 15:08 | OK (5 trouvés) |
61 −| `autoxtreme` | Auto Xtrême | Montréal | Montréal | 49 | 0 | 2026-08-27 15:08 | OK (48 trouvés) |
62 −| `dastousauto` | D'Astous Auto | Montréal | Montréal | 29 | 0 | 2026-08-27 15:08 | OK (29 trouvés) |
63 −| `denisauto` | Denis Auto | Gatineau | Outaouais | 38 | 0 | 2026-08-27 15:08 | OK (36 trouvés) |
64 −| `fleuryautogroupe` | Fleury Auto Groupe | Gatineau | Outaouais | 60 | 0 | 2026-08-27 15:08 | OK (59 trouvés) |
65 −| `jrautotr` | J.R. Auto | Trois-Rivières | Mauricie | 23 | 0 | 2026-08-27 15:08 | OK (23 trouvés) |
66 −| `lecentreautoquebec` | Le Centre Auto Québec Plus | Québec | Capitale-Nationale | 6 | 0 | 2026-08-27 15:08 | OK (6 trouvés) |
58 +| `autobsl` | Auto BSL | Rimouski | Bas-Saint-Laurent | 50 | 0 | 2026-08-28 21:32 | OK (50 trouvés) |
59 +| `autocreditplus` | Auto Crédit Plus | Trois-Rivières | Mauricie | 88 | 0 | 2026-08-28 21:32 | OK (88 trouvés) |
60 +| `autosag` | Autosag | Chicoutimi | Saguenay-Lac-Saint-Jean | 7 | 0 | 2026-08-28 21:32 | OK (7 trouvés) |
61 +| `autoxtreme` | Auto Xtrême | Montréal | Montréal | 48 | 0 | 2026-08-28 21:32 | OK (48 trouvés) |
62 +| `dastousauto` | D'Astous Auto | Montréal | Montréal | 29 | 0 | 2026-08-28 21:32 | OK (29 trouvés) |
63 +| `denisauto` | Denis Auto | Gatineau | Outaouais | 38 | 0 | 2026-08-28 21:32 | OK (38 trouvés) |
64 +| `fleuryautogroupe` | Fleury Auto Groupe | Gatineau | Outaouais | 66 | 0 | 2026-08-28 21:32 | OK (66 trouvés) |
65 +| `jrautotr` | J.R. Auto | Trois-Rivières | Mauricie | 22 | 0 | 2026-08-28 21:32 | OK (22 trouvés) |
66 +| `lecentreautoquebec` | Le Centre Auto Québec Plus | Québec | Capitale-Nationale | 6 | 0 | 2026-08-28 21:32 | OK (6 trouvés) |
67 67
68 68 ## Erreurs de synchronisation récentes (sync_log, ok = 0)
69 69
modified docs/connecteurs/classeauto.md +3 −3
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/classeauto.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 98
9 +- **Annonces actives (BD)** : 96
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : endpoint JSON
12 12 - **Plafonds / cache** : aucun
@@ -30,7 +30,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
30 30 > Filtres de sécurité : vehicle_type_id == 1 (automobile), post_status
31 31 > publish/published, condition != NEW, deleted_at vide.
32 32
33 −## Complétude des champs (annonces actives, N = 98)
33 +## Complétude des champs (annonces actives, N = 96)
34 34
35 35 | Champ | % rempli |
36 36 |---|---|
@@ -50,7 +50,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
50 50
51 51 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
52 52 |---|---|---|---|---|---|---|---|
53 −| `classeauto` | Classe Auto | Montréal | Montréal | 98 | 0 | 2026-08-27 15:08 | OK (142 trouvés) |
53 +| `classeauto` | Classe Auto | Montréal | Montréal | 96 | 0 | 2026-08-28 21:32 | OK (147 trouvés) |
54 54
55 55 ## Erreurs de synchronisation récentes
56 56
modified docs/connecteurs/clubautozone.md +3 −3
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/clubautozone.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 57
9 +- **Annonces actives (BD)** : 56
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : API JSON interne, endpoint JSON
12 12 - **Plafonds / cache** : aucun
@@ -24,7 +24,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
24 24 > (l'API VMS directe répond 403 ; le proxy du site est la voie officielle).
25 25 > Réponse JSON riche : prix, km, VIN, moteur, couleurs, URL VDP… 30/page.
26 26
27 −## Complétude des champs (annonces actives, N = 57)
27 +## Complétude des champs (annonces actives, N = 56)
28 28
29 29 | Champ | % rempli |
30 30 |---|---|
@@ -44,7 +44,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
44 44
45 45 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
46 46 |---|---|---|---|---|---|---|---|
47 −| `clubautozone` | Club Auto Zone | Longueuil | Montérégie | 57 | 0 | 2026-08-27 15:08 | OK (57 trouvés) |
47 +| `clubautozone` | Club Auto Zone | Longueuil | Montérégie | 56 | 0 | 2026-08-28 21:32 | OK (56 trouvés) |
48 48
49 49 ## Erreurs de synchronisation récentes
50 50
modified docs/connecteurs/convertus_fc.md +5 −5
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/convertus_fc.py`
8 8 - **Sources membres** : 3
9 −- **Annonces actives (BD)** : 323
9 +- **Annonces actives (BD)** : 316
10 10 - **Backend de fetch** : Firecrawl (contournement Cloudflare / rendu JS)
11 11 - **Mécanique détectée** : API JSON interne
12 12 - **Plafonds / cache** : aucun
@@ -22,7 +22,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
22 22 > par Firecrawl pour franchir Cloudflare. Le JSON revient enveloppé dans
23 23 > un <body> HTML — on l'extrait puis on réutilise le parseur VMS.
24 24
25 −## Complétude des champs (annonces actives, N = 323)
25 +## Complétude des champs (annonces actives, N = 316)
26 26
27 27 | Champ | % rempli |
28 28 |---|---|
@@ -42,9 +42,9 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
42 42
43 43 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
44 44 |---|---|---|---|---|---|---|---|
45 −| `autoflash` | AutoFlash | Saint-Hubert | Montérégie | 154 | 0 | 2026-08-27 15:08 | OK (149 trouvés) |
46 −| `bernieresauto` | Bernières Auto | Saint-Nicolas | Chaudière-Appalaches | 69 | 0 | 2026-08-27 15:08 | OK (67 trouvés) |
47 −| `complexeautoplus` | Complexe Auto Plus | Saint-Jérôme | Laurentides | 100 | 0 | 2026-08-27 15:08 | OK (100 trouvés) |
45 +| `autoflash` | AutoFlash | Saint-Hubert | Montérégie | 145 | 0 | 2026-08-28 21:33 | OK (145 trouvés) |
46 +| `bernieresauto` | Bernières Auto | Saint-Nicolas | Chaudière-Appalaches | 71 | 0 | 2026-08-28 21:32 | OK (71 trouvés) |
47 +| `complexeautoplus` | Complexe Auto Plus | Saint-Jérôme | Laurentides | 100 | 0 | 2026-08-28 21:33 | OK (100 trouvés) |
48 48
49 49 ## Erreurs de synchronisation récentes (sync_log, ok = 0)
50 50
modified docs/connecteurs/d2c_dealers.md +68 −68
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/d2c_dealers.py`
8 8 - **Sources membres** : 65
9 −- **Annonces actives (BD)** : 5192
9 +- **Annonces actives (BD)** : 5220
10 10 - **Backend de fetch** : requests direct — Firecrawl par source au besoin (`use_firecrawl`, sites derrière Cloudflare)
11 11 - **Mécanique détectée** : sitemap, JSON-LD schema.org, endpoint JSON
12 12 - **Plafonds / cache** : AUTOKA_MAX_DETAILS, cache détail BD (detail_cache)
@@ -40,7 +40,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
40 40 > Le lastmod du sitemap est bumpé quotidiennement par D2C (inutilisable
41 41 > comme clé de cache) — d'où la clé temporelle hebdomadaire.
42 42
43 −## Complétude des champs (annonces actives, N = 5 192)
43 +## Complétude des champs (annonces actives, N = 5 220)
44 44
45 45 | Champ | % rempli |
46 46 |---|---|
@@ -53,78 +53,78 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
53 53 | Boîte (transmission) | 99.8 % |
54 54 | VIN | 98.7 % |
55 55 | Photos | 99.5 % |
56 −| Carfax | 34.6 % |
56 +| Carfax | 35.0 % |
57 57 | GPS (lat/lng) | 100.0 % |
58 58
59 59 ## Sources membres (BD live)
60 60
61 61 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
62 62 |---|---|---|---|---|---|---|---|
63 −| `abitibiautocredit` | Abitibi Auto Crédit | Rouyn-Noranda | Abitibi-Témiscamingue | 93 | 87 | 2026-08-27 15:08 | OK (93 trouvés) |
64 −| `almahonda` | Alma Honda | Alma | Saguenay–Lac-Saint-Jean | 30 | 0 | 2026-08-27 15:08 | OK (30 trouvés) |
65 −| `autoquebeclevis` | AutoQuébec Occasion Lévis | Lévis | Chaudière-Appalaches | 74 | 0 | 2026-08-27 15:08 | OK (74 trouvés) |
66 −| `autoquebectm` | AutoQuébec Occasion Thetford Mines | Thetford Mines | Chaudière-Appalaches | 38 | 0 | 2026-08-27 15:08 | OK (38 trouvés) |
67 −| `autosevasion` | Autos Évasion | Sherbrooke | Estrie | 51 | 0 | 2026-08-27 15:08 | OK (51 trouvés) |
68 −| `autosoccasionld` | Autos Occasion LD | Lévis | Chaudière-Appalaches | 170 | 0 | 2026-08-27 15:08 | OK (170 trouvés) |
69 −| `autosthubert` | Auto St-Hubert | Saint-Hubert | Montérégie | 135 | 0 | 2026-08-27 15:08 | OK (135 trouvés) |
70 −| `autovilleneuve` | Automobile Villeneuve Amqui | Amqui | Bas-Saint-Laurent | 5 | 0 | 2026-08-27 15:09 | OK (5 trouvés) |
71 −| `berniercrepeau` | Bernier Crépeau | Trois-Rivières | Mauricie | 25 | 0 | 2026-08-27 15:08 | OK (25 trouvés) |
72 −| `charlesbourgtoyota` | Charlesbourg Toyota | Québec | Capitale-Nationale | 100 | 0 | 2026-08-27 15:08 | OK (100 trouvés) |
73 −| `charlevoixtoyota` | Charlevoix Toyota | La Malbaie | Capitale-Nationale | 56 | 0 | 2026-08-27 15:09 | OK (56 trouvés) |
74 −| `chomedeytoyota` | Chomedey Toyota Laval | Laval | Laval | 61 | 0 | 2026-08-27 15:08 | OK (61 trouvés) |
75 −| `drummondvilleford` | Drummondville Ford | Drummondville | Centre-du-Québec | 52 | 0 | 2026-08-27 15:08 | OK (52 trouvés) |
76 −| `drummondvillevw` | Drummondville Volkswagen | Drummondville | Centre-du-Québec | 96 | 0 | 2026-08-27 15:08 | OK (96 trouvés) |
77 −| `dubechrysler` | Dubé Chrysler | Rivière-du-Loup | Bas-Saint-Laurent | 159 | 0 | 2026-08-27 15:08 | OK (159 trouvés) |
78 −| `ducloslongueuil` | Duclos Longueuil Chrysler | Longueuil | Montérégie | 81 | 0 | 2026-08-27 15:08 | OK (81 trouvés) |
79 −| `dupontautomobile` | Dupont Automobile | Alma | Saguenay–Lac-Saint-Jean | 54 | 0 | 2026-08-27 15:08 | OK (54 trouvés) |
80 −| `dynastiehyundai` | Dynastie Hyundai | Rouyn-Noranda | Abitibi-Témiscamingue | 30 | 28 | 2026-08-27 15:08 | OK (29 trouvés) |
81 −| `equipeformule` | Équipe Formule | Rimouski | Bas-Saint-Laurent | 69 | 0 | 2026-08-27 15:08 | OK (69 trouvés) |
82 −| `fichaultkia` | Fichault Kia | Châteauguay | Montérégie | 37 | 0 | 2026-08-27 15:08 | OK (37 trouvés) |
83 −| `forceoccasion` | Force Occasion | Québec | Capitale-Nationale | 493 | 0 | 2026-08-27 15:08 | OK (493 trouvés) |
84 −| `fordthetford` | Ford Thetford | Thetford Mines | Chaudière-Appalaches | 36 | 0 | 2026-08-27 15:08 | OK (36 trouvés) |
85 −| `gaspesiehyundai` | Gaspésie Hyundai | Bonaventure | Gaspésie–Îles-de-la-Madeleine | 36 | 20 | 2026-08-27 15:08 | OK (35 trouvés) |
86 −| `gaspetoyota` | Gaspé Toyota | Gaspé | Gaspésie–Îles-de-la-Madeleine | 11 | 0 | 2026-08-27 15:08 | OK (11 trouvés) |
87 −| `gervaisauto` | Gervais Auto | Shawinigan | Mauricie | 554 | 0 | 2026-08-27 15:08 | OK (554 trouvés) |
88 −| `girardautos` | Girard Autos | Trois-Rivières | Mauricie | 19 | 0 | 2026-08-27 15:08 | OK (19 trouvés) |
89 −| `granbytoyota` | Granby Toyota | Granby | Montérégie | 20 | 0 | 2026-08-27 15:08 | OK (20 trouvés) |
90 −| `grandportage` | Groupe Grand-Portage | Rivière-du-Loup | Bas-Saint-Laurent | 100 | 0 | 2026-08-27 15:08 | OK (100 trouvés) |
91 −| `groupemotion` | Groupe Motion | Longueuil | Montérégie | 85 | 0 | 2026-08-27 15:08 | OK (85 trouvés) |
92 −| `hondacharlesbourg` | Honda Charlesbourg | Québec | Capitale-Nationale | 13 | 0 | 2026-08-27 15:08 | OK (13 trouvés) |
93 −| `hondacharlevoix` | Honda Charlevoix | La Malbaie | Capitale-Nationale | 35 | 0 | 2026-08-27 15:08 | OK (35 trouvés) |
94 −| `hondanewrichmond` | Honda New Richmond | New Richmond | Gaspésie–Îles-de-la-Madeleine | 62 | 0 | 2026-08-27 15:08 | OK (62 trouvés) |
95 −| `hullhyundai` | Hull Hyundai | Gatineau | Outaouais | 103 | 0 | 2026-08-27 15:08 | OK (103 trouvés) |
96 −| `hyundaibeauce` | Hyundai Beauce | Saint-Georges | Chaudière-Appalaches | 29 | 0 | 2026-08-27 15:08 | OK (29 trouvés) |
97 −| `hyundaicharlevoix` | Hyundai Charlevoix | Baie-Saint-Paul | Capitale-Nationale | 21 | 0 | 2026-08-27 15:09 | OK (21 trouvés) |
98 −| `hyundaidrummondville` | Hyundai Drummondville | Drummondville | Centre-du-Québec | 91 | 0 | 2026-08-27 15:08 | OK (91 trouvés) |
99 −| `hyundailanaudiere` | Hyundai Lanaudière | Joliette | Lanaudière | 61 | 0 | 2026-08-27 15:08 | OK (61 trouvés) |
100 −| `hyundailongueuil` | Hyundai Longueuil | Longueuil | Montérégie | 19 | 0 | 2026-08-27 15:08 | OK (19 trouvés) |
101 −| `hyundaistjerome` | Hyundai St-Jérôme | Mirabel | Laurentides | 124 | 0 | 2026-08-27 15:08 | OK (123 trouvés) |
102 −| `jeandumas` | Jean Dumas Multiconcessionnaire | Alma | Saguenay–Lac-Saint-Jean | 110 | 110 | 2026-08-27 15:08 | OK (110 trouvés) |
103 −| `jeandumasfordbc` | Jean Dumas Ford Baie-Comeau | Baie-Comeau | Côte-Nord | 110 | 85 | 2026-08-27 15:08 | OK (110 trouvés) |
104 −| `jeandumashondabc` | Jean Dumas Honda Baie-Comeau | Baie-Comeau | Côte-Nord | 110 | 25 | 2026-08-27 15:08 | OK (110 trouvés) |
105 −| `joliettemitsubishi` | Joliette Mitsubishi | Joliette | Lanaudière | 80 | 0 | 2026-08-27 15:08 | OK (80 trouvés) |
106 −| `kiabeauport` | Kia Beauport | Québec | Capitale-Nationale | 73 | 0 | 2026-08-27 15:08 | OK (73 trouvés) |
107 −| `kiajoliette` | Kia Joliette | Joliette | Lanaudière | 56 | 0 | 2026-08-27 15:08 | OK (56 trouvés) |
108 −| `lamihonda` | L'Ami Honda | Rouyn-Noranda | Abitibi-Témiscamingue | 93 | 0 | 2026-08-27 15:08 | OK (93 trouvés) |
109 −| `leoautomobile` | Léo Automobile | Chicoutimi | Saguenay–Lac-Saint-Jean | 58 | 0 | 2026-08-27 15:08 | OK (58 trouvés) |
110 −| `levisautos` | Lévis Autos | Lévis | Chaudière-Appalaches | 84 | 0 | 2026-08-27 15:08 | OK (84 trouvés) |
111 −| `levistoyota` | Lévis Toyota | Lévis | Chaudière-Appalaches | 42 | 0 | 2026-08-27 15:08 | OK (42 trouvés) |
112 −| `longueuilhonda` | Longueuil Honda | Longueuil | Montérégie | 43 | 0 | 2026-08-27 15:08 | OK (43 trouvés) |
113 −| `mferlandauto` | M. Ferland Auto | Sherbrooke | Estrie | 17 | 0 | 2026-08-27 15:08 | OK (17 trouvés) |
114 −| `nicoloccasion` | Nicol Occasion | La Sarre | Abitibi-Témiscamingue | 69 | 0 | 2026-08-27 15:08 | OK (69 trouvés) |
115 −| `olivierchryslerbc` | Olivier Chrysler Baie-Comeau | Baie-Comeau | Côte-Nord | 29 | 0 | 2026-08-27 15:08 | OK (29 trouvés) |
116 −| `olivierhyundaibc` | Olivier Hyundai Baie-Comeau | Baie-Comeau | Côte-Nord | 19 | 0 | 2026-08-27 15:08 | OK (19 trouvés) |
117 −| `olivieroccasionseptiles` | Olivier Occasion Sept-Îles | Sept-Îles | Côte-Nord | 89 | 0 | 2026-08-27 15:08 | OK (89 trouvés) |
118 −| `poirieroccasion` | Poirier Occasion | Val-d'Or | Abitibi-Témiscamingue | 231 | 0 | 2026-08-27 15:08 | OK (231 trouvés) |
119 −| `sherbrookeautooccasion` | Sherbrooke Auto Occasion | Sherbrooke | Estrie | 83 | 0 | 2026-08-27 15:08 | OK (83 trouvés) |
120 −| `stgeorgesgm` | St-Georges Chevrolet Buick GMC | Saint-Georges | Chaudière-Appalaches | 29 | 0 | 2026-08-27 15:08 | OK (29 trouvés) |
121 −| `stjeromemitsubishi` | St-Jérôme Mitsubishi | Saint-Jérôme | Laurentides | 144 | 0 | 2026-08-27 15:08 | OK (144 trouvés) |
122 −| `subaruvictoriaville` | Subaru Victoriaville | Victoriaville | Centre-du-Québec | 36 | 0 | 2026-08-27 15:08 | OK (36 trouvés) |
123 −| `toyotabdc` | Toyota Baie des Chaleurs | Caplan | Gaspésie–Îles-de-la-Madeleine | 36 | 14 | 2026-08-27 15:08 | OK (36 trouvés) |
124 −| `troisriviereshonda` | Trois-Rivières Honda | Trois-Rivières | Mauricie | 66 | 0 | 2026-08-27 15:08 | OK (66 trouvés) |
125 −| `trtoyota` | Trois-Rivières Toyota | Trois-Rivières | Mauricie | 51 | 0 | 2026-08-27 15:08 | OK (51 trouvés) |
126 −| `vaudreuilvw` | Vaudreuil Volkswagen | Vaudreuil-Dorion | Montérégie | 40 | 0 | 2026-08-27 15:08 | OK (40 trouvés) |
127 −| `vwsherbrooke` | VW Sherbrooke | Sherbrooke | Estrie | 66 | 0 | 2026-08-27 15:08 | OK (66 trouvés) |
63 +| `abitibiautocredit` | Abitibi Auto Crédit | Rouyn-Noranda | Abitibi-Témiscamingue | 91 | 85 | 2026-08-28 21:33 | OK (91 trouvés) |
64 +| `almahonda` | Alma Honda | Alma | Saguenay–Lac-Saint-Jean | 33 | 0 | 2026-08-28 21:33 | OK (33 trouvés) |
65 +| `autoquebeclevis` | AutoQuébec Occasion Lévis | Lévis | Chaudière-Appalaches | 75 | 0 | 2026-08-28 21:33 | OK (75 trouvés) |
66 +| `autoquebectm` | AutoQuébec Occasion Thetford Mines | Thetford Mines | Chaudière-Appalaches | 40 | 0 | 2026-08-28 21:33 | OK (40 trouvés) |
67 +| `autosevasion` | Autos Évasion | Sherbrooke | Estrie | 52 | 0 | 2026-08-28 21:33 | OK (52 trouvés) |
68 +| `autosoccasionld` | Autos Occasion LD | Lévis | Chaudière-Appalaches | 156 | 0 | 2026-08-28 21:33 | OK (156 trouvés) |
69 +| `autosthubert` | Auto St-Hubert | Saint-Hubert | Montérégie | 139 | 0 | 2026-08-28 21:33 | OK (139 trouvés) |
70 +| `autovilleneuve` | Automobile Villeneuve Amqui | Amqui | Bas-Saint-Laurent | 6 | 0 | 2026-08-28 21:33 | OK (6 trouvés) |
71 +| `berniercrepeau` | Bernier Crépeau | Trois-Rivières | Mauricie | 27 | 0 | 2026-08-28 21:33 | OK (27 trouvés) |
72 +| `charlesbourgtoyota` | Charlesbourg Toyota | Québec | Capitale-Nationale | 99 | 0 | 2026-08-28 21:33 | OK (99 trouvés) |
73 +| `charlevoixtoyota` | Charlevoix Toyota | La Malbaie | Capitale-Nationale | 57 | 0 | 2026-08-28 21:33 | OK (57 trouvés) |
74 +| `chomedeytoyota` | Chomedey Toyota Laval | Laval | Laval | 63 | 0 | 2026-08-28 21:33 | OK (63 trouvés) |
75 +| `drummondvilleford` | Drummondville Ford | Drummondville | Centre-du-Québec | 53 | 0 | 2026-08-28 21:33 | OK (53 trouvés) |
76 +| `drummondvillevw` | Drummondville Volkswagen | Drummondville | Centre-du-Québec | 96 | 0 | 2026-08-28 21:33 | OK (96 trouvés) |
77 +| `dubechrysler` | Dubé Chrysler | Rivière-du-Loup | Bas-Saint-Laurent | 167 | 0 | 2026-08-28 21:33 | OK (167 trouvés) |
78 +| `ducloslongueuil` | Duclos Longueuil Chrysler | Longueuil | Montérégie | 80 | 0 | 2026-08-28 21:33 | OK (80 trouvés) |
79 +| `dupontautomobile` | Dupont Automobile | Alma | Saguenay–Lac-Saint-Jean | 56 | 0 | 2026-08-28 21:33 | OK (56 trouvés) |
80 +| `dynastiehyundai` | Dynastie Hyundai | Rouyn-Noranda | Abitibi-Témiscamingue | 29 | 27 | 2026-08-28 21:33 | OK (29 trouvés) |
81 +| `equipeformule` | Équipe Formule | Rimouski | Bas-Saint-Laurent | 68 | 0 | 2026-08-28 21:33 | OK (68 trouvés) |
82 +| `fichaultkia` | Fichault Kia | Châteauguay | Montérégie | 42 | 0 | 2026-08-28 21:33 | OK (42 trouvés) |
83 +| `forceoccasion` | Force Occasion | Québec | Capitale-Nationale | 492 | 0 | 2026-08-28 21:33 | OK (492 trouvés) |
84 +| `fordthetford` | Ford Thetford | Thetford Mines | Chaudière-Appalaches | 36 | 0 | 2026-08-28 21:33 | OK (36 trouvés) |
85 +| `gaspesiehyundai` | Gaspésie Hyundai | Bonaventure | Gaspésie–Îles-de-la-Madeleine | 35 | 21 | 2026-08-28 21:33 | OK (35 trouvés) |
86 +| `gaspetoyota` | Gaspé Toyota | Gaspé | Gaspésie–Îles-de-la-Madeleine | 11 | 0 | 2026-08-28 21:33 | OK (11 trouvés) |
87 +| `gervaisauto` | Gervais Auto | Shawinigan | Mauricie | 552 | 0 | 2026-08-28 21:33 | OK (552 trouvés) |
88 +| `girardautos` | Girard Autos | Trois-Rivières | Mauricie | 19 | 0 | 2026-08-28 21:33 | OK (19 trouvés) |
89 +| `granbytoyota` | Granby Toyota | Granby | Montérégie | 21 | 0 | 2026-08-28 21:33 | OK (21 trouvés) |
90 +| `grandportage` | Groupe Grand-Portage | Rivière-du-Loup | Bas-Saint-Laurent | 106 | 0 | 2026-08-28 21:33 | OK (106 trouvés) |
91 +| `groupemotion` | Groupe Motion | Longueuil | Montérégie | 90 | 0 | 2026-08-28 21:33 | OK (90 trouvés) |
92 +| `hondacharlesbourg` | Honda Charlesbourg | Québec | Capitale-Nationale | 11 | 0 | 2026-08-28 21:33 | OK (11 trouvés) |
93 +| `hondacharlevoix` | Honda Charlevoix | La Malbaie | Capitale-Nationale | 34 | 0 | 2026-08-28 21:33 | OK (34 trouvés) |
94 +| `hondanewrichmond` | Honda New Richmond | New Richmond | Gaspésie–Îles-de-la-Madeleine | 63 | 0 | 2026-08-28 21:33 | OK (63 trouvés) |
95 +| `hullhyundai` | Hull Hyundai | Gatineau | Outaouais | 102 | 0 | 2026-08-28 21:33 | OK (102 trouvés) |
96 +| `hyundaibeauce` | Hyundai Beauce | Saint-Georges | Chaudière-Appalaches | 29 | 0 | 2026-08-28 21:33 | OK (29 trouvés) |
97 +| `hyundaicharlevoix` | Hyundai Charlevoix | Baie-Saint-Paul | Capitale-Nationale | 21 | 0 | 2026-08-28 21:33 | OK (21 trouvés) |
98 +| `hyundaidrummondville` | Hyundai Drummondville | Drummondville | Centre-du-Québec | 95 | 0 | 2026-08-28 21:33 | OK (95 trouvés) |
99 +| `hyundailanaudiere` | Hyundai Lanaudière | Joliette | Lanaudière | 62 | 0 | 2026-08-28 21:33 | OK (62 trouvés) |
100 +| `hyundailongueuil` | Hyundai Longueuil | Longueuil | Montérégie | 18 | 0 | 2026-08-28 21:33 | OK (18 trouvés) |
101 +| `hyundaistjerome` | Hyundai St-Jérôme | Mirabel | Laurentides | 120 | 0 | 2026-08-28 21:33 | OK (120 trouvés) |
102 +| `jeandumas` | Jean Dumas Multiconcessionnaire | Alma | Saguenay–Lac-Saint-Jean | 108 | 108 | 2026-08-28 21:33 | OK (108 trouvés) |
103 +| `jeandumasfordbc` | Jean Dumas Ford Baie-Comeau | Baie-Comeau | Côte-Nord | 108 | 82 | 2026-08-28 21:33 | OK (108 trouvés) |
104 +| `jeandumashondabc` | Jean Dumas Honda Baie-Comeau | Baie-Comeau | Côte-Nord | 108 | 26 | 2026-08-28 21:33 | OK (108 trouvés) |
105 +| `joliettemitsubishi` | Joliette Mitsubishi | Joliette | Lanaudière | 80 | 0 | 2026-08-28 21:33 | OK (80 trouvés) |
106 +| `kiabeauport` | Kia Beauport | Québec | Capitale-Nationale | 72 | 0 | 2026-08-28 21:33 | OK (72 trouvés) |
107 +| `kiajoliette` | Kia Joliette | Joliette | Lanaudière | 59 | 0 | 2026-08-28 21:33 | OK (59 trouvés) |
108 +| `lamihonda` | L'Ami Honda | Rouyn-Noranda | Abitibi-Témiscamingue | 91 | 0 | 2026-08-28 21:33 | OK (91 trouvés) |
109 +| `leoautomobile` | Léo Automobile | Chicoutimi | Saguenay–Lac-Saint-Jean | 57 | 0 | 2026-08-28 21:33 | OK (57 trouvés) |
110 +| `levisautos` | Lévis Autos | Lévis | Chaudière-Appalaches | 82 | 0 | 2026-08-28 21:33 | OK (82 trouvés) |
111 +| `levistoyota` | Lévis Toyota | Lévis | Chaudière-Appalaches | 43 | 0 | 2026-08-28 21:33 | OK (43 trouvés) |
112 +| `longueuilhonda` | Longueuil Honda | Longueuil | Montérégie | 45 | 0 | 2026-08-28 21:33 | OK (45 trouvés) |
113 +| `mferlandauto` | M. Ferland Auto | Sherbrooke | Estrie | 16 | 0 | 2026-08-28 21:33 | OK (16 trouvés) |
114 +| `nicoloccasion` | Nicol Occasion | La Sarre | Abitibi-Témiscamingue | 69 | 0 | 2026-08-28 21:33 | OK (69 trouvés) |
115 +| `olivierchryslerbc` | Olivier Chrysler Baie-Comeau | Baie-Comeau | Côte-Nord | 28 | 0 | 2026-08-28 21:33 | OK (28 trouvés) |
116 +| `olivierhyundaibc` | Olivier Hyundai Baie-Comeau | Baie-Comeau | Côte-Nord | 20 | 0 | 2026-08-28 21:33 | OK (20 trouvés) |
117 +| `olivieroccasionseptiles` | Olivier Occasion Sept-Îles | Sept-Îles | Côte-Nord | 97 | 0 | 2026-08-28 21:33 | OK (97 trouvés) |
118 +| `poirieroccasion` | Poirier Occasion | Val-d'Or | Abitibi-Témiscamingue | 231 | 1 | 2026-08-28 21:33 | OK (231 trouvés) |
119 +| `sherbrookeautooccasion` | Sherbrooke Auto Occasion | Sherbrooke | Estrie | 81 | 0 | 2026-08-28 21:33 | OK (81 trouvés) |
120 +| `stgeorgesgm` | St-Georges Chevrolet Buick GMC | Saint-Georges | Chaudière-Appalaches | 31 | 0 | 2026-08-28 21:33 | OK (31 trouvés) |
121 +| `stjeromemitsubishi` | St-Jérôme Mitsubishi | Saint-Jérôme | Laurentides | 146 | 1 | 2026-08-28 21:33 | OK (146 trouvés) |
122 +| `subaruvictoriaville` | Subaru Victoriaville | Victoriaville | Centre-du-Québec | 39 | 0 | 2026-08-28 21:33 | OK (39 trouvés) |
123 +| `toyotabdc` | Toyota Baie des Chaleurs | Caplan | Gaspésie–Îles-de-la-Madeleine | 36 | 14 | 2026-08-28 21:33 | OK (36 trouvés) |
124 +| `troisriviereshonda` | Trois-Rivières Honda | Trois-Rivières | Mauricie | 67 | 0 | 2026-08-28 21:33 | OK (67 trouvés) |
125 +| `trtoyota` | Trois-Rivières Toyota | Trois-Rivières | Mauricie | 50 | 0 | 2026-08-28 21:33 | OK (50 trouvés) |
126 +| `vaudreuilvw` | Vaudreuil Volkswagen | Vaudreuil-Dorion | Montérégie | 40 | 0 | 2026-08-28 21:33 | OK (40 trouvés) |
127 +| `vwsherbrooke` | VW Sherbrooke | Sherbrooke | Estrie | 70 | 0 | 2026-08-28 21:33 | OK (70 trouvés) |
128 128
129 129 ## Erreurs de synchronisation récentes (sync_log, ok = 0)
130 130
modified docs/connecteurs/desmeules.md +7 −7
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/desmeules.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 261
9 +- **Annonces actives (BD)** : 277
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : flux RSS, microdata schema.org
12 12 - **Plafonds / cache** : AUTOKA_MAX_DETAILS, cache détail BD (detail_cache)
@@ -35,16 +35,16 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
35 35 > changent pas ; le prix frais vient du RSS). AUTOKA_MAX_DETAILS (env)
36 36 > plafonne les vraies requêtes détail par synchronisation.
37 37
38 −## Complétude des champs (annonces actives, N = 261)
38 +## Complétude des champs (annonces actives, N = 277)
39 39
40 40 | Champ | % rempli |
41 41 |---|---|
42 −| Marque | 99.2 % |
42 +| Marque | 99.3 % |
43 43 | Modèle | 100.0 % |
44 44 | Année | 100.0 % |
45 −| Kilométrage | 99.2 % |
46 −| Prix | 99.2 % |
47 −| Carburant | 83.5 % |
45 +| Kilométrage | 99.3 % |
46 +| Prix | 98.6 % |
47 +| Carburant | 84.5 % |
48 48 | Boîte (transmission) | 98.9 % |
49 49 | VIN | 99.6 % |
50 50 | Photos | 100.0 % |
@@ -55,7 +55,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
55 55
56 56 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
57 57 |---|---|---|---|---|---|---|---|
58 −| `desmeules` | Desmeules Chrysler | Laval | Laval | 261 | 0 | 2026-08-27 15:09 | OK (260 trouvés) |
58 +| `desmeules` | Desmeules Chrysler | Laval | Laval | 277 | 0 | 2026-08-28 21:33 | OK (277 trouvés) |
59 59
60 60 ## Erreurs de synchronisation récentes
61 61
modified docs/connecteurs/dupontford.md +5 −5
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/dupontford.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 66
9 +- **Annonces actives (BD)** : 60
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : sitemap, endpoint JSON
12 12 - **Plafonds / cache** : cache détail BD (detail_cache)
@@ -28,7 +28,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
28 28 > URL détail reconstruite comme dans le sitemap inventory.xml :
29 29 > /vue/used-<année>-<marque>-<modèle>-<id>/.
30 30
31 −## Complétude des champs (annonces actives, N = 66)
31 +## Complétude des champs (annonces actives, N = 60)
32 32
33 33 | Champ | % rempli |
34 34 |---|---|
@@ -36,11 +36,11 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
36 36 | Modèle | 100.0 % |
37 37 | Année | 100.0 % |
38 38 | Kilométrage | 100.0 % |
39 −| Prix | 100.0 % |
39 +| Prix | 98.3 % |
40 40 | Carburant | 100.0 % |
41 41 | Boîte (transmission) | 100.0 % |
42 42 | VIN | 100.0 % |
43 −| Photos | 97.0 % |
43 +| Photos | 96.7 % |
44 44 | Carfax | 0.0 % |
45 45 | GPS (lat/lng) | 100.0 % |
46 46
@@ -48,7 +48,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
48 48
49 49 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
50 50 |---|---|---|---|---|---|---|---|
51 −| `dupontdupontford` | Dupont & Dupont Ford | Gatineau | Outaouais | 66 | 0 | 2026-08-27 15:09 | OK (63 trouvés) |
51 +| `dupontdupontford` | Dupont & Dupont Ford | Gatineau | Outaouais | 60 | 0 | 2026-08-28 21:33 | OK (60 trouvés) |
52 52
53 53 ## Erreurs de synchronisation récentes
54 54
modified docs/connecteurs/gatsby_dealers.md +9 −9
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/gatsby_dealers.py`
8 8 - **Sources membres** : 6
9 −- **Annonces actives (BD)** : 205
9 +- **Annonces actives (BD)** : 207
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : sitemap, GraphQL, AWS AppSync, page-data Gatsby, endpoint JSON
12 12 - **Plafonds / cache** : AUTOKA_MAX_DETAILS, AUTOKA_MAX_PAGES
@@ -34,7 +34,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
34 34 > usedCar -> Vehicle) est hérité de MegaCentreDeLiquidation.
35 35 > AUTOKA_MAX_PAGES (env) limite la pagination AppSync pour les tests.
36 36
37 −## Complétude des champs (annonces actives, N = 205)
37 +## Complétude des champs (annonces actives, N = 207)
38 38
39 39 | Champ | % rempli |
40 40 |---|---|
@@ -43,7 +43,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
43 43 | Année | 100.0 % |
44 44 | Kilométrage | 100.0 % |
45 45 | Prix | 100.0 % |
46 −| Carburant | 100.0 % |
46 +| Carburant | 99.5 % |
47 47 | Boîte (transmission) | 100.0 % |
48 48 | VIN | 100.0 % |
49 49 | Photos | 100.0 % |
@@ -54,12 +54,12 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
54 54
55 55 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
56 56 |---|---|---|---|---|---|---|---|
57 −| `kiadrummondville` | Kia Drummondville | Drummondville | Centre-du-Québec | 19 | 0 | 2026-08-27 15:09 | OK (19 trouvés) |
58 −| `kiagranby` | Kia de Granby | Granby | Montérégie | 19 | 0 | 2026-08-27 15:09 | OK (19 trouvés) |
59 −| `mazdadesherbrooke` | Mazda de Sherbrooke | Sherbrooke | Estrie | 54 | 0 | 2026-08-27 15:09 | OK (52 trouvés) |
60 −| `mitsubishidrummondville` | Mitsubishi Drummondville | Drummondville | Centre-du-Québec | 16 | 0 | 2026-08-27 15:09 | OK (16 trouvés) |
61 −| `nissandrummondville` | Nissan Drummondville | Drummondville | Centre-du-Québec | 51 | 0 | 2026-08-27 15:09 | OK (51 trouvés) |
62 −| `nissanvictoriaville` | Nissan de Victoriaville | Victoriaville | Centre-du-Québec | 46 | 0 | 2026-08-27 15:09 | OK (46 trouvés) |
57 +| `kiadrummondville` | Kia Drummondville | Drummondville | Centre-du-Québec | 19 | 0 | 2026-08-28 21:33 | OK (19 trouvés) |
58 +| `kiagranby` | Kia de Granby | Granby | Montérégie | 22 | 0 | 2026-08-28 21:33 | OK (22 trouvés) |
59 +| `mazdadesherbrooke` | Mazda de Sherbrooke | Sherbrooke | Estrie | 56 | 0 | 2026-08-28 21:33 | OK (56 trouvés) |
60 +| `mitsubishidrummondville` | Mitsubishi Drummondville | Drummondville | Centre-du-Québec | 15 | 0 | 2026-08-28 21:33 | OK (15 trouvés) |
61 +| `nissandrummondville` | Nissan Drummondville | Drummondville | Centre-du-Québec | 51 | 0 | 2026-08-28 21:33 | OK (51 trouvés) |
62 +| `nissanvictoriaville` | Nissan de Victoriaville | Victoriaville | Centre-du-Québec | 44 | 0 | 2026-08-28 21:33 | OK (44 trouvés) |
63 63
64 64 ## Erreurs de synchronisation récentes
65 65
modified docs/connecteurs/hgregoire.md +3 −3
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/hgregoire.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 1751
9 +- **Annonces actives (BD)** : 1763
10 10 - **Backend de fetch** : Scrapfly
11 11 - **Mécanique détectée** : blob JSON data-class
12 12 - **Plafonds / cache** : AUTOKA_MAX_DETAILS, AUTOKA_MAX_PAGES, cache détail BD (detail_cache)
@@ -45,7 +45,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
45 45 > 300/sync) : l'inventaire complet s'enrichit en ~6 synchronisations.
46 46 > Le véhicule est toujours émis avec les données liste même sans détail.
47 47
48 −## Complétude des champs (annonces actives, N = 1 751)
48 +## Complétude des champs (annonces actives, N = 1 763)
49 49
50 50 | Champ | % rempli |
51 51 |---|---|
@@ -65,7 +65,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
65 65
66 66 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
67 67 |---|---|---|---|---|---|---|---|
68 −| `hgregoire` | HGrégoire | St-Léonard | Montréal | 1751 | 1 | 2026-08-27 15:25 | OK (1719 trouvés) |
68 +| `hgregoire` | HGrégoire | St-Léonard | Montréal | 1763 | 2 | 2026-08-28 21:46 | OK (1685 trouvés) |
69 69
70 70 ## Erreurs de synchronisation récentes
71 71
modified docs/connecteurs/jlkauto.md +3 −3
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/jlkauto.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 62
9 +- **Annonces actives (BD)** : 66
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : sitemap, JSON-LD schema.org
12 12 - **Plafonds / cache** : AUTOKA_MAX_DETAILS, cache détail BD (detail_cache)
@@ -23,7 +23,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
23 23 > complet : prix, VIN, km, transmission, carrosserie, couleurs, moteur.
24 24 > Pages détail mises en cache BD (clé hebdomadaire), comme les sites D2C.
25 25
26 −## Complétude des champs (annonces actives, N = 62)
26 +## Complétude des champs (annonces actives, N = 66)
27 27
28 28 | Champ | % rempli |
29 29 |---|---|
@@ -43,7 +43,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
43 43
44 44 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
45 45 |---|---|---|---|---|---|---|---|
46 −| `jlkauto` | JLK Auto | Montréal | Montréal | 62 | 0 | 2026-08-27 15:25 | OK (62 trouvés) |
46 +| `jlkauto` | JLK Auto | Montréal | Montréal | 66 | 0 | 2026-08-28 21:46 | OK (65 trouvés) |
47 47
48 48 ## Erreurs de synchronisation récentes
49 49
modified docs/connecteurs/kijiji.md +8 −8
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/kijiji.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 3118
9 +- **Annonces actives (BD)** : 3073
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : __NEXT_DATA__
12 12 - **Plafonds / cache** : aucun
@@ -34,18 +34,18 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
34 34 > Pagination : /b-autos-camions/quebec/page-N/c174l9001?for-sale-by=ownr
35 35 > jusqu'à totalCount (bornée par MAX_PAGES par politesse).
36 36
37 −## Complétude des champs (annonces actives, N = 3 118)
37 +## Complétude des champs (annonces actives, N = 3 073)
38 38
39 39 | Champ | % rempli |
40 40 |---|---|
41 41 | Marque | 100.0 % |
42 42 | Modèle | 100.0 % |
43 −| Année | 99.6 % |
43 +| Année | 99.5 % |
44 44 | Kilométrage | 100.0 % |
45 −| Prix | 94.6 % |
46 −| Carburant | 62.7 % |
47 −| Boîte (transmission) | 64.3 % |
48 −| VIN | 21.1 % |
45 +| Prix | 94.3 % |
46 +| Carburant | 63.2 % |
47 +| Boîte (transmission) | 64.4 % |
48 +| VIN | 20.9 % |
49 49 | Photos | 99.7 % |
50 50 | Carfax | 2.3 % |
51 51 | GPS (lat/lng) | 100.0 % |
@@ -54,7 +54,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
54 54
55 55 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
56 56 |---|---|---|---|---|---|---|---|
57 −| `kijiji` | Kijiji (particuliers) | — | — | 3118 | 18 | 2026-08-27 15:28 | OK (2720 trouvés) |
57 +| `kijiji` | Kijiji (particuliers) | — | — | 3073 | 12 | 2026-08-28 21:50 | OK (3054 trouvés) |
58 58
59 59 ## Erreurs de synchronisation récentes
60 60
modified docs/connecteurs/leprixdugros.md +5 −5
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/leprixdugros.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 1125
9 +- **Annonces actives (BD)** : 1075
10 10 - **Backend de fetch** : Scrapfly
11 11 - **Mécanique détectée** : endpoint JSON
12 12 - **Plafonds / cache** : AUTOKA_MAX_DETAILS, AUTOKA_MAX_PAGES, cache détail BD (detail_cache)
@@ -42,7 +42,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
42 42 > (hybride/EV/diesel), un moteur « N cylindres X.XL » sans indice électrifié
43 43 > => Essence (sauf modèles hybrides « sans badge » connus, ex. Prius).
44 44
45 −## Complétude des champs (annonces actives, N = 1 125)
45 +## Complétude des champs (annonces actives, N = 1 075)
46 46
47 47 | Champ | % rempli |
48 48 |---|---|
@@ -51,18 +51,18 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
51 51 | Année | 100.0 % |
52 52 | Kilométrage | 100.0 % |
53 53 | Prix | 100.0 % |
54 −| Carburant | 98.1 % |
54 +| Carburant | 98.2 % |
55 55 | Boîte (transmission) | 100.0 % |
56 56 | VIN | 100.0 % |
57 57 | Photos | 100.0 % |
58 58 | Carfax | 0.0 % |
59 −| GPS (lat/lng) | 35.3 % |
59 +| GPS (lat/lng) | 37.1 % |
60 60
61 61 ## Sources membres (BD live)
62 62
63 63 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
64 64 |---|---|---|---|---|---|---|---|
65 −| `leprixdugros` | Le Prix du Gros | Trois-Rivières | Mauricie | 1125 | 889 | 2026-08-27 15:30 | OK (901 trouvés) |
65 +| `leprixdugros` | Le Prix du Gros | Trois-Rivières | Mauricie | 1075 | 847 | 2026-08-28 21:51 | OK (855 trouvés) |
66 66
67 67 ## Erreurs de synchronisation récentes (sync_log, ok = 0)
68 68
modified docs/connecteurs/magnetis_dealers.md +11 −11
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/magnetis_dealers.py`
8 8 - **Sources membres** : 5
9 −- **Annonces actives (BD)** : 542
9 +- **Annonces actives (BD)** : 497
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : sitemap, JSON-LD schema.org, blob JSON data-class
12 12 - **Plafonds / cache** : AUTOKA_MAX_DETAILS, cache détail BD (detail_cache)
@@ -32,19 +32,19 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
32 32 > Pages détail en cache BD (clé hebdomadaire) ; AUTOKA_MAX_DETAILS (env)
33 33 > plafonne les vraies requêtes détail par synchronisation.
34 34
35 −## Complétude des champs (annonces actives, N = 542)
35 +## Complétude des champs (annonces actives, N = 497)
36 36
37 37 | Champ | % rempli |
38 38 |---|---|
39 39 | Marque | 100.0 % |
40 40 | Modèle | 100.0 % |
41 41 | Année | 99.8 % |
42 −| Kilométrage | 98.3 % |
42 +| Kilométrage | 98.2 % |
43 43 | Prix | 99.8 % |
44 −| Carburant | 95.2 % |
45 −| Boîte (transmission) | 87.5 % |
44 +| Carburant | 94.8 % |
45 +| Boîte (transmission) | 86.5 % |
46 46 | VIN | 99.6 % |
47 −| Photos | 87.5 % |
47 +| Photos | 85.3 % |
48 48 | Carfax | 0.0 % |
49 49 | GPS (lat/lng) | 100.0 % |
50 50
@@ -52,11 +52,11 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
52 52
53 53 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
54 54 |---|---|---|---|---|---|---|---|
55 −| `baiecomeautoyota` | Baie-Comeau Toyota | Baie-Comeau | Côte-Nord | 261 | 10 | 2026-08-27 15:30 | OK (261 trouvés) |
56 −| `groupepaquin` | Groupe Paquin | Rouyn-Noranda | Abitibi-Témiscamingue | 97 | 47 | 2026-08-27 18:09 | OK (48 trouvés) |
57 −| `lussierchevrolet` | Lussier Chevrolet Buick GMC | Saint-Hyacinthe | Montérégie | 83 | 0 | 2026-08-27 15:30 | OK (83 trouvés) |
58 −| `sherbrooketoyota` | Sherbrooke Toyota | Sherbrooke | Estrie | 66 | 0 | 2026-08-27 15:30 | OK (66 trouvés) |
59 −| `stgnissan` | St-Georges Nissan | Saint-Georges | Chaudière-Appalaches | 35 | 0 | 2026-08-27 15:30 | OK (34 trouvés) |
55 +| `baiecomeautoyota` | Baie-Comeau Toyota | Baie-Comeau | Côte-Nord | 265 | 10 | 2026-08-28 21:51 | OK (265 trouvés) |
56 +| `groupepaquin` | Groupe Paquin | Rouyn-Noranda | Abitibi-Témiscamingue | 48 | 0 | 2026-08-28 21:51 | OK (48 trouvés) |
57 +| `lussierchevrolet` | Lussier Chevrolet Buick GMC | Saint-Hyacinthe | Montérégie | 86 | 0 | 2026-08-28 21:51 | OK (86 trouvés) |
58 +| `sherbrooketoyota` | Sherbrooke Toyota | Sherbrooke | Estrie | 67 | 0 | 2026-08-28 21:51 | OK (67 trouvés) |
59 +| `stgnissan` | St-Georges Nissan | Saint-Georges | Chaudière-Appalaches | 31 | 0 | 2026-08-28 21:51 | OK (31 trouvés) |
60 60
61 61 ## Erreurs de synchronisation récentes (sync_log, ok = 0)
62 62
modified docs/connecteurs/megacentre.md +6 −6
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/megacentre.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 464
9 +- **Annonces actives (BD)** : 462
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : sitemap, page-data Gatsby, endpoint JSON
12 12 - **Plafonds / cache** : AUTOKA_MAX_DETAILS, cache détail BD (detail_cache)
@@ -33,7 +33,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
33 33 > hebdomadaire génèrent de vraies requêtes. AUTOKA_MAX_DETAILS (env)
34 34 > plafonne les vraies requêtes détail par synchronisation.
35 35
36 −## Complétude des champs (annonces actives, N = 464)
36 +## Complétude des champs (annonces actives, N = 462)
37 37
38 38 | Champ | % rempli |
39 39 |---|---|
@@ -43,17 +43,17 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
43 43 | Kilométrage | 100.0 % |
44 44 | Prix | 100.0 % |
45 45 | Carburant | 99.4 % |
46 −| Boîte (transmission) | 97.0 % |
46 +| Boîte (transmission) | 96.8 % |
47 47 | VIN | 100.0 % |
48 −| Photos | 99.4 % |
49 −| Carfax | 67.9 % |
48 +| Photos | 98.7 % |
49 +| Carfax | 67.3 % |
50 50 | GPS (lat/lng) | 100.0 % |
51 51
52 52 ## Sources membres (BD live)
53 53
54 54 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
55 55 |---|---|---|---|---|---|---|---|
56 −| `megacentredeliquidation` | Méga Centre de liquidation | Mont-Joli | Bas-Saint-Laurent | 464 | 460 | 2026-08-27 15:09 | OK (462 trouvés) |
56 +| `megacentredeliquidation` | Méga Centre de liquidation | Mont-Joli | Bas-Saint-Laurent | 462 | 457 | 2026-08-28 21:33 | OK (462 trouvés) |
57 57
58 58 ## Erreurs de synchronisation récentes
59 59
modified docs/connecteurs/montjolichrysler.md +3 −3
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/montjolichrysler.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 426
9 +- **Annonces actives (BD)** : 417
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : flux RSC Next.js
12 12 - **Plafonds / cache** : aucun
@@ -26,7 +26,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
26 26 > display_dealer_name / display_city). On réutilise OccasionBeaucage,
27 27 > seuls l'URL et les libellés changent.
28 28
29 −## Complétude des champs (annonces actives, N = 426)
29 +## Complétude des champs (annonces actives, N = 417)
30 30
31 31 | Champ | % rempli |
32 32 |---|---|
@@ -46,7 +46,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
46 46
47 47 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
48 48 |---|---|---|---|---|---|---|---|
49 −| `montjolichrysler` | Chrysler Mont-Joli | Mont-Joli | Bas-Saint-Laurent | 426 | 348 | 2026-08-27 15:33 | OK (420 trouvés) |
49 +| `montjolichrysler` | Chrysler Mont-Joli | Mont-Joli | Bas-Saint-Laurent | 417 | 337 | 2026-08-28 21:53 | OK (416 trouvés) |
50 50
51 51 ## Erreurs de synchronisation récentes
52 52
modified docs/connecteurs/moto_dealers.md +32 −23
@@ -6,9 +6,9 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/moto_dealers.py`
8 8 - **Sources membres** : 13
9 −- **Annonces actives (BD)** : 673
9 +- **Annonces actives (BD)** : 719
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 −- **Mécanique détectée** : sitemap, JSON-LD schema.org, endpoint JSON
11 +- **Mécanique détectée** : sitemap, JSON-LD schema.org, flux RSC Next.js, endpoint JSON
12 12 - **Plafonds / cache** : AUTOKA_MAX_DETAILS, AUTOKA_MAX_PAGES, cache détail BD (detail_cache)
13 13 - **Classes** : `MathiasSports` → `mathiassports` ; `SMSport` → `smsport` ; `MotosIllimitees` → `motosillimitees` ; `RMMotosport` → `rmmotosport` ; `GLSport` → `glsport` ; `ExcelMoto` → `excelmoto` … (+7)
14 14
@@ -45,24 +45,28 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
45 45 > avec JSON-LD @type Product + table de spécifications (Kilométrage,
46 46 > Couleur…) + galerie JSON Magento.
47 47 >
48 +> 2b. Next.js custom (Groupe Contant, refonte 2026 — ex-PowerGo) : usagés
49 +> server-rendered dans le payload RSC (self.__next_f.push) des pages
50 +> /fr/vehicules-usages/<type> ; voir la classe GroupeContant.
51 +>
48 52 > 3. D2C Media — aucun des concessionnaires moto candidats sondés n'y est
49 53 > (PowerGo domine cette verticale), mais la base D2CMotoConnector est
50 54 > prête : mêmes mécanismes que D2CConnector (sitemap /fr/sitemap.xml +
51 55 > JSON-LD des pages /occasion/…-idNNN.html), avec un filtre de segments
52 56 > INVERSÉ (inclut motos/scooters, exclut le reste) et kind rempli.
53 57
54 −## Complétude des champs (annonces actives, N = 673)
58 +## Complétude des champs (annonces actives, N = 719)
55 59
56 60 | Champ | % rempli |
57 61 |---|---|
58 62 | Marque | 100.0 % |
59 63 | Modèle | 100.0 % |
60 64 | Année | 99.7 % |
61 −| Kilométrage | 94.9 % |
62 −| Prix | 99.4 % |
63 −| Carburant | 97.8 % |
64 −| Boîte (transmission) | 4.3 % |
65 −| VIN | 74.3 % |
65 +| Kilométrage | 96.8 % |
66 +| Prix | 98.6 % |
67 +| Carburant | 97.9 % |
68 +| Boîte (transmission) | 3.9 % |
69 +| VIN | 66.9 % |
66 70 | Photos | 100.0 % |
67 71 | Carfax | 0.0 % |
68 72 | GPS (lat/lng) | 100.0 % |
@@ -71,20 +75,25 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
71 75
72 76 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
73 77 |---|---|---|---|---|---|---|---|
74 −| `excelmoto` | Excel Moto | Montréal | Montréal | 8 | 0 | 2026-08-27 15:33 | OK (8 trouvés) |
75 −| `gabrielharleydavidson` | Gabriel Harley-Davidson Montréal | Montréal | Montréal | 30 | 0 | 2026-08-27 15:33 | OK (30 trouvés) |
76 −| `glsport` | GL Sport | Saint-Gervais | Chaudière-Appalaches | 17 | 0 | 2026-08-27 15:33 | OK (17 trouvés) |
77 −| `groupecontant` | Groupe Contant | Repentigny | Lanaudière | 52 | 0 | 2026-08-27 15:33 | OK (52 trouvés) |
78 −| `groupeimperium` | Groupe Imperium | Chicoutimi | Saguenay–Lac-Saint-Jean | 18 | 0 | 2026-08-27 15:33 | OK (18 trouvés) |
79 −| `mathiassports` | Mathias Sports | Saint-Mathias-sur-Richelieu | Montérégie | 103 | 0 | 2026-08-27 15:33 | OK (103 trouvés) |
80 −| `mecamoto` | Mecamoto | Montréal | Montréal | 17 | 0 | 2026-08-27 15:33 | OK (15 trouvés) |
81 −| `motoducharme` | Moto Ducharme | Joliette | Lanaudière | 15 | 0 | 2026-08-27 15:33 | OK (15 trouvés) |
82 −| `motosillimitees` | Motos Illimitées | Terrebonne | Lanaudière | 302 | 0 | 2026-08-27 15:33 | OK (289 trouvés) |
83 −| `motosthibaulttr` | Motos Thibault Trois-Rivières | Trois-Rivières | Mauricie | 16 | 0 | 2026-08-27 15:33 | OK (16 trouvés) |
84 −| `rmmotosport` | RM Motosport | Victoriaville | Centre-du-Québec | 9 | 0 | 2026-08-27 15:33 | OK (9 trouvés) |
85 −| `smsport` | SM Sport | Québec | Capitale-Nationale | 53 | 0 | 2026-08-27 15:33 | OK (53 trouvés) |
86 −| `stjeromeharleydavidson` | St-Jérôme Harley-Davidson | Saint-Jérôme | Laurentides | 33 | 0 | 2026-08-27 15:33 | OK (24 trouvés) |
78 +| `excelmoto` | Excel Moto | Montréal | Montréal | 8 | 0 | 2026-08-28 21:53 | OK (8 trouvés) |
79 +| `gabrielharleydavidson` | Gabriel Harley-Davidson Montréal | Montréal | Montréal | 32 | 0 | 2026-08-28 21:53 | OK (32 trouvés) |
80 +| `glsport` | GL Sport | Saint-Gervais | Chaudière-Appalaches | 17 | 0 | 2026-08-28 21:53 | OK (17 trouvés) |
81 +| `groupecontant` | Groupe Contant | Repentigny | Lanaudière | 116 | 0 | 2026-08-28 22:24 | OK (67 trouvés) |
82 +| `groupeimperium` | Groupe Imperium | Chicoutimi | Saguenay–Lac-Saint-Jean | 18 | 0 | 2026-08-28 21:53 | OK (18 trouvés) |
83 +| `mathiassports` | Mathias Sports | Saint-Mathias-sur-Richelieu | Montérégie | 104 | 0 | 2026-08-28 21:53 | OK (104 trouvés) |
84 +| `mecamoto` | Mecamoto | Montréal | Montréal | 16 | 0 | 2026-08-28 21:53 | OK (16 trouvés) |
85 +| `motoducharme` | Moto Ducharme | Joliette | Lanaudière | 15 | 0 | 2026-08-28 21:53 | OK (15 trouvés) |
86 +| `motosillimitees` | Motos Illimitées | Terrebonne | Lanaudière | 289 | 0 | 2026-08-28 21:53 | OK (289 trouvés) |
87 +| `motosthibaulttr` | Motos Thibault Trois-Rivières | Trois-Rivières | Mauricie | 16 | 0 | 2026-08-28 21:53 | OK (16 trouvés) |
88 +| `rmmotosport` | RM Motosport | Victoriaville | Centre-du-Québec | 9 | 0 | 2026-08-28 21:53 | OK (9 trouvés) |
89 +| `smsport` | SM Sport | Québec | Capitale-Nationale | 53 | 0 | 2026-08-28 21:53 | OK (53 trouvés) |
90 +| `stjeromeharleydavidson` | St-Jérôme Harley-Davidson | Saint-Jérôme | Laurentides | 26 | 0 | 2026-08-28 21:53 | OK (26 trouvés) |
87 91
88 −## Erreurs de synchronisation récentes
92 +## Erreurs de synchronisation récentes (sync_log, ok = 0)
89 93
90 −Aucune erreur dans le sync_log pour les sources de ce module.
94 +| Source | Quand | Message |
95 +|---|---|---|
96 +| `groupecontant` | 2026-08-28 21:53 | 404 Client Error: Not Found for url: https://www.contant.ca/data/vehicles-inventory-fr-items.json |
97 +| `groupecontant` | 2026-08-28 18:56 | 404 Client Error: Not Found for url: https://www.contant.ca/data/vehicles-inventory-fr-items.json |
98 +| `groupecontant` | 2026-08-28 15:57 | 404 Client Error: Not Found for url: https://www.contant.ca/data/vehicles-inventory-fr-items.json |
99 +| `groupecontant` | 2026-08-27 22:00 | Expecting value: line 1 column 1 (char 0) |
modified docs/connecteurs/occasionbeaucage.md +4 −4
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/occasionbeaucage.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 1295
9 +- **Annonces actives (BD)** : 1291
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : flux RSC Next.js, endpoint JSON
12 12 - **Plafonds / cache** : AUTOKA_MAX_DETAILS, AUTOKA_MAX_PAGES, cache détail BD (detail_cache)
@@ -41,7 +41,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
41 41 > la liste) et plafonnés par AUTOKA_MAX_DETAILS / max_details par sync —
42 42 > l'inventaire complet se couvre en quelques synchronisations.
43 43
44 −## Complétude des champs (annonces actives, N = 1 295)
44 +## Complétude des champs (annonces actives, N = 1 291)
45 45
46 46 | Champ | % rempli |
47 47 |---|---|
@@ -54,14 +54,14 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
54 54 | Boîte (transmission) | 100.0 % |
55 55 | VIN | 100.0 % |
56 56 | Photos | 100.0 % |
57 −| Carfax | 55.7 % |
57 +| Carfax | 55.4 % |
58 58 | GPS (lat/lng) | 100.0 % |
59 59
60 60 ## Sources membres (BD live)
61 61
62 62 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
63 63 |---|---|---|---|---|---|---|---|
64 −| `occasionbeaucage` | Occasion Beaucage | Sherbrooke | Estrie | 1295 | 206 | 2026-08-27 15:32 | OK (1246 trouvés) |
64 +| `occasionbeaucage` | Occasion Beaucage | Sherbrooke | Estrie | 1291 | 209 | 2026-08-28 21:52 | OK (1291 trouvés) |
65 65
66 66 ## Erreurs de synchronisation récentes
67 67
modified docs/connecteurs/occasioncharlevoix.md +1 −1
@@ -48,7 +48,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
48 48
49 49 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
50 50 |---|---|---|---|---|---|---|---|
51 −| `occasioncharlevoix` | Occasion Charlevoix | Baie-Saint-Paul | Capitale-Nationale | 30 | 8 | 2026-08-27 15:33 | OK (30 trouvés) |
51 +| `occasioncharlevoix` | Occasion Charlevoix | Baie-Saint-Paul | Capitale-Nationale | 30 | 8 | 2026-08-28 21:53 | OK (30 trouvés) |
52 52
53 53 ## Erreurs de synchronisation récentes (sync_log, ok = 0)
54 54
modified docs/connecteurs/okaze.md +2 −2
@@ -35,7 +35,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
35 35 | Carburant | 100.0 % |
36 36 | Boîte (transmission) | 100.0 % |
37 37 | VIN | 0.0 % |
38 −| Photos | 100.0 % |
38 +| Photos | 98.2 % |
39 39 | Carfax | 0.0 % |
40 40 | GPS (lat/lng) | 100.0 % |
41 41
@@ -43,7 +43,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
43 43
44 44 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
45 45 |---|---|---|---|---|---|---|---|
46 −| `okaze` | OKAZE | Saguenay | Saguenay–Lac-Saint-Jean | 55 | 0 | 2026-08-27 15:33 | OK (55 trouvés) |
46 +| `okaze` | OKAZE | Saguenay | Saguenay–Lac-Saint-Jean | 55 | 0 | 2026-08-28 21:53 | OK (55 trouvés) |
47 47
48 48 ## Erreurs de synchronisation récentes
49 49
modified docs/connecteurs/otogo.md +4 −4
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/otogo.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 24048
9 +- **Annonces actives (BD)** : 24090
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : endpoint JSON
12 12 - **Plafonds / cache** : AUTOKA_OTOGO_MAX
@@ -40,7 +40,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
40 40 >
41 41 > Plafond : AUTOKA_OTOGO_MAX (défaut 0 = inventaire complet).
42 42
43 −## Complétude des champs (annonces actives, N = 24 048)
43 +## Complétude des champs (annonces actives, N = 24 090)
44 44
45 45 | Champ | % rempli |
46 46 |---|---|
@@ -52,7 +52,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
52 52 | Carburant | 7.7 % |
53 53 | Boîte (transmission) | 0.0 % |
54 54 | VIN | 99.1 % |
55 −| Photos | 96.4 % |
55 +| Photos | 96.6 % |
56 56 | Carfax | 0.0 % |
57 57 | GPS (lat/lng) | 100.0 % |
58 58
@@ -60,7 +60,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
60 60
61 61 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
62 62 |---|---|---|---|---|---|---|---|
63 −| `otogo` | Otogo.ca | — | — | 24048 | 6361 | 2026-08-27 15:37 | OK (23552 trouvés) |
63 +| `otogo` | Otogo.ca | — | — | 24090 | 6259 | 2026-08-28 21:57 | OK (23760 trouvés) |
64 64
65 65 ## Erreurs de synchronisation récentes
66 66
modified docs/connecteurs/ototr.md +1 −1
@@ -44,7 +44,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
44 44
45 45 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
46 46 |---|---|---|---|---|---|---|---|
47 −| `ototroisrivieres` | OTO Trois-Rivières | Trois-Rivières | Mauricie | 4 | 0 | 2026-08-27 15:37 | OK (4 trouvés) |
47 +| `ototroisrivieres` | OTO Trois-Rivières | Trois-Rivières | Mauricie | 4 | 0 | 2026-08-28 21:57 | OK (4 trouvés) |
48 48
49 49 ## Erreurs de synchronisation récentes
50 50
modified docs/connecteurs/sm360_dealers.md +23 −23
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/sm360_dealers.py`
8 8 - **Sources membres** : 15
9 −- **Annonces actives (BD)** : 1459
9 +- **Annonces actives (BD)** : 1443
10 10 - **Backend de fetch** : requests direct — Firecrawl par source au besoin (`use_firecrawl`, sites derrière Cloudflare)
11 11 - **Mécanique détectée** : sitemap, JSON-LD schema.org, GraphQL, flux RSS, API JSON interne, endpoint JSON
12 12 - **Plafonds / cache** : AUTOKA_MAX_DETAILS, cache détail BD (detail_cache)
@@ -43,41 +43,41 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
43 43 > inutile ici, le sitemap suffit. robots.txt : Allow /*?page=* et /*/api/*,
44 44 > Crawl-delay 10 → délai généreux + cache détail.
45 45
46 −## Complétude des champs (annonces actives, N = 1 459)
46 +## Complétude des champs (annonces actives, N = 1 443)
47 47
48 48 | Champ | % rempli |
49 49 |---|---|
50 −| Marque | 99.3 % |
50 +| Marque | 99.4 % |
51 51 | Modèle | 100.0 % |
52 52 | Année | 100.0 % |
53 53 | Kilométrage | 99.2 % |
54 54 | Prix | 99.7 % |
55 −| Carburant | 95.5 % |
56 −| Boîte (transmission) | 90.4 % |
57 −| VIN | 99.5 % |
58 −| Photos | 89.9 % |
59 −| Carfax | 19.1 % |
55 +| Carburant | 95.2 % |
56 +| Boîte (transmission) | 90.5 % |
57 +| VIN | 99.4 % |
58 +| Photos | 89.6 % |
59 +| Carfax | 19.3 % |
60 60 | GPS (lat/lng) | 100.0 % |
61 61
62 62 ## Sources membres (BD live)
63 63
64 64 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
65 65 |---|---|---|---|---|---|---|---|
66 −| `autodesjardins` | Automobiles Desjardins | Québec | Capitale-Nationale | 111 | 0 | 2026-08-27 15:39 | OK (100 trouvés) |
67 −| `baiecomeaugm` | Baie-Comeau Chevrolet Buick GMC | Baie-Comeau | Côte-Nord | 102 | 80 | 2026-08-27 15:40 | OK (100 trouvés) |
68 −| `kiamatane` | Kia Matane | Matane | Bas-Saint-Laurent | 40 | 0 | 2026-08-27 15:40 | OK (40 trouvés) |
69 −| `lallierhondahull` | Lallier Honda Hull | Gatineau | Outaouais | 60 | 0 | 2026-08-27 15:39 | OK (56 trouvés) |
70 −| `lamontagneauto` | Lamontagne Auto | Rimouski | Bas-Saint-Laurent | 14 | 0 | 2026-08-27 15:38 | OK (12 trouvés) |
71 −| `marquisautomobiles` | Marquis Automobiles | Matane | Bas-Saint-Laurent | 35 | 0 | 2026-08-27 15:40 | OK (35 trouvés) |
72 −| `rivesudchrysler` | Rive-Sud Chrysler | Brossard | Montérégie | 15 | 0 | 2026-08-27 15:39 | OK (15 trouvés) |
73 −| `septilesgm` | Sept-Îles Chevrolet Buick GMC | Sept-Îles | Côte-Nord | 105 | 74 | 2026-08-27 15:40 | OK (100 trouvés) |
74 −| `septileshonda` | Sept-Îles Honda | Sept-Îles | Côte-Nord | 12 | 0 | 2026-08-27 15:39 | OK (12 trouvés) |
75 −| `spinelli` | Groupe Spinelli | Montréal | Montréal | 106 | 0 | 2026-08-27 15:39 | OK (100 trouvés) |
76 −| `stjeromeautodepot` | St-Jérôme Auto Dépôt | Saint-Jérôme | Laurentides | 297 | 0 | 2026-08-27 15:38 | OK (297 trouvés) |
77 −| `touteslesmarques` | Toutes les marques | Chicoutimi | Saguenay–Lac-Saint-Jean | 271 | 247 | 2026-08-27 15:38 | OK (264 trouvés) |
78 −| `toyotagatineau` | Toyota Gatineau | Gatineau | Outaouais | 107 | 0 | 2026-08-27 15:39 | OK (100 trouvés) |
79 −| `villeneuveford` | Villeneuve Ford | Matane | Bas-Saint-Laurent | 71 | 0 | 2026-08-27 15:40 | OK (71 trouvés) |
80 −| `volvosaintleonard` | Volvo Cars Saint-Léonard | Montréal | Montréal | 113 | 0 | 2026-08-27 15:40 | OK (112 trouvés) |
66 +| `autodesjardins` | Automobiles Desjardins | Québec | Capitale-Nationale | 106 | 0 | 2026-08-28 21:58 | OK (100 trouvés) |
67 +| `baiecomeaugm` | Baie-Comeau Chevrolet Buick GMC | Baie-Comeau | Côte-Nord | 118 | 95 | 2026-08-28 21:58 | OK (100 trouvés) |
68 +| `kiamatane` | Kia Matane | Matane | Bas-Saint-Laurent | 44 | 0 | 2026-08-28 21:58 | OK (44 trouvés) |
69 +| `lallierhondahull` | Lallier Honda Hull | Gatineau | Outaouais | 52 | 0 | 2026-08-28 21:58 | OK (52 trouvés) |
70 +| `lamontagneauto` | Lamontagne Auto | Rimouski | Bas-Saint-Laurent | 11 | 0 | 2026-08-28 21:57 | OK (11 trouvés) |
71 +| `marquisautomobiles` | Marquis Automobiles | Matane | Bas-Saint-Laurent | 36 | 0 | 2026-08-28 21:58 | OK (36 trouvés) |
72 +| `rivesudchrysler` | Rive-Sud Chrysler | Brossard | Montérégie | 14 | 0 | 2026-08-28 21:58 | OK (14 trouvés) |
73 +| `septilesgm` | Sept-Îles Chevrolet Buick GMC | Sept-Îles | Côte-Nord | 101 | 72 | 2026-08-28 21:58 | OK (100 trouvés) |
74 +| `septileshonda` | Sept-Îles Honda | Sept-Îles | Côte-Nord | 17 | 0 | 2026-08-28 21:58 | OK (17 trouvés) |
75 +| `spinelli` | Groupe Spinelli | Montréal | Montréal | 100 | 0 | 2026-08-28 21:57 | OK (100 trouvés) |
76 +| `stjeromeautodepot` | St-Jérôme Auto Dépôt | Saint-Jérôme | Laurentides | 296 | 0 | 2026-08-28 21:57 | OK (296 trouvés) |
77 +| `touteslesmarques` | Toutes les marques | Chicoutimi | Saguenay–Lac-Saint-Jean | 263 | 245 | 2026-08-28 21:57 | OK (263 trouvés) |
78 +| `toyotagatineau` | Toyota Gatineau | Gatineau | Outaouais | 101 | 0 | 2026-08-28 21:58 | OK (100 trouvés) |
79 +| `villeneuveford` | Villeneuve Ford | Matane | Bas-Saint-Laurent | 70 | 0 | 2026-08-28 21:58 | OK (70 trouvés) |
80 +| `volvosaintleonard` | Volvo Cars Saint-Léonard | Montréal | Montréal | 114 | 0 | 2026-08-28 21:58 | OK (114 trouvés) |
81 81
82 82 ## Erreurs de synchronisation récentes
83 83
modified docs/connecteurs/stefoychrysler.md +3 −3
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/stefoychrysler.py`
8 8 - **Sources membres** : 1
9 −- **Annonces actives (BD)** : 426
9 +- **Annonces actives (BD)** : 417
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : flux RSC Next.js
12 12 - **Plafonds / cache** : aucun
@@ -26,7 +26,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
26 26 > display_dealer_name / display_city). On réutilise donc OccasionBeaucage
27 27 > telle quelle, seuls l'URL et les libellés changent.
28 28
29 −## Complétude des champs (annonces actives, N = 426)
29 +## Complétude des champs (annonces actives, N = 417)
30 30
31 31 | Champ | % rempli |
32 32 |---|---|
@@ -46,7 +46,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
46 46
47 47 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
48 48 |---|---|---|---|---|---|---|---|
49 −| `stefoychrysler` | Ste-Foy Chrysler | Québec | Capitale-Nationale | 426 | 84 | 2026-08-27 15:41 | OK (420 trouvés) |
49 +| `stefoychrysler` | Ste-Foy Chrysler | Québec | Capitale-Nationale | 417 | 84 | 2026-08-28 21:59 | OK (416 trouvés) |
50 50
51 51 ## Erreurs de synchronisation récentes
52 52
modified docs/connecteurs/transverse-dedup-vin.md +14 −14
@@ -27,9 +27,9 @@ _Généré automatiquement par `scripts/gen_connector_docs.py`._
27 27
28 28 ## État live
29 29
30 −- **Annonces en base** : 89353
31 −- **Annonces masquées (`dup_of` non nul)** : 12469
32 −- **Annonces canoniques avec doublons** : 10321
30 +- **Annonces en base** : 94686
31 +- **Annonces masquées (`dup_of` non nul)** : 12279
32 +- **Annonces canoniques avec doublons** : 10183
33 33 - **Autorité** : concessionnaire direct > portail/regroupeur > petites annonces ; puis complétude de la fiche, puis ancienneté (`first_seen`).
34 34 - Les listes filtrent `dup_of IS NULL` ; les fiches détail restent accessibles par uid.
35 35
@@ -37,17 +37,17 @@ _Généré automatiquement par `scripts/gen_connector_docs.py`._
37 37
38 38 | Source | Annonces masquées |
39 39 |---|---|
40 −| `otogo` | 6361 |
41 −| `autousagee` | 3093 |
42 −| `leprixdugros` | 889 |
43 −| `megacentredeliquidation` | 460 |
44 −| `montjolichrysler` | 348 |
45 −| `touteslesmarques` | 247 |
46 −| `occasionbeaucage` | 206 |
47 −| `cargurus` | 173 |
48 −| `jeandumas` | 110 |
49 −| `abitibiautocredit` | 87 |
50 −| `jeandumasfordbc` | 85 |
40 +| `otogo` | 6259 |
41 +| `autousagee` | 3098 |
42 +| `leprixdugros` | 847 |
43 +| `megacentredeliquidation` | 457 |
44 +| `montjolichrysler` | 337 |
45 +| `touteslesmarques` | 245 |
46 +| `occasionbeaucage` | 209 |
47 +| `cargurus` | 178 |
48 +| `jeandumas` | 108 |
49 +| `baiecomeaugm` | 95 |
50 +| `abitibiautocredit` | 85 |
51 51 | `stefoychrysler` | 84 |
52 52
53 53 Recalcul one-shot : `python3 -m autoka.dedup` (idempotent, relancé à la fin de chaque cycle d'ingestion).
modified docs/connecteurs/vvu_dealers.md +10 −10
@@ -6,7 +6,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
6 6
7 7 - **Fichier** : `autoka/connectors/vvu_dealers.py`
8 8 - **Sources membres** : 4
9 −- **Annonces actives (BD)** : 185
9 +- **Annonces actives (BD)** : 180
10 10 - **Backend de fetch** : requests direct (aucun anti-bot)
11 11 - **Mécanique détectée** : API JSON interne, endpoint JSON
12 12 - **Plafonds / cache** : aucun
@@ -27,19 +27,19 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
27 27 > `<make>-<model>-<year>-<_id>` ; le préfixe varie selon la version du
28 28 > gabarit ADWS déployée (`/fr/vehicle/…` ou `/fr/occasion/…`).
29 29
30 −## Complétude des champs (annonces actives, N = 185)
30 +## Complétude des champs (annonces actives, N = 180)
31 31
32 32 | Champ | % rempli |
33 33 |---|---|
34 34 | Marque | 100.0 % |
35 35 | Modèle | 100.0 % |
36 −| Année | 99.5 % |
36 +| Année | 99.4 % |
37 37 | Kilométrage | 100.0 % |
38 38 | Prix | 100.0 % |
39 −| Carburant | 99.5 % |
39 +| Carburant | 99.4 % |
40 40 | Boîte (transmission) | 100.0 % |
41 −| VIN | 96.2 % |
42 −| Photos | 95.1 % |
41 +| VIN | 96.1 % |
42 +| Photos | 94.4 % |
43 43 | Carfax | 0.0 % |
44 44 | GPS (lat/lng) | 100.0 % |
45 45
@@ -47,10 +47,10 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
47 47
48 48 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
49 49 |---|---|---|---|---|---|---|---|
50 −| `autoglobalmtl` | Auto Global MTL | Montréal | Montréal | 29 | 0 | 2026-08-27 15:41 | OK (29 trouvés) |
51 −| `groupeautomobile` | Le Groupe Automobile Laval | Laval | Laval | 24 | 0 | 2026-08-27 15:41 | OK (24 trouvés) |
52 −| `occasionvilledequebec` | Comme1Neuf | Château-Richer | Capitale-Nationale | 80 | 0 | 2026-08-27 15:41 | OK (80 trouvés) |
53 −| `summumauto` | Summum Auto | Laval | Laval | 52 | 0 | 2026-08-27 15:41 | OK (52 trouvés) |
50 +| `autoglobalmtl` | Auto Global MTL | Montréal | Montréal | 29 | 0 | 2026-08-28 21:59 | OK (29 trouvés) |
51 +| `groupeautomobile` | Le Groupe Automobile Laval | Laval | Laval | 23 | 0 | 2026-08-28 21:59 | OK (23 trouvés) |
52 +| `occasionvilledequebec` | Comme1Neuf | Château-Richer | Capitale-Nationale | 78 | 0 | 2026-08-28 21:59 | OK (78 trouvés) |
53 +| `summumauto` | Summum Auto | Laval | Laval | 50 | 0 | 2026-08-28 21:59 | OK (50 trouvés) |
54 54
55 55 ## Erreurs de synchronisation récentes
56 56
modified docs/connecteurs/yannicklaberge.md +1 −1
@@ -44,7 +44,7 @@ _Généré automatiquement par `scripts/gen_connector_docs.py` — ne pas édite
44 44
45 45 | Source | Nom | Ville | Région | Actives | Masquées (dup VIN) | Dernier sync | Statut |
46 46 |---|---|---|---|---|---|---|---|
47 −| `automobilesyannicklaberge` | Automobiles Yannick Laberge | Beauport | Capitale-Nationale | 15 | 0 | 2026-08-27 15:41 | OK (15 trouvés) |
47 +| `automobilesyannicklaberge` | Automobiles Yannick Laberge | Beauport | Capitale-Nationale | 15 | 0 | 2026-08-28 21:59 | OK (15 trouvés) |
48 48
49 49 ## Erreurs de synchronisation récentes
50 50
51 51