# I_T2_01 - Faible cybersécurité des Collectivités

#### **I\_T2\_01**  


"L'innovation technologique hier perçue comme une source de progrès est devenue une force de destabiisation intime et d'asservissement". Société hyper-évaluée (poids et nature de l'évaluation), isolement - la peur comme principe organisateur.

Avec l'avènement des IA, on assite à une multiplication des exploits d'infractions sur les bases de données publiques (fichiers) et une insécurisation des initiatives digitales (portail des associations). Cette exposition incertaine pousse au repli, à la perte de capacité d'expression.

### **<span style="color:rgb(224,62,45);">Base problématique par IA</span>** 

Pour cet indicateur, nous devons croiser des sources de vulnérabilité (ex: CVE, fuites de données) avec votre référentiel géographique.

##### Étape 1 : Schéma de base de données (PostgreSQL/PostGIS)

Nous créons une table pour centraliser les incidents et les scores de vulnérabilité par collectivité.

<div class="code-block ng-tns-c1673804520-649 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk-sql"><div class="code-block-decoration header-formatted gds-title-s ng-tns-c1673804520-649 ng-star-inserted"><span class="ng-tns-c1673804520-649">SQL</span><div class="buttons ng-tns-c1673804520-649 ng-star-inserted"></div></div><div class="formatted-code-block-internal-container ng-tns-c1673804520-649"><div class="animated-opacity ng-tns-c1673804520-649"></div></div></div>```
-- Création de l'extension géographique si nécessaire
CREATE EXTENSION IF NOT EXISTS postgis;

-- Table des indicateurs de vulnérabilité cyber (T02_01)
CREATE TABLE t02_01_cyber_vulnerability (
    id SERIAL PRIMARY KEY,
    insee_code VARCHAR(10) NOT NULL, -- Code identifiant la collectivité
    nom_collectivite TEXT,
    nb_exploits_constates INT DEFAULT 0, -- Nombre d'infractions/leaks recensés
    score_exposition_digitale FLOAT, -- Evaluation du portail (0 à 100)
    derniere_maj TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    geom GEOMETRY(MultiPolygon, 4326) -- Pour la visualisation QGIS
);

CREATE INDEX idx_t02_01_insee ON t02_01_cyber_vulnerability(insee_code);

```

<div class="code-block ng-tns-c1673804520-649 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk--1"><div class="formatted-code-block-internal-container ng-tns-c1673804520-649"><div class="animated-opacity ng-tns-c1673804520-649"></div></div></div>##### Étape 2 : Script Python de collecte (Mockup API)

Ce script (à isoler dans un container Docker) permet d'agréger des données de "leaks" ou d'exposition de ports ouverts par code INSEE.

<div class="code-block ng-tns-c1673804520-650 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk-python"><div class="code-block-decoration header-formatted gds-title-s ng-tns-c1673804520-650 ng-star-inserted"><span class="ng-tns-c1673804520-650">Python</span><div class="buttons ng-tns-c1673804520-650 ng-star-inserted"></div></div><div class="formatted-code-block-internal-container ng-tns-c1673804520-650"><div class="animated-opacity ng-tns-c1673804520-650"></div></div></div>```
import psycopg2
import requests

def update_cyber_indicator(insee_code, score):
    conn = psycopg2.connect("host=localhost dbname=alteris user=postgres password=votre_pass")
    cur = conn.cursor()
    
    # Mise à jour de l'indicateur T02_01
    query = """
    INSERT INTO t02_01_cyber_vulnerability (insee_code, score_exposition_digitale)
    VALUES (%s, %s)
    ON CONFLICT (insee_code) 
    DO UPDATE SET score_exposition_digitale = EXCLUDED.score_exposition_digitale, 
                  derniere_maj = CURRENT_TIMESTAMP;
    """
    cur.execute(query, (insee_code, score))
    conn.commit()
    cur.close()
    conn.close()

# Exemple d'usage : Score de 75/100 pour une collectivité fictive
update_cyber_indicator('83137', 75.5)

```

<div class="code-block ng-tns-c1673804520-650 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk--4"><div class="formatted-code-block-internal-container ng-tns-c1673804520-650"><div class="animated-opacity ng-tns-c1673804520-650"></div></div></div><span>**<span class="citation-31">Analyse Alteris :</span>**<span class="citation-31"> La multiplication des exploits sur les portails associatifs fragilise le lien social et la liberté d'expression numérique</span></span><span><span class="citation-31 citation-end-31"><sup class="superscript"></sup><sup class="superscript"></sup><sup class="superscript"></sup><sup class="superscript"></sup></span></span><span>.</span>

Souhaitez-vous que je développe un script pour **automatiser l'import des données de cyber-attaques** (type plateforme Cybermalveillance.gouv ou exports HaveIBeenPwned) pour alimenter ce score ?

### **<span style="color:rgb(224,62,45);">Premières réflexions - les aperçus</span>**


[https://urgencecyber-regionsud.fr/#accueil](https://urgencecyber-regionsud.fr/#accueil)

[https://www.cybermalveillance.gouv.fr/](https://www.cybermalveillance.gouv.fr/)

### **<span style="color:rgb(224,62,45);">V1 - Indicateur </span>I\_T1\_01**

##### Ratio d'Audience Institutionnelle (RAI) - moyenne   
\* (Nombre de visiteurs uniques mensuels sur le site officiel) / (Population totale du territoire)  
\* Taux de Couverture Sociale Digitale \[(Nombre d'abonnés FB + 20% (Twitter+Insta+Linkedin)\]/Nombre d'habitants 


#####    
  


### **<span style="color:rgb(224,62,45);">Expérience de l'Indicateur </span>I\_T1\_01**

**Exemple - la Ciotat**

Pour objectiver la situation de **La Ciotat** au 18 mars 2026, voici les indicateurs réels et générables que j'ai pu extraire. Ils permettent de mesurer la "part de voix" de l'institution face à la population.

### 1. Données de Base (Le Référentiel)

- **Population municipale (INSEE 2026) :** 38 477 habitants.
- **Nombre de foyers fiscaux :** ~27 878.
- **Maire :** Alexandre Doriol (réélu au 1er tour le 15 mars 2026 avec 57,33 % des voix).

### 2. Indicateurs de Visibilité Sociale (Valeurs réelles)

Voici l'état des compteurs officiels de la Ville de La Ciotat :

<table id="bkmrk-canal-social-nombre-"><thead><tr><td>**Canal Social**</td><td>**Nombre d'abonnés (approx. mars 2026)**</td></tr></thead><tbody><tr><td><span>**Facebook**</span></td><td><span>**23 500** abonnés</span></td></tr><tr><td><span>**Instagram**</span></td><td><span>**11 200** abonnés</span></td></tr><tr><td><span>**X (Twitter)**</span></td><td><span>**2 450** abonnés</span></td></tr><tr><td><span>**LinkedIn**</span></td><td><span>**3 100** abonnés</span></td></tr></tbody></table>

### 3. Calcul de l'Indicateur Alteris : Taux de Couverture Sociale (TCS)

Pour éviter les doublons (une personne suivant la ville sur plusieurs réseaux), on applique une méthode réaliste consistant à prendre le réseau principal (Facebook) et à ajouter 20% des autres réseaux.

> **Calcul :** <span class="math-inline">$23500 + 0,20 \\times (11200 + 2450 + 3100) = 26 850$</span> abonnés uniques estimés.
> 
> **TCS (Taux de Couverture Sociale) :** <span class="math-inline">$26 850 / 38 477 = \\mathbf{69,7\\%}$</span>

### 4. Analyse de l'Objectivation du Réel

- **Performance brute :** Avec près de 70% de couverture théorique, la Ville de La Ciotat dispose d'un canal de communication puissant. La parole institutionnelle est techniquement capable d'atteindre une grande majorité des foyers.
- **Le point de vigilance (Fragmentation) :** Le score élevé d'Alexandre Doriol aux élections (57%) montre une adhésion politique forte, mais le décalage entre les 70% de couverture sociale et les 55% de participation aux élections indique qu'une partie des "abonnés" consomme l'information de manière passive ou s'en détache au moment de l'action citoyenne.
- **Indicateur de fragmentation I\_T1\_01 :** Pour aller plus loin, il faudrait comparer ces **23 500 abonnés Facebook** au volume de membres des groupes privés type *"Tu sais que tu viens de La Ciotat quand..."*. Si ces groupes dépassent les 30 000 membres, cela prouve que la communication tierce est plus attractive que la communication officielle.

[![image.png](https://bookstack.juxjux.ovh/uploads/images/gallery/2026-04/scaled-1680-/Lw4image-png.png)](https://bookstack.juxjux.ovh/uploads/images/gallery/2026-04/scaled-1680-/Lw4image-png.png)