projects
mooringDesignSimulator v2
Application desktop Python/Qt pour concevoir des mouillages océanographiques statiques, exécuter des simulations, visualiser les résultats et générer des rapports PDF.
Statut: En cours de développement
Dépôt: privé
Documentation: Lien
Version: Téléchargement
Présentation
mooringDesignSimulator-v2 est une application desktop développée en Python et Qt pour concevoir des lignes de mouillage océanographiques statiques de sub-surface. Elle permet de gérer une bibliothèque de composants, de construire visuellement le mouillage, d’exécuter une simulation, de visualiser les résultats et de produire un rapport PDF.
Ce travail s’inscrit dans la continuité d’un outil développé au LOPS (Laboratoire d’Océanographie Physique et Spatiale) de l’Ifremer Brest, par un stagiaire d’école d’ingénieur, il y a quelques années, pour répondre à des besoins concrets de préparation de campagne, de vérification de configurations et de partage de résultats.
L’idée n’est pas seulement de dessiner une ligne de mouillage. Le logiciel sert aussi à préparer un projet de travail cohérent, à organiser les composants, à exécuter une simulation, à relire les résultats et à produire un rapport PDF exploitable par les équipes techniques chargées de préparer, fabriquer et assembler les éléments du mouillage avant expédition et déploiement.
Pourquoi reprendre cet outil
La précédente version du logiciel, développée en Python 2.x et Qt4, n’était plus maintenable et, quoique utilisable, présentait des bugs. Certaines fonctions demandées par les équipes techniques étaient aussi absentes.
Pour cette version 2.x, j’ai pris le parti de garder une interface utilisateur (UI) la plus proche possible de celle de la version 1, tout en réécrivant entièrement le code avec des techniques de programmation modernes et fiables.
Ce travail a consisté à consolider l’application autour d’une base plus robuste:
- un point d’entrée applicatif plus clair
- une persistance projet réelle avec une base de données relationnelle embarquée
- une interface de conception graphique améliorée
- une chaîne de simulation plus explicite
- une génération de rapport PDF mieux structurée
- une suite de tests pour vérifier les zones sensibles et rendre les évolutions plus robustes
- la mise en place d’une chaîne d’intégration continue (
Continuous Integration,CI) afin de vérifier à chaque modification du code source que les changements n’introduisent pas de régression dans l’application
Par rapport à l’ancien modèle de sauvegarde, cette approche permet de mieux structurer les projets, d’importer des mouillages créés avec la version 1 et d’ajouter des fonctionnalités demandées par les utilisateurs.
Ce que permet le logiciel
- charger une bibliothèque de composants océanographiques
- construire graphiquement une ligne de mouillage
- importer des fichiers de la version 1
- régler les propriétés des segments
- enregistrer et recharger les projets dans différents formats
- exécuter une simulation statique
- visualiser les résultats sous forme de tableaux et de graphiques
- produire un rapport PDF exploitable
Interface principale

Vue principale du logiciel avec l’espace de conception, la palette des composants et les commandes principales de travail.
Points techniques importants
La version actuelle repose sur une architecture plus claire et utilise des techniques de programmation fiables et éprouvées:
- interface desktop utilisateur en
PySide6 - persistance projet basée sur
SQLite, une base de données relationnelle - pipeline de simulation explicite: adaptation, prétraitement, solveur, restitution
- bibliothèque de composants gérée via un cache
SQLite - tests unitaires et tests d’intégration pour les zones les plus structurantes
Cette séparation est importante, car elle rend l’outil plus facile à maintenir et à faire évoluer.
Formats et circulation des données
Le format de travail principal est une base SQLite, généralement en *.mooring.sqlite3. L’application peut aussi importer ou exporter des instantanés JSON, mais le cœur du travail repose sur une persistance plus solide et mieux structurée.
Du côté simulation, le projet suit un enchaînement simple:
- lecture du projet
- adaptation vers les modèles de simulation
- prétraitement des données
- exécution du solveur statique
- restitution des résultats dans l’interface et dans le rapport PDF
Public visé
Le logiciel s’adresse aux personnes qui préparent ou conçoivent des mouillages océanographiques et qui ont besoin d’un outil visuel, reproductible et documenté pour travailler sur des configurations statiques.
Certaines améliorations apportées facilitent le travail de préparation des longueurs de câble en proposant les distances de marquage des instruments clampés sur les câbles.
Documentation et évolution
Le dépôt inclut:
- un
README.mdpour le développement et l’exécution - une documentation d’architecture en français et en anglais
- des notes sur les algorithmes de simulation
- des exemples et une bibliothèque de composants
- des workflows GitHub Actions pour exécuter les tests d’intégration à chaque modification du dépôt et générer des exécutables multiplateformes pour chaque nouvelle version (
release)
Documentation
Une documentation issue du wiki est également disponible sur ce site:
Liens
- Dépôt source: privé
- Documentation publique: Ouvrir la documentation
- Archives partagées: Accéder aux fichiers