Groupe d'utilisateurs de Logiciels Libres de Toulouse
Promouvoir, développer et démocratiser les Logiciels Libres en Midi-Pyrénées

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
ateliers:cpp_qt [2023/11/23 23:35] – [Prochain Atelier C++] sebastien.dinotateliers:cpp_qt [2024/05/01 22:12] (Version actuelle) sebastien.dinot
Ligne 1: Ligne 1:
 ====== Ateliers C++ / Qt ====== ====== Ateliers C++ / Qt ======
- 
-<html> 
-<div style="float: right; margin: 30px;"> 
-<img src="https://isocpp.org/assets/images/cpp_logo.png" alt="Logo Standard C++" height=100/> 
-<img src="https://wiki.qt.io/skins/common/images/wiki.png" alt="Logo Qt" height=100/> 
-</div> 
-</html> 
  
 Si vous aimez le C++ et/ou le framework Qt, si vous souhaitez échanger avec des passionnés, améliorer vos pratiques, découvrir de nouvelles techniques ou de nouveaux outils, les ateliers C++ et Qt sont faits pour vous ! Si vous aimez le C++ et/ou le framework Qt, si vous souhaitez échanger avec des passionnés, améliorer vos pratiques, découvrir de nouvelles techniques ou de nouveaux outils, les ateliers C++ et Qt sont faits pour vous !
Ligne 16: Ligne 9:
 ==== Prochain Atelier C++ ==== ==== Prochain Atelier C++ ====
  
-Dans le cadre des ateliers C++ de Toulibre, nous vous proposons le **samedi 2 décembre 2023 à 14 heures** une présentation sur le thème suivant :+Dans le cadre des ateliers C++ de Toulibre, nous vous proposons le **samedi 4 mai 2024 à 14 heures** une présentation sur le thème suivant :
  
-=== Conteneurisez vos environnements de développement avec les devcontainers ===+=== Fonctions avancées de CMake : Presets, FetchContent et Unity Builds ===
  
-Dès que l’on démarre un projet, que l’on en rejoint un, ou que l’on change de machine de travail, il y a toujours cette première phase un peu fastidieuse de mise en place des environnements de développement : installation des dépendances, des compilateurs, définition de variables d’environnement… Si l’on n’est pas prudent, on peut vite croiser ces dépendances entre plusieurs projets, casser les builds, et passer plus de temps que prévu pour que la compilation et l’exécution des tests « tombent en marche ».+Cet atelier se concentrera sur l’usage de CMake pour standardiserfaciliter et accélérer la compilation de vos projets C++.
  
-Côté déploiement dapplicationsces problèmes de standardisation et d’isolation des environnements ont déjà trouvé leur solution : la conteneurisation avecpar exemple, Docker. Alors pourquoi ne pas utiliser le même remède pour les mêmes problèmes mais côté développeurs ? Dans le principe, l’idée est simple : définissez une image Docker contenant tous les outils nécessaires à vos développements, démarrez-la, copiez-y vos sources puis connectez-y votre IDE. Dans la mise en œuvre, faire ça manuellement peut vite être lourd.+À laide des CMake Presetsnous verrons comment pré-définir et partager avec vos collaborateurs des jeux d’options de compilationet comment intégrer ces profils de compilation votre IDE.
  
-Pour simplifier le processusMicrosoft a standardisé ces dernières années les « devcontainers » pour automatiser la création et l’utilisation de ces environnements de développement conteneurisés avec VSCode.+Pour simplifier la gestion de certaines dépendancesnous verrons comment la fonctionnalité FetchContent de CMake, et sa surcouche CMake Package Manager (CPM), vous permettent de récupérer et intégrer à vos compilations les sources de projets externes. Nous verrons en particulier comment rendre cette approche « opt-in » ou « opt-out » si vous souhaitez laisser vos utilisateurs gérer par eux mêmes les dépendances sans dépendre de FetchContent.
  
-D’autres IDE comme la suite JetBrains commencent à supporter ce standardet une CLI devcontainer est également disponible pour facilement démarrer le devcontainer associé à un projet, libre à vous d’y connecter ensuite tout IDE (libre !) supportant les environnements Docker.+Enfinnous verrons comment bénéficier des Unity Builds qui permettent d’accélérer fortement la compilation de gros projets C++ en attendant que les modules soient utilisables en production.
  
-Au cours de cet ateliernous verrons comment VSCode permet de définir simplement le fichier « devcontainer.json » qui est au cœur du standard pour ajouter et partager des environnements de développement conteneurisés à vos projets. +Ces trois fonctionnalités de CMakePresets, FetchContent et Unity Builds, peuvent coexister dans un même projet, mais avec parfois des effets de bord dont il faut se méfierCertaines de ces difficultés 
- +seront abordées pour vous aider à les éviter.
-Nous verrons les options proposées de personnalisation de l’environnement (extensions recommandées de l’IDE, script de démarrage…) et la simplicité avec laquelle il est possible de charger cet environnement par simple clone de la base git associée. +
- +
-Dans une phase plus exploratoire de l’atelier, nous pourrons tenter d’utiliser l’outillage des devcontainers et en particulier la CLI pour bénéficier de ces environnements dans des IDE libres et libérateurs comme VSCodium ou GNU Emacs. +
- +
-**Pour profiter pleinement de l’atelier, venez avec votre machine où vous aurez pré-installé Docker et VSCode** (et non pas VSCodium malheureusement…). Vous pouvez également pré-installer [[https://github.com/devcontainers/cli|devcontainer/cli]] pour la seconde partie de l’atelier où nous tenterons de coupler les devcontainers avec d’autres IDE.+
  
 À propos de l’intervenant : À propos de l’intervenant :
Ligne 51: Ligne 39:
  
 La participation est gratuite et ouverte. N’hésitez pas à entrer et à découvrir le lieu. :) La participation est gratuite et ouverte. N’hésitez pas à entrer et à découvrir le lieu. :)
 +
 ==== Informations Complémentaires ==== ==== Informations Complémentaires ====
  
 Les ateliers se dérouleront dans les locaux du fablab [[https://artilect.fr/|Artilect]] dans le centre de Toulouse, [[https://osm.org/go/xVYALNx6U-?m=|10 rue Tripière]]. Les ateliers se dérouleront dans les locaux du fablab [[https://artilect.fr/|Artilect]] dans le centre de Toulouse, [[https://osm.org/go/xVYALNx6U-?m=|10 rue Tripière]].
- 
  
 ==== Espace d'échange ==== ==== Espace d'échange ====
Ligne 61: Ligne 49:
  
 [[https://framateam.org/ateliers-cpp-toulibre]] [[https://framateam.org/ateliers-cpp-toulibre]]
- 
-L'inscription aux ateliers n'est pas obligatoire, mais souhaitée. Vous pouvez vous inscrire ci-dessous ou sur la plateforme Meetup ([[https://www.meetup.com/fr-FR/ateliers-cpp-toulouse/|groupe C++ Toulouse]]). 
- 
-<html>&nbsp;</html> 
- 
-<phpinc=inscription?eventid=2023-11-04-atelier-cpp-qt&limit=30&notification=sebastien.dinot@free.fr>