Stage Perl Webmin NTP / PTP Linux

Stage FEBUS OPTICS

Développement d'un module Webmin en Perl pour la configuration des protocoles de synchronisation temporelle NTP & PTP sur les systèmes Linux embarqués de l'entreprise.

2025 — 5 semaines
Présentiel — Pau, 64000
Secteur Fibre optique distribuée
Langage Perl — Outil Webmin

Contexte de l'entreprise

FEBUS OPTICS est une PME innovante fondée à Pau, spécialisée dans la conception et la commercialisation d'interrogateurs à fibre optique distribuée (DOFS — Distributed Optical Fiber Sensing). Ses équipements permettent de mesurer en temps réel des paramètres physiques (température, vibrations, déformations) sur des distances pouvant dépasser 50 km, grâce à l'analyse rétrodiffusion de la lumière dans la fibre.

Ses clients opèrent dans des secteurs critiques : énergie (pipelines, réseaux électriques), génie civil (barrages, tunnels), sécurité périmétrique et surveillance industrielle. La précision temporelle des acquisitions y est essentielle — d'où la nécessité de synchroniser rigoureusement les systèmes avec les protocoles NTP et PTP.

Le département informatique, à taille réduite, assure à la fois l'administration des serveurs Linux, le maintien du parc et le développement d'outils de gestion interne. Mon stage s'est inscrit dans cet environnement technique exigeant, axé sur la fiabilité et la précision.

Locaux FEBUS OPTICS
FEBUS OPTICS
FEBUS OPTICS
PME — Pau, Nouvelle-Aquitaine
SecteurInstrumentation optique
TechnologieDOFS / Fibre optique
MarchésÉnergie · Génie civil · Sécurité
OS systèmeLinux Debian
Durée5 semaines · 2025
PME Innovante Haute technicité

Les produits FEBUS OPTICS

FEBUS OPTICS conçoit une gamme d'interrogateurs à fibre optique distribuée (DOFS) permettant de surveiller des infrastructures critiques sur des dizaines de kilomètres. La précision temporelle des acquisitions — au cœur de ma mission — est indispensable à la fiabilité de ces équipements.

Mission & Problématique

"Les systèmes Linux embarqués de FEBUS OPTICS nécessitent une synchronisation temporelle précise pour garantir la cohérence des acquisitions DOFS. Comment concevoir une interface d'administration Webmin — développée en Perl — permettant de configurer, surveiller et gérer les protocoles NTP et PTP depuis un panneau web centralisé, sans accès à la ligne de commande ?"

Outils & Technologies

Perl
Perl
Langage de script utilisé pour développer le module Webmin — syntaxe CGI, manipulation de fichiers système et traitement de texte.
Webmin
Webmin
Interface d'administration web Linux. Les modules sont des scripts Perl CGI qui interagissent avec le système via l'API Webmin.
NTP — ntpd
Network Time Protocol. Synchronisation des horloges via le démon ntpd et configuration du fichier /etc/ntp.conf.
PTP — ptp4l
Precision Time Protocol (IEEE 1588). Synchronisation nanoseconde via ptp4l et phc2sys sur Linux.
Linux
Linux Debian
OS des systèmes embarqués FEBUS. Administration via terminal, gestion des services systemd, édition des fichiers de configuration.

Déroulement du stage

S1
Semaine 1
Prise en main & analyse de l'environnement
Découverte de l'entreprise et de son infrastructure Linux Debian. Analyse du fonctionnement des protocoles NTP et PTP, étude de la documentation Webmin et de l'API de création de modules. Installation et configuration d'un environnement de développement local.
Baie de brassage
Baie de brassage réseau
Switch Cisco
Switch Cisco — LAN
S2
Semaine 2
Architecture du module & maquette
Conception de l'architecture du module Webmin : structure des fichiers (module.info, index.cgi, lib.pl), définition des fonctionnalités (configuration serveurs NTP, état PTP, journaux). Réalisation d'une maquette de l'interface avant développement.
Maquette attendue du module — vue 1
Maquette manuscrite — configuration NTP
Maquette attendue du module — vue 2
Maquette manuscrite — configuration PTP
S3
Semaine 3
Développement du module NTP
Développement en Perl du sous-module NTP : lecture et écriture de /etc/ntp.conf, interface web de gestion des serveurs de temps, affichage du statut via ntpq, redémarrage du service via systemd depuis l'interface.
Module Webmin — configuration NTP
Module Webmin finalisé — interface de configuration NTP
S4
Semaine 4
Développement du module PTP
Extension du module au protocole PTP (IEEE 1588) : configuration de ptp4l et phc2sys, lecture du statut de synchronisation en temps réel, gestion des interfaces réseau PTP-compatibles et affichage des métriques d'offset.
Module Webmin — configuration PTP
Module Webmin finalisé — interface de configuration PTP
S5
Semaine 5
Vérification, déploiement & documentation utilisateur
Vérification du bon fonctionnement du module sur le système cible — que chaque bouton, chaque champ et chaque action produisent le résultat attendu. Déploiement du module sur le serveur Webmin. Rédaction d'une documentation utilisateur (prise en main, explication des champs, procédures) et du rapport de stage.

Rapport de stage

Rapport de Stage — FEBUS OPTICS
Annaëlle Champiau · BTS SIO SLAM · 2025 · PDF

Extraits du code

Captures des principales vues du module Webmin développé en Perl — formulaire de configuration, affichage du statut de synchronisation et gestion des conditions NTP/PTP.

Compétences BTS SIO validées

B2.1 Développement d'un module applicatif (Perl / Webmin)
B2.3 Gestion des services et fichiers de configuration Linux
A1.4 Conduite du projet en autonomie avec planning hebdomadaire
A1.5 Mise à disposition du module, documentation utilisateur
A1.1 Gestion du patrimoine informatique et des serveurs Linux
C3.3 Sécurisation de l'interface Webmin (HTTPS, droits utilisateur)
Stage précédent
Voir les compétences
Stage suivant
ARGITIK