DATE

01/04/2026

Déploiement d'un système de vidéosurveillance automatisé

Mise en place d'une infrastructure de vidéosurveillance UniFi avec segmentation réseau (VLAN) et configuration d'un PC borne automatisé via PowerShell pour le Ciap de Fougères.

Sécurité

Caméras

Service

Mairie de Fougères — CIAP (Château)

Contexte

Caméras Bullet UniFi, NVR UniFi, Switch Huawei, PC Dell

Statut

Déployé en production

Ultra Watch

Contexte et problématique :

Le CIAP (Centre d'Interprétation de l'Architecture et du Patrimoine) du Château de Fougères avait besoin d'un système de vidéosurveillance autonome et sécurisé. L'enjeu principal était de mettre à disposition un PC borne dédié permettant au personnel d'accéder uniquement aux flux caméras de leur bâtiment, sans aucune intervention technique après démarrage, tout en étant isolé sur un réseau séparé des autres services de la mairie.

Infrastructure et Choix Techniques

  • Isolement Réseau : Création d'un VLAN dédié spécifiquement aux caméras sur les switchs Huawei pour séparer le flux vidéo du trafic administratif.

  • Démarrage Matériel : Configuration de l'option Auto-On dans le BIOS du PC Dell pour forcer l'allumage automatique de la machine à une heure précise chaque matin.


  • Sécurisation Windows : Le PC n'est pas géré par un vrai mode Kiosque MDM complexe, mais par une solution sur-mesure : un compte Windows standard nommé "Borne", sans mot de passe, avec des droits strictement limités.

  • Pour sécuriser l'accès aux images, j'ai créé un profil utilisateur restreint dans UniFi Protect (Role-Based Access Control). Ce compte possède des droits en "Vue seule", pointant directement vers l'URL de la "Live View", empêchant ainsi toute modification des paramètres ou consultation des archives vidéo par un utilisateur non autorisé.

Ultra Watch
Ultra Watch Zoom Shot

Configuration du PC Borne (Automatisation)

Pour répondre au besoin d'autonomie totale sans intervention humaine :

  • Paramétrage du BIOS pour un démarrage automatique dès la mise sous tension.


  • Création d'un compte Windows "Borne" en mode utilisateur standard restreint (sans mot de passe).


  • Développement d'un script PowerShell (WScript.Shell) placé dans le dossier shell:startup.


  • Action du script : Au démarrage de la session, il ouvre Chrome en mode Kiosque (--kiosk), contourne automatiquement l'avertissement de certificat SSL, saisit les identifiants UniFi et affiche instantanément les flux caméras en plein écran.

Développement du Script d'Automatisation

Fonctionnement : Placé dans le dossier shell:startup, le script lance Google Chrome en mode plein écran (--kiosk). Il effectue ensuite des pauses chronométrées (Start-Sleep) pour laisser la page charger, puis simule informatiquement les pressions sur la touche {TAB} et {ENTER} pour passer l'alerte de sécurité SSL, avant de taper automatiquement les identifiants et de valider.


PowerShell :

