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/01 17:55] – [Espace d'échange] 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 4 novembre 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 :
  
-=== Création de modèle de projet C++ via Cookiecutter ===+=== Fonctions avancées de CMake : Presets, FetchContent et Unity Builds ===
  
-Un projet démarre toujours par une phase assez rébarbative qui est la création du squelette de sources. « À quelques détails près »on trouve toujours les mêmes répertoires et les mêmes fichiers dans ces squelettes. Le contenu initial des fichiers est lui aussi toujours similaire « à quelques détails près ». Tous ces détails finissent par nécessiter moult ajustements, pas compliqués, mais juste longs, pénibles et sans réelle valeur ajoutée. Les IDE (environnements de développement intégrés) peuvent nous décharger de ce fardeau en générant un squelette de projet. Mais cette génération et sa configuration sont sommaires, et c'est là qu'on se prend à rêver d'un outil qui nous pose les seules questions nécessaires et se charge de tout le reste.+Cet atelier se concentrera sur l’usage de CMake pour standardiserfaciliter et accélérer la compilation de vos projets C++.
  
-Cet outil existeil s'appelle CookiecutterDéveloppé à la base pour l'écosystème PythonCookiecutter se révèle d'une grande généricitéIl peut ainsi être utilisé pour instancier des squelettes de projets C++ à partir de modèles prédéfinis. C'est ce que nous allons découvrir lors de cet atelier qui alternera présentation et exercices pratiques (venez avec votre machine pour profiter pleinement de cet atelier !)+À l’aide des CMake Presetsnous verrons comment pré-définir et partager avec vos collaborateurs des jeux d’options de compilation, et comment intégrer ces profils de compilation votre IDE. 
 + 
 +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 externesNous 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. 
 + 
 +Enfin, nous 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. 
 + 
 +Ces trois fonctionnalités de CMake, Presets, FetchContent et Unity Builds, peuvent coexister dans un même projet, mais avec parfois des effets de bord dont il faut se méfier. Certaines de ces difficultés 
 +seront abordées pour vous aider à les éviter. 
 + 
 +À propos de l’intervenant : 
 + 
 +**Maxime Pigou** est tombé dans le développement étant petit mais n’en a pas fait le centre de ses études qui tournaient plutôt entre biologie, environnement et génie des procédés. 
 + 
 +Développeur autodidacte en Python/Rust/C++, il s’est spécialisé jusqu’à la fin de sa thèse en 2018 dans la redécouverte des « codes smells » et des « design antipatterns », et dans l’écriture de codes peu lisibles et réutilisables avant de réaliser qu’il y avait sans doute de meilleures manières de coder et de corriger le tir… 
 + 
 +Depuis, il a rejoint le CNRS dans le domaine du calcul scientifique hautes-performances et développe un cœur de calcul parallèle en C++ pour des applications biomédicales. 
 + 
 +Il organise fréquemment des formations ouvertes aux laboratoires de recherche toulousains pour aider à diffuser dans la communauté académique les pratiques issues du « Clean Code » et du « Software Craft ».
  
 Les ateliers C++ de Toulibre se déroulent le premier samedi de chaque mois dans les locaux du fablab Artilect, que nous remercions chaleureusement pour son accueil. Les ateliers C++ de Toulibre se déroulent le premier samedi de chaque mois dans les locaux du fablab Artilect, que nous remercions chaleureusement pour son accueil.
Ligne 29: 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 39: 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>