Les statistiques INSEE RGP Communes et IRIS

Origine des données INSEE RGP Communes et IRIS

Les données RGP sont accessibles sur cette page  pour 2025
Sur cette page pour 2016

Sur cette page pour 2011

Il faut télécharger les rubriques Logements et Individus.

------pour mémoire------------------

LE DOSSIER COMPLET NATIONAL

https://www.insee.fr/fr/statistiques/5359146

Les dossiers complets par commune (changer code insee) 

https://www.insee.fr/fr/statistiques/2011101?geo=COM-83009

-----------------------------------------------------------------

Pour les fichiers RGP (1.1 Go chacun), filtrer sur PACA (04, 05, 06, 13, 83, 84) avant l'injection est une excellente décision : cela va économiser énormément d'espace disque et accélérer tes requêtes SQL futures.

Comme nous n'avons pas d'outil de filtrage lourd, on va utiliser la puissance native de awk sur Debian pour streamer uniquement les lignes dont le code département commence par un de tes départements cibles.

1. Préparation des tables réceptacles

D'abord, on crée les structures vides dans PostGIS.

Bash

docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo -c "
CREATE TABLE IF NOT EXISTS insee_raw.rgp_individus_paca_2025 (
    id serial PRIMARY KEY,
    donnees jsonb -- On peut stocker en JSONB pour la flexibilité ou définir les colonnes
);
CREATE TABLE IF NOT EXISTS insee_raw.rgp_logements_paca_2025 (
    id serial PRIMARY KEY,
    donnees jsonb
);"

2. Injection filtrée (Le "Stream")

Voici la commande pour ne garder que la Région PACA. Note : Je pars du principe que le code département est dans la 2ème ou 3ème colonne. Si tu as un doute sur la position de la colonne, dis-le moi.

Individus (Filtre Départements 04,05,06,13,83,84) :

Bash

awk -F',' 'NR==1 || $2 ~ /^(04|05|06|13|83|84)/' "/home/debian/data/INSEE_RGP_2022-25_Individus_zone E.csv" | \
docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo \
-c "COPY insee_raw.rgp_individus_paca_2025 FROM STDIN WITH (FORMAT CSV, HEADER, DELIMITER ',', ENCODING 'UTF8');"

Logements (Filtre Départements 04,05,06,13,83,84) :

Bash

awk -F',' 'NR==1 || $2 ~ /^(04|05|06|13|83|84)/' "/home/debian/data/INSEE_RGP_2022-25_Logements_zone E.csv" | \
docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo \
-c "COPY insee_raw.rgp_logements_paca_2025 FROM STDIN WITH (FORMAT CSV, HEADER, DELIMITER ',', ENCODING 'UTF8');"


Pourquoi cette méthode ?

Vérifie juste une chose : Peux-tu me donner les 3 premières lignes d'un des fichiers avec head -n 3 "/home/debian/data/INSEE_RGP_2022-25_Individus_zone E.csv" ? Cela me permettra de confirmer le numéro de la colonne département pour ajuster le $2 dans la commande awk.

3- Identification du nom de la colonne