$wshell = New-Object -com WScript.Shell
# --- CONFIGURATION ---
$URL_UNIFI = "https://TON_IP_OU_URL_UNIFI" 
$USER_RESTREINT = "nom_du_compte_camera"
$MDP_RESTREINT = "mot_de_passe_du_compte"
# --- FONCTION DE CONNEXION ---
function LoginUniFi {
    # 1. Attente de l'écran "Votre connexion n'est pas privée"
    Start-Sleep 8 
    # 2. Cliquer sur le bouton "Paramètres avancés"
    # Généralement, 2 ou 3 TAB suffisent pour atteindre le bouton
    $wshell.sendkeys("{TAB}")
    Start-Sleep 1
    $wshell.sendkeys("{TAB}")
    Start-Sleep 1
    $wshell.sendkeys("{ENTER}") # Valide "Avancé"
    Start-Sleep 2
    # 3. Cliquer sur "Continuer vers le site (non sécurisé)"
    # On fait encore un TAB pour aller sur le lien de confirmation
    $wshell.sendkeys("{TAB}")
    Start-Sleep 1
    $wshell.sendkeys("{ENTER}") # Valide le passage force
    # 4. Attente du chargement de la vraie page de login
    Start-Sleep 8  
    # 5. Saisie des identifiants (comme avant)
    $wshell.sendkeys($USER_RESTREINT)
    $wshell.sendkeys("{TAB}")
    $wshell.sendkeys($MDP_RESTREINT)
    $wshell.sendkeys("{ENTER}")
}
# --- EXÉCUTION ---
Start-Process chrome.exe "--kiosk $URL_UNIFI"
LoginUniFi
$wshell = New-Object -com WScript.Shell
# --- CONFIGURATION ---
$URL_UNIFI = "https://TON_IP_OU_URL_UNIFI" 
$USER_RESTREINT = "nom_du_compte_camera"
$MDP_RESTREINT = "mot_de_passe_du_compte"
# --- FONCTION DE CONNEXION ---
function LoginUniFi {
    # 1. Attente de l'écran "Votre connexion n'est pas privée"
    Start-Sleep 8 
    # 2. Cliquer sur le bouton "Paramètres avancés"
    # Généralement, 2 ou 3 TAB suffisent pour atteindre le bouton
    $wshell.sendkeys("{TAB}")
    Start-Sleep 1
    $wshell.sendkeys("{TAB}")
    Start-Sleep 1
    $wshell.sendkeys("{ENTER}") # Valide "Avancé"
    Start-Sleep 2
    # 3. Cliquer sur "Continuer vers le site (non sécurisé)"
    # On fait encore un TAB pour aller sur le lien de confirmation
    $wshell.sendkeys("{TAB}")
    Start-Sleep 1
    $wshell.sendkeys("{ENTER}") # Valide le passage force
    # 4. Attente du chargement de la vraie page de login
    Start-Sleep 8  
    # 5. Saisie des identifiants (comme avant)
    $wshell.sendkeys($USER_RESTREINT)
    $wshell.sendkeys("{TAB}")
    $wshell.sendkeys($MDP_RESTREINT)
    $wshell.sendkeys("{ENTER}")
}
# --- EXÉCUTION ---
Start-Process chrome.exe "--kiosk $URL_UNIFI"
LoginUniFi
$wshell = New-Object -com WScript.Shell
# --- CONFIGURATION ---
$URL_UNIFI = "https://TON_IP_OU_URL_UNIFI" 
$USER_RESTREINT = "nom_du_compte_camera"
$MDP_RESTREINT = "mot_de_passe_du_compte"
# --- FONCTION DE CONNEXION ---
function LoginUniFi {
    # 1. Attente de l'écran "Votre connexion n'est pas privée"
    Start-Sleep 8 
    # 2. Cliquer sur le bouton "Paramètres avancés"
    # Généralement, 2 ou 3 TAB suffisent pour atteindre le bouton
    $wshell.sendkeys("{TAB}")
    Start-Sleep 1
    $wshell.sendkeys("{TAB}")
    Start-Sleep 1
    $wshell.sendkeys("{ENTER}") # Valide "Avancé"
    Start-Sleep 2
    # 3. Cliquer sur "Continuer vers le site (non sécurisé)"
    # On fait encore un TAB pour aller sur le lien de confirmation
    $wshell.sendkeys("{TAB}")
    Start-Sleep 1
    $wshell.sendkeys("{ENTER}") # Valide le passage force
    # 4. Attente du chargement de la vraie page de login
    Start-Sleep 8  
    # 5. Saisie des identifiants (comme avant)
    $wshell.sendkeys($USER_RESTREINT)
    $wshell.sendkeys("{TAB}")
    $wshell.sendkeys($MDP_RESTREINT)
    $wshell.sendkeys("{ENTER}")
}
# --- EXÉCUTION ---
Start-Process chrome.exe "--kiosk $URL_UNIFI"
LoginUniFi
$wshell = New-Object -com WScript.Shell
# --- CONFIGURATION ---
$URL_UNIFI = "https://TON_IP_OU_URL_UNIFI" 
$USER_RESTREINT = "nom_du_compte_camera"
$MDP_RESTREINT = "mot_de_passe_du_compte"
# --- FONCTION DE CONNEXION ---
function LoginUniFi {
    # 1. Attente de l'écran "Votre connexion n'est pas privée"
    Start-Sleep 8 
    # 2. Cliquer sur le bouton "Paramètres avancés"
    # Généralement, 2 ou 3 TAB suffisent pour atteindre le bouton
    $wshell.sendkeys("{TAB}")
    Start-Sleep 1
    $wshell.sendkeys("{TAB}")
    Start-Sleep 1
    $wshell.sendkeys("{ENTER}") # Valide "Avancé"
    Start-Sleep 2
    # 3. Cliquer sur "Continuer vers le site (non sécurisé)"
    # On fait encore un TAB pour aller sur le lien de confirmation
    $wshell.sendkeys("{TAB}")
    Start-Sleep 1
    $wshell.sendkeys("{ENTER}") # Valide le passage force
    # 4. Attente du chargement de la vraie page de login
    Start-Sleep 8  
    # 5. Saisie des identifiants (comme avant)
    $wshell.sendkeys($USER_RESTREINT)
    $wshell.sendkeys("{TAB}")
    $wshell.sendkeys($MDP_RESTREINT)
    $wshell.sendkeys("{ENTER}")
}
# --- EXÉCUTION ---
Start-Process chrome.exe "--kiosk $URL_UNIFI"
LoginUniFi
Watch Pro

Compétence acquise

Gérer le patrimoine informatique :

Recenser et identifier les ressources numériques — recensement et adoption des caméras dans UniFi Protect ✅ Mettre en place et vérifier les niveaux d'habilitation associés à un service — RBAC UniFi + compte Windows restreint ✅ Vérifier les conditions de la continuité d'un service informatique — démarrage automatique garanti via script au startup

Répondre aux incidents et demandes :

Collecter, suivre et orienter des demandes — réponse à la demande du CIAP ✅ Traiter des demandes concernant les services réseau et système — configuration VLAN, switch Huawei, réseau caméras

Travailler en mode projet :

Analyser les objectifs et les modalités d'organisation d'un projet — analyse du besoin du CIAP ✅ Planifier les activités — coordination avec électriciens → réseau → adoption → script → tests ✅ Évaluer les indicateurs de suivi d'un projet — tests de déclenchement automatique et d'accès restreint validés

Mettre à disposition des utilisateurs un service informatique :

Déployer un service — déploiement complet du système de vidéosurveillance ✅ Réaliser les tests d'intégration et d'acceptation d'un service — tests du script, des accès RBAC et du démarrage automatique ✅ Accompagner les utilisateurs dans la mise en place d'un service — mise à disposition du PC borne clé en main pour le personnel du CIAP

Create a free website with Framer, the website builder loved by startups, designers and agencies.