Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
ateliers:cpp_qt [2023/11/23 23:35] – [Prochain Atelier C++] sebastien.dinot | ateliers:cpp_qt [2025/01/27 14:39] (Version actuelle) – sebastien.dinot |
---|
====== 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 ! |
==== 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 1<sup>er</sup> février 2025 à 14 heures** une présentation sur le thème suivant : |
| |
=== Conteneurisez vos environnements de développement avec les devcontainers === | === Introduction à CMake === |
| |
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 ». | CMake est un système de configuration de la compilation de logiciels. Cet outil multiplateforme, qui adresse essentiellement les logiciels développés en C++, s'est considérablement enrichi au fil du temps. Cyril Jacquet nous en fera découvrir les principales facettes, en ponctuant notre cheminement d'exemples concrets. |
| |
Côté déploiement d’applications, ces problèmes de standardisation et d’isolation des environnements ont déjà trouvé leur solution : la conteneurisation avec, par 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. | Au programme : |
| |
Pour simplifier le processus, Microsoft 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. | * Introduction à CMake pour le C++ |
| * Base de la gestion des dépendances (find_package, linking et include) |
| * Gestion des dépendances via FetchContent |
| * Gestion des dépendances via VCPKG |
| * Génération de paquet via CPack |
| * CMake et Qt |
| |
D’autres IDE comme la suite JetBrains commencent à supporter ce standard, et 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. | === Pour qui ? === |
| |
Au cours de cet atelier, nous 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. | Cet événement s’adresse aux développeurs curieux, quel que soit leur niveau, à condition d’avoir quelques notions de C++. Apportez éventuellement un ordinateur portable pour pouvoir reproduire les exercices. |
| |
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. | === À propos de l’intervenant === |
| |
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. | Avec 15 ans d’expérience dans le domaine du développement logiciel, Cyril Jacquet a occupé de nombreux rôles chez des clients toulousains : ingénieur DevOps, développeur C++, Rust et Python et formateur. |
| |
**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. | Ayant conçu plusieurs architectures logicielles en s’inspirant de la Clean Architecture, Cyril partagera avec vous des exemples concrets et ses astuces pour tirer le meilleur de cette approche. |
| |
À propos de l’intervenant : | === Un rendez-vous régulier autour du C++ === |
| |
**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. | Les ateliers C++ de Toulibre se déroulent le premier samedi de chaque mois, au [[https://osm.org/go/xVYALNx23?m=|10 rue Tripière, à Toulouse]], dans les locaux du fablab [[https://artilect.fr/|Artilect]], que nous remercions chaleureusement pour son accueil. |
| |
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… | La présentation démarrera à 14 heures, mais les passionnés de C++ pourront nous rejoindre dès 12 heures pour échanger librement ou s’octroyer un temps dédié au développement de leur projet. |
| |
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. | |
| |
La présentation démarrera à 14 heures, mais les passionnés de C++ pourront nous rejoindre dès 12 heures pour échanger librement ou s’octroyer un temps dédié au développement de leur projet. | |
| |
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 ==== | |
| |
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 ==== |
| |
[[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> </html> | |
| |
<phpinc=inscription?eventid=2023-11-04-atelier-cpp-qt&limit=30¬ification=sebastien.dinot@free.fr> | |
| |