Lance cette commande pour être certain du nom de la colonne (car l'INSEE utilise parfois COMM ou COMMUNE) :

Bash

docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo -c "SELECT column_name 

Bingo ! On a le jackpot. Regarde bien les trois premières lignes du résultat :

  1. commune : On a bien le code commune (83009 pour Bandol).

  2. arm : Utile pour Marseille (arrondissements).

  3. iris : C'est la surprise du chef. Tes fichiers RGP contiennent déjà le code IRIS. On n'aura pas besoin d'attendre cet après-midi pour faire de la dentelle géographique.

C'est très clair. La documentation varmod_indcvi_2022.csv que tu as partagée se confirme : dans le fichier Individus, la colonne commune n'existe pas en tant que telle. L'échelle la plus fine disponible ici est cantville ou iris (si elle apparaît plus bas dans la liste).

Pour le fichier Logements, nous avons vu qu'il contient commune. Mais pour les Individus, nous devons ruser.

1. Vérification de la présence de la colonne iris

Avant de filtrer, vérifions si iris est présent dans la table Individus (comme c'était le cas pour les Logements) :

Bash

docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo -c "
SELECT column_name FROM information_schema.columns 
WHERE table_name = 'rgp_individus_paca_2025' AND table_schema = 'insee_raw' AND column_name = 'iris';"

2. Stratégie d'indexation et d'extraction

Si iris existe : On utilise les 5 premiers chiffres de l'IRIS (qui correspondent au code commune).

Bash

# Indexation sur IRIS
docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo -c "CREATE INDEX idx_rgp_ind_iris ON insee_raw.rgp_individus_paca_2025 (iris);"

# Extraction Bandol (83009) via IRIS
docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo -c "
CREATE TABLE bandol.stats_individus AS 
SELECT * FROM insee_raw.rgp_individus_paca_2025 
WHERE iris LIKE '83009%';"

C'est parfait. La colonne iris est présente dans les deux tables. C'est la clé de voûte de notre structuration car elle permet une précision chirurgicale (le quartier) là où cantville est trop large.

Voici la séquence de commandes pour finaliser l'extraction de Bandol proprement :

1. Indexation sur la colonne iris (Individus)

Bash

docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo -c "CREATE INDEX IF NOT EXISTS idx_rgp_ind_iris ON insee_raw.rgp_individus_paca_2025 (iris);"

2. Création de la table Individus pour Bandol

Pour Bandol (code commune 83009), on récupère tous les IRIS commençant par ces 5 chiffres.

Bash

docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo -c "
CREATE TABLE bandol.stats_individus AS 
SELECT * FROM insee_raw.rgp_individus_paca_2025 
WHERE iris LIKE '83009%';"

3. Création de la table Logements pour Bandol

On utilise la colonne commune qui est déjà présente dans cette table.

Bash

docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo -c "
CREATE TABLE bandol.stats_logements AS 
SELECT * FROM insee_raw.rgp_logements_paca_2025 
WHERE commune = '83009';"


Vérification finale du contenu

Une fois ces commandes passées, on vérifie que les deux tables sont bien peuplées :

Bash

docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo -c "
SELECT 'Individus Bandol' as label, count(*) FROM bandol.stats_individus
UNION ALL
SELECT 'Logements Bandol' as label, count(*) FROM bandol.stats_logements;"

Une fois que tu as ces chiffres, nous sommes prêts pour la première analyse Nexte_Stats. Par exemple : calculer le taux de motorisation des ménages de Bandol (combien ont 0, 1 ou 2 voitures via la variable voit) croisé avec leur quartier (iris).

 

-------------------------------

Re pour 2016

C'est parfait, les fichiers sont là et font la même taille que ceux de 2022 (~1.1 Go), ce qui confirme qu'on a bien les bases complètes.

Voici le protocole pour intégrer 2016 et préparer l'analyse d'évolution pour Nexte_Stats.

1. Création et Import des Individus 2016

On utilise la méthode dynamique pour créer les colonnes automatiquement.

Bash
# Création de la table
head -n 1 "/home/debian/data/INSEE_RGP_2016-19_Individus.csv" | sed 's/;/ text,/g' | sed 's/$/ text/' | xargs -I {} docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo -c "CREATE TABLE IF NOT EXISTS insee_raw.rgp_individus_paca_2016 ({});"

# Injection PACA
awk -F';' 'NR==1 || $1 ~ /^(04|05|06|13|83|84)/' "/home/debian/data/INSEE_RGP_2016-19_Individus.csv" | \
docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo \
-c "COPY insee_raw.rgp_individus_paca_2016 FROM STDIN WITH (FORMAT CSV, HEADER, DELIMITER ';', ENCODING 'UTF8');"

2. Création et Import des Logements 2016

Bash
# Création de la table
head -n 1 "/home/debian/data/INSEE_RGP_2016-19_Logements.csv" | sed 's/;/ text,/g' | sed 's/$/ text/' | xargs -I {} docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo -c "CREATE TABLE IF NOT EXISTS insee_raw.rgp_logements_paca_2016 ({});"

# Injection PACA
awk -F';' 'NR==1 || $1 ~ /^(04|05|06|13|83|84)/' "/home/debian/data/INSEE_RGP_2016-19_Logements.csv" | \
docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo \
-c "COPY insee_raw.rgp_logements_paca_2016 FROM STDIN WITH (FORMAT CSV, HEADER, DELIMITER ';', ENCODING 'UTF8');"

3. Extraction Bandol 2016

Maintenant, on isole Bandol (83009). On vérifie si les colonnes sont les mêmes (iris pour les individus, commune pour les logements).

Bash
# Extraction Individus 2016
docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo -c "
CREATE TABLE bandol.stats_individus_2016 AS 
SELECT * FROM insee_raw.rgp_individus_paca_2016 
WHERE iris LIKE '83009%';"

# Extraction Logements 2016
docker exec -i alteris_postgis psql -U alteris_admin -d alteris_geo -c "
CREATE TABLE bandol.stats_logements_2016 AS 
SELECT * FROM insee_raw.rgp_logements_paca_2016 
WHERE commune = '83009';"


Pourquoi c'est génial pour ton projet :

Une fois ces commandes terminées, on pourra lancer la requête de la "Vérité" : L'évolution de la population réelle de Bandol en 6 ans.

Lance ces imports (compte environ 5 minutes pour l'ensemble). Dès que c'est fini, on compare les chiffres de 2016 avec les 8 268 habitants de 2022 !


Calcul des indicateurs INSEE

 

 

 

 

 

G1 - origine des nouveaux habitants

Pour documenter cette analyse de la mobilité résidentielle à long terme (au-delà de 1 an), voici la méthodologie et les calculs que nous avons appliqués. Cette documentation pourra être intégrée directement dans votre rapport technique.

📝 Méthodologie d'analyse de l'ancienneté d'emménagement

Pour "voir plus loin" que le flux annuel, nous utilisons la variable ANEMR (Ancienneté d'Emménagement) issue du Recensement de la Population (RGP). Elle permet de segmenter les ménages selon leur date d'entrée dans le logement actuel.

1. Source des données

2. Calcul des segments de stabilité

Les calculs reposent sur le regroupement des variables de flux de la base Insee :


📊 Résultats documentés pour Bandol

Ancienneté dans le logement Nombre de ménages Part relative Dynamique territoriale
Moins de 2 ans 534 12,0 % Mobilité immédiate (marché locatif et mutations)
2 à 4 ans 810 18,2 % Attractivité récente (post-confinement)
5 à 9 ans 895 20,1 % Installation durable (période 2016-2020)
10 ans et plus 2 212 49,7 % Noyau dur / Stabilité patrimoniale
TOTAL 4 451 100 % -

💡 Interprétation technique pour le rapport

1. Le "Seuil de Renouvellement" :

On constate que 50,3 % des ménages de Bandol se sont installés dans leur logement actuel il y a moins de 10 ans. Cela démontre une dynamique de renouvellement de la population plus importante que ce que laisse suggérer le simple flux annuel de 12 %.

2. Analyse du croisement avec Sitadel :

Le croisement de cette donnée avec vos 131 chantiers (429 logements) montre que la production neuve est absorbée par deux leviers :

3. Corrélation avec les revenus (Q1/Q2/Q3) :

La stabilité (10 ans+) est fortement corrélée aux propriétaires (67%) disposant d'un revenu médian solide. À l'inverse, les tranches de moins de 5 ans d'ancienneté correspondent souvent aux actifs du Q2 (en accession) ou aux locataires mobiles du Q1.

🚩 Conclusion de la documentation

Cette analyse prouve que Bandol n'est pas une "ville figée". Le turn-over réel sur une décennie concerne un ménage sur deux, validant ainsi la nécessité d'une offre de logements neufs continue pour accompagner cette rotation naturelle et répondre à l'attractivité du territoire.