SPB Git forge

spb/immo-ka

Public

Immo-Ka — agrégateur des propriétés à vendre au Québec (73 connecteurs, ~40 000 annonces, React+FastAPI)

112commits 1branches 0releases
125.4 MBsize
maindefault branch
14 days agolast push
Python 47.5% HTML 27.9% TypeScript 15.5% CSS 7.2% JavaScript 2%

pause(ontario): expansion ON suspendue temporairement — rien d'effacé

- realtypress.py : enregistrement des connecteurs rp_* gaté par IMMOKA_ONTARIO=1
  (.env : flag documenté, commenté) — plus aucun sync ON
- sources.json : 15 sources rp_* -> status pause + note_pause
- quality.refresh : dépublication pause-ontario (published=0) des annonces
  source rp_* tant que le flag n'est pas posé (source ajoutée au SELECT)
- docs/ONTARIO-PAUSE.md : quoi/pourquoi/comment réactiver

202 187 fiches ON conservées en base, dépubliées. QC intact (95 010 publiées).
Simon-Pierre Boucher committed 1 mo ago (Aug 27, 2026) parent f24afee

4 changed files +89 −32

modified data/sources.json +45 −30
@@ -875,9 +875,10 @@
875 875 "listing_url": "https://revelrealty.ca/listings/",
876 876 "coverage": "Niagara + pool DDF quasi provincial — ~110 000 fiches",
877 877 "connector": "realtypress",
878 − "status": "actif",
878 + "status": "pause",
879 879 "type": "agence",
880 − "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF. Site MONSTRE : expose ~110 145 fiches (pool DDF quasi complet de la province). Archive /listings/ (⚠ /listing/ = carousel), 108 cartes/page. Infixe _ag_ : dédup inter-sites par external_id ddf<id> (les fiches des 13 sites régionaux priment via MIN(uid))."
880 + "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF. Site MONSTRE : expose ~110 145 fiches (pool DDF quasi complet de la province). Archive /listings/ (⚠ /listing/ = carousel), 108 cartes/page. Infixe _ag_ : dédup inter-sites par external_id ddf<id> (les fiches des 13 sites régionaux priment via MIN(uid)).",
881 + "note_pause": "PAUSE Ontario 2026-08-27 — expansion ON suspendue temporairement (voir docs/ONTARIO-PAUSE.md) ; réactivation : IMMOKA_ONTARIO=1 + status actif"
881 882 },
882 883 {
883 884 "id": "rp_ag_codygroup",
@@ -886,9 +887,10 @@
886 887 "listing_url": "https://codygroup.ca/all-regional-listings/",
887 888 "coverage": "London + ITSO élargi — ~58 000 fiches DDF",
888 889 "connector": "realtypress",
889 − "status": "actif",
890 + "status": "pause",
890 891 "type": "agence",
891 − "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF. Site MONSTRE : ~58 062 fiches. Archive et fiches sous /all-regional-listings/. Infixe _ag_ : dédup inter-sites par external_id ddf<id>."
892 + "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF. Site MONSTRE : ~58 062 fiches. Archive et fiches sous /all-regional-listings/. Infixe _ag_ : dédup inter-sites par external_id ddf<id>.",
893 + "note_pause": "PAUSE Ontario 2026-08-27 — expansion ON suspendue temporairement (voir docs/ONTARIO-PAUSE.md) ; réactivation : IMMOKA_ONTARIO=1 + status actif"
892 894 },
893 895 {
894 896 "id": "rp_ag_suttonottawa",
@@ -897,9 +899,10 @@
897 899 "listing_url": "https://suttonottawa.ca/listing/",
898 900 "coverage": "Ottawa et l'Est ontarien (board OREB) — ~10 000 fiches DDF",
899 901 "connector": "realtypress",
900 − "status": "actif",
902 + "status": "pause",
901 903 "type": "agence",
902 − "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~10 080 fiches (OREB+). RealtyPress/DDF."
904 + "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~10 080 fiches (OREB+). RealtyPress/DDF.",
905 + "note_pause": "PAUSE Ontario 2026-08-27 — expansion ON suspendue temporairement (voir docs/ONTARIO-PAUSE.md) ; réactivation : IMMOKA_ONTARIO=1 + status actif"
903 906 },
904 907 {
905 908 "id": "rp_ag_helensteam",
@@ -908,9 +911,10 @@
908 911 "listing_url": "https://helensteam.ca/listing/",
909 912 "coverage": "Kitchener-Waterloo et région (ITSO) — ~9 900 fiches DDF",
910 913 "connector": "realtypress",
911 − "status": "actif",
914 + "status": "pause",
912 915 "type": "agence",
913 − "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~9 910 fiches (Kitchener-Waterloo). RealtyPress/DDF."
916 + "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~9 910 fiches (Kitchener-Waterloo). RealtyPress/DDF.",
917 + "note_pause": "PAUSE Ontario 2026-08-27 — expansion ON suspendue temporairement (voir docs/ONTARIO-PAUSE.md) ; réactivation : IMMOKA_ONTARIO=1 + status actif"
914 918 },
915 919 {
916 920 "id": "rp_ag_greybruce",
@@ -919,9 +923,10 @@
919 923 "listing_url": "https://greybrucerealestate.ca/listing/",
920 924 "coverage": "Grey-Bruce / Georgian Bay (ITSO) — ~8 300 fiches DDF",
921 925 "connector": "realtypress",
922 − "status": "actif",
926 + "status": "pause",
923 927 "type": "agence",
924 − "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~8 268 fiches (Grey-Bruce/Georgian Bay). RealtyPress/DDF. Même feed que collaborativerealestate.ca (fallback)."
928 + "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~8 268 fiches (Grey-Bruce/Georgian Bay). RealtyPress/DDF. Même feed que collaborativerealestate.ca (fallback).",
929 + "note_pause": "PAUSE Ontario 2026-08-27 — expansion ON suspendue temporairement (voir docs/ONTARIO-PAUSE.md) ; réactivation : IMMOKA_ONTARIO=1 + status actif"
925 930 },
926 931 {
927 932 "id": "rp_ag_remaxfinest",
@@ -930,9 +935,10 @@
930 935 "listing_url": "https://remaxfinestrealty.com/listing/",
931 936 "coverage": "Kingston et région (KAREA) — ~8 200 fiches DDF",
932 937 "connector": "realtypress",
933 − "status": "actif",
938 + "status": "pause",
934 939 "type": "agence",
935 − "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~8 217 fiches (Kingston). RealtyPress/DDF."
940 + "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~8 217 fiches (Kingston). RealtyPress/DDF.",
941 + "note_pause": "PAUSE Ontario 2026-08-27 — expansion ON suspendue temporairement (voir docs/ONTARIO-PAUSE.md) ; réactivation : IMMOKA_ONTARIO=1 + status actif"
936 942 },
937 943 {
938 944 "id": "rp_ag_riouxbaker",
@@ -941,9 +947,10 @@
941 947 "listing_url": "https://riouxbakerteam.com/listing/",
942 948 "coverage": "Collingwood / South Georgian Bay — ~7 700 fiches DDF",
943 949 "connector": "realtypress",
944 − "status": "actif",
950 + "status": "pause",
945 951 "type": "agence",
946 − "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~7 716 fiches (Collingwood/South Georgian Bay). RealtyPress/DDF."
952 + "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~7 716 fiches (Collingwood/South Georgian Bay). RealtyPress/DDF.",
953 + "note_pause": "PAUSE Ontario 2026-08-27 — expansion ON suspendue temporairement (voir docs/ONTARIO-PAUSE.md) ; réactivation : IMMOKA_ONTARIO=1 + status actif"
947 954 },
948 955 {
949 956 "id": "rp_ag_countyguys",
@@ -952,9 +959,10 @@
952 959 "listing_url": "https://thecountyguys.com/listing/",
953 960 "coverage": "Prince Edward County / Quinte — ~6 900 fiches DDF",
954 961 "connector": "realtypress",
955 − "status": "actif",
962 + "status": "pause",
956 963 "type": "agence",
957 − "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~6 878 fiches (Prince Edward County/Quinte). RealtyPress/DDF."
964 + "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~6 878 fiches (Prince Edward County/Quinte). RealtyPress/DDF.",
965 + "note_pause": "PAUSE Ontario 2026-08-27 — expansion ON suspendue temporairement (voir docs/ONTARIO-PAUSE.md) ; réactivation : IMMOKA_ONTARIO=1 + status actif"
958 966 },
959 967 {
960 968 "id": "rp_ag_labrosse",
@@ -963,9 +971,10 @@
963 971 "listing_url": "https://labrosserealestate.com/listing/",
964 972 "coverage": "Ottawa / Orléans (équipe francophone, OREB) — ~6 900 fiches DDF",
965 973 "connector": "realtypress",
966 − "status": "actif",
974 + "status": "pause",
967 975 "type": "agence",
968 − "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~6 873 fiches (Ottawa/Orléans, équipe FRANCOPHONE). RealtyPress/DDF."
976 + "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~6 873 fiches (Ottawa/Orléans, équipe FRANCOPHONE). RealtyPress/DDF.",
977 + "note_pause": "PAUSE Ontario 2026-08-27 — expansion ON suspendue temporairement (voir docs/ONTARIO-PAUSE.md) ; réactivation : IMMOKA_ONTARIO=1 + status actif"
969 978 },
970 979 {
971 980 "id": "rp_ag_ryanpattinson",
@@ -974,9 +983,10 @@
974 983 "listing_url": "https://ryanpattinson.com/listing/",
975 984 "coverage": "Pembroke / vallée de l'Outaouais ontarienne — ~6 600 fiches DDF",
976 985 "connector": "realtypress",
977 − "status": "actif",
986 + "status": "pause",
978 987 "type": "agence",
979 − "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~6 601 fiches (Pembroke/vallée de l'Outaouais ON). RealtyPress/DDF."
988 + "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~6 601 fiches (Pembroke/vallée de l'Outaouais ON). RealtyPress/DDF.",
989 + "note_pause": "PAUSE Ontario 2026-08-27 — expansion ON suspendue temporairement (voir docs/ONTARIO-PAUSE.md) ; réactivation : IMMOKA_ONTARIO=1 + status actif"
980 990 },
981 991 {
982 992 "id": "rp_ag_grapevine",
@@ -985,9 +995,10 @@
985 995 "listing_url": "https://grapevine.ca/listing/",
986 996 "coverage": "Ottawa (OREB) — ~6 600 fiches DDF",
987 997 "connector": "realtypress",
988 − "status": "actif",
998 + "status": "pause",
989 999 "type": "agence",
990 − "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~6 550 fiches (Ottawa). RealtyPress/DDF. Suivre les redirections www/apex."
1000 + "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~6 550 fiches (Ottawa). RealtyPress/DDF. Suivre les redirections www/apex.",
1001 + "note_pause": "PAUSE Ontario 2026-08-27 — expansion ON suspendue temporairement (voir docs/ONTARIO-PAUSE.md) ; réactivation : IMMOKA_ONTARIO=1 + status actif"
991 1002 },
992 1003 {
993 1004 "id": "rp_ag_rlpheartland",
@@ -996,9 +1007,10 @@
996 1007 "listing_url": "https://rlpheartland.ca/listing/",
997 1008 "coverage": "Midwestern Ontario (Huron-Perth) — ~5 600 fiches DDF",
998 1009 "connector": "realtypress",
999 − "status": "actif",
1010 + "status": "pause",
1000 1011 "type": "agence",
1001 − "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~5 577 fiches (Midwestern Ontario — Huron/Perth). RealtyPress/DDF."
1012 + "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~5 577 fiches (Midwestern Ontario — Huron/Perth). RealtyPress/DDF.",
1013 + "note_pause": "PAUSE Ontario 2026-08-27 — expansion ON suspendue temporairement (voir docs/ONTARIO-PAUSE.md) ; réactivation : IMMOKA_ONTARIO=1 + status actif"
1002 1014 },
1003 1015 {
1004 1016 "id": "rp_ag_signaturenorth",
@@ -1007,9 +1019,10 @@
1007 1019 "listing_url": "https://signaturenorthrealty.ca/listing/",
1008 1020 "coverage": "Thunder Bay — ~1 000 fiches DDF",
1009 1021 "connector": "realtypress",
1010 − "status": "actif",
1022 + "status": "pause",
1011 1023 "type": "agence",
1012 − "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~1 023 fiches (Thunder Bay). RealtyPress/DDF."
1024 + "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~1 023 fiches (Thunder Bay). RealtyPress/DDF.",
1025 + "note_pause": "PAUSE Ontario 2026-08-27 — expansion ON suspendue temporairement (voir docs/ONTARIO-PAUSE.md) ; réactivation : IMMOKA_ONTARIO=1 + status actif"
1013 1026 },
1014 1027 {
1015 1028 "id": "rp_ag_saultstemarie",
@@ -1018,9 +1031,10 @@
1018 1031 "listing_url": "https://saultstemarierealestate.com/listing/",
1019 1032 "coverage": "Sault Ste. Marie — ~860 fiches DDF",
1020 1033 "connector": "realtypress",
1021 − "status": "actif",
1034 + "status": "pause",
1022 1035 "type": "agence",
1023 − "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~864 fiches (Sault Ste. Marie). RealtyPress/DDF."
1036 + "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~864 fiches (Sault Ste. Marie). RealtyPress/DDF.",
1037 + "note_pause": "PAUSE Ontario 2026-08-27 — expansion ON suspendue temporairement (voir docs/ONTARIO-PAUSE.md) ; réactivation : IMMOKA_ONTARIO=1 + status actif"
1024 1038 },
1025 1039 {
1026 1040 "id": "rp_ag_cbnorthbay",
@@ -1029,9 +1043,10 @@
1029 1043 "listing_url": "https://cbnorthbay.com/listing/",
1030 1044 "coverage": "North Bay / Nipissing — ~300 fiches DDF",
1031 1045 "connector": "realtypress",
1032 − "status": "actif",
1046 + "status": "pause",
1033 1047 "type": "agence",
1034 − "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~307 fiches (North Bay). RealtyPress/DDF."
1048 + "note": "Extension ONTARIO 2026-08 — connecteur générique realtypress.py (registre data/ontario_agencies.json). Plugin WordPress RealtyPress branché sur le flux CREA DDF : chaque site expose l'inventaire complet de son board. Infixe _ag_ : external_id ddf<id> partagé entre sites → la dédup masque les doublons inter-sites. Recensement ON 2026-08-27 : ~307 fiches (North Bay). RealtyPress/DDF.",
1049 + "note_pause": "PAUSE Ontario 2026-08-27 — expansion ON suspendue temporairement (voir docs/ONTARIO-PAUSE.md) ; réactivation : IMMOKA_ONTARIO=1 + status actif"
1035 1050 }
1036 1051 ]
1037 1052 }
added docs/ONTARIO-PAUSE.md +26 −0
@@ -0,0 +1,26 @@
1 +# PAUSE Ontario — 2026-08-27
2 +
3 +L'expansion Ontario (connecteur générique RealtyPress, 15 agences ON, ~202 000
4 +fiches — commits `b0cfba6` / `39ac48a` / `f24afee` du 2026-08-26) est
5 +**suspendue temporairement**. Rien n'est effacé :
6 +
7 +- **Connecteurs** : les classes RealtyPress ne s'enregistrent dans `CONNECTORS`
8 + que si `IMMOKA_ONTARIO=1` est posé (gate dans
9 + `immoka/connectors/realtypress.py`) → plus aucun sync ON. Le code et le
10 + registre `data/ontario_agencies.json` restent intacts.
11 +- **Sources** : les 15 entrées `rp_*` de `data/sources.json` passent en
12 + `status: "pause"`.
13 +- **Affichage** : `quality.refresh()` dépublie toute annonce `source rp_*`
14 + (`published=0`, raison `pause-ontario`) tant que le flag n'est pas posé. Les
15 + ~202 k fiches restent en base ; grille, carte, stats et sources n'affichent
16 + que `published=1`.
17 +
18 +Inventaire des agences connectables : `docs/ontario-agences-connecteurs.md`.
19 +
20 +## Réactivation
21 +
22 +1. Poser `IMMOKA_ONTARIO=1` dans `.env`.
23 +2. Repasser les 15 sources `rp_*` à `status: "actif"` dans `data/sources.json`.
24 +3. Relancer un recalcul qualité (automatique après le prochain sync, ou
25 + `python -c "from immoka import db, quality; quality.refresh(db.connect())"`).
26 +4. `pm2 restart immo-ka-sync immo-ka-web`.
modified immoka/connectors/realtypress.py +7 −1
@@ -279,8 +279,14 @@ def _load() -> list[dict]:
279 279 return []
280 280
281 281
282 +# PAUSE ONTARIO (2026-08-27) : l'expansion ON est suspendue — les classes ne
283 +# s'enregistrent dans le registre CONNECTORS que si IMMOKA_ONTARIO=1 est posé
284 +# (.env). Les annonces déjà en base sont conservées mais dépubliées par
285 +# quality.refresh (raison « pause-ontario »). Rien n'est effacé.
286 +_ONTARIO = os.environ.get("IMMOKA_ONTARIO") == "1"
287 +
282 288 # Génère une classe par site du registre.
283 −for _ag in _load():
289 +for _ag in (_load() if _ONTARIO else []):
284 290 if not all(_ag.get(k) for k in ("id", "site")):
285 291 continue
286 292 _sid = _ag["id"]
modified immoka/quality.py +11 −1
@@ -19,6 +19,7 @@
19 19 from __future__ import annotations
20 20
21 21 import json
22 +import os
22 23 import re
23 24 import sqlite3
24 25 import time
@@ -174,7 +175,8 @@ def refresh(con: sqlite3.Connection, sources: list[str] | None = None) -> dict:
174 175 Appelé après chaque synchronisation (ingest.run) — quelques secondes pour
175 176 ~80 k lignes. Retourne un résumé {actives, publiees, quarantaine}."""
176 177 _ensure_columns(con)
177 − sql = ("SELECT uid, title, price, price_label, city, address, property_type,"
178 + sql = ("SELECT uid, source, title, price, price_label, city, address,"
179 + " property_type,"
178 180 " bedrooms, bathrooms, area_sqft, lot_sqft, year_built, lat, status,"
179 181 " broker_name, broker_phone, description, features, details, images,"
180 182 " quality_score, quality_issues, published"
@@ -188,6 +190,14 @@ def refresh(con: sqlite3.Connection, sources: list[str] | None = None) -> dict:
188 190 for r in con.execute(sql, args):
189 191 row = dict(r)
190 192 score, issues, publishable, derived = assess(row)
193 + # PAUSE ONTARIO (2026-08-27) : l'expansion ON (connecteurs RealtyPress,
194 + # sources rp_*) est suspendue — les annonces restent en base mais sont
195 + # dépubliées tant que IMMOKA_ONTARIO=1 n'est pas posé
196 + # (voir docs/ontario-agences-connecteurs.md).
197 + if (str(row.get("source") or "").startswith("rp_")
198 + and os.environ.get("IMMOKA_ONTARIO") != "1"):
199 + publishable = 0
200 + issues = issues + ["pause-ontario"]
191 201 n += 1
192 202 pub += publishable
193 203 details = {}
194 204