Le contexte
Notre client nous a sollicité pour effectuer le portage de son application C++/Qt vers Windows. Son logiciel fonctionnait correctement sur son système d’origine mais il ne répondait plus aux critères de portabilité et de maintenabilité nécessaires pour des évolutions futures.
L’objectif du projet était d’intégrer un nouveau système de build, de mieux gérer les dépendances et adapter les pipelines d’intégration continue (CI) au nouvel environnement Windows.
Solutions
Des choix adaptés pour le portage : CMake, Conan et Jenkins
Le projet a été structuré en plusieurs étapes pour éviter les dysfonctionnements lors de la migration. Nous avons d’abord remplacé le système de build existant par CMake, une solution robuste et multiplateforme, afin de ne pas perturber la version Linux déjà en place.
Pour gérer les dépendances du projet, nous avons opté pour Conan, solution maîtrisée en interne et validée par le client. Concernant l’intégration continue, Jenkins était déjà en place chez le client. Nous avons donc étendu cette infrastructure pour inclure un build Windows et un installeur via CPack, facilitant le packaging et le déploiement sur différents environnements. Enfin, de nouvelles fonctionnalités ont été ajoutées, notamment un lecteur vidéo en streaming basé sur FFmpeg.
Des tests finaux ont été réalisés pour valider la qualité de l’application avant mise en production.
Résultats
Une migration réussie, une base solide pour l’avenir
Le logiciel fonctionne désormais sur Linux et Windows sans compromettre la stabilité ni les performances. Les pipelines CI sont efficaces et garantissent une intégration fluide des nouvelles versions.
Cette migration répond aux objectifs initiaux et garantit les évolutions futures, qu’il s’agisse d’ajouter de nouvelles fonctionnalités ou d’étendre la compatibilité à d’autres plateformes.