<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Projects and thoughts</title><link>http://renaudguezennec.eu/posts/</link><description>Recent content in Posts on Projects and thoughts</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 10 Oct 2026 13:00:00 +0000</lastBuildDate><atom:link href="http://renaudguezennec.eu/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>QML Quick Editor: my QtCreator extension has been integrated</title><link>http://renaudguezennec.eu/posts/release_qmlsample/</link><pubDate>Sat, 10 Oct 2026 13:00:00 +0000</pubDate><guid>http://renaudguezennec.eu/posts/release_qmlsample/</guid><description>&lt;p&gt;&lt;img src="http://renaudguezennec.eu/backup/2025/08/1575110118823-620x413.png" alt="intro"&gt;&lt;/p&gt;&#10;&lt;p&gt;Great news for the community! The integration of QML Quick Editor into Qt Creator is now 100% complete. The plugin is officially available, bringing native workflow integration directly to your development environment. Give it a try, and let us know what you think!&lt;/p&gt;&#10;&lt;h2 id="features"&gt;Features:&lt;/h2&gt;&#10;&lt;p&gt;Designed as an all-in-one QML code editor, this extension allows you to quickly prototype and test QML snippets without the overhead of creating a full project. Simply edit your code and preview the visual output instantly inside Qt Creator—speeding up your UI experimentation and debugging workflow.&lt;/p&gt;</description></item><item><title>Rolisteam v1.10 is out!</title><link>http://renaudguezennec.eu/posts/rolisteam-v1-10-is-out/</link><pubDate>Sat, 29 Aug 2026 08:00:00 -0700</pubDate><guid>http://renaudguezennec.eu/posts/rolisteam-v1-10-is-out/</guid><description>&lt;p&gt;&lt;img src="http://renaudguezennec.eu/wp-content/uploads/2026/07/youtube_banner_small-620x348.png" alt=""&gt;&lt;/p&gt;&#10;&lt;h1 id="rolisteam-v110-is-out"&gt;Rolisteam v1.10 is out!&lt;/h1&gt;&#10;&lt;!-- .entry-header --&gt;&#10;&lt;p&gt;After a long development cycle, we are thrilled to announce the official release of &lt;strong&gt;Rolisteam v1.10&lt;/strong&gt;. This version brings a wave of brand-new tools for Game Masters, a major technical overhaul of the whole project, and a much healthier codebase for the years to come.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Download it now:&lt;/strong&gt; &lt;a href="https://rolisteam.org/02_download/"&gt;https://rolisteam.org/02_download/&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="whats-new"&gt;What’s new&lt;/h2&gt;&#10;&lt;h3 id="mind-maps"&gt;Mind maps&lt;/h3&gt;&#10;&lt;p&gt;Rolisteam now embeds a full mind-map editor, letting you sketch out plots, NPC relationships, or campaign notes visually, right next to your other campaign tools.&lt;/p&gt;</description></item><item><title>Convertir toutes les images en niveaux de gris</title><link>http://renaudguezennec.eu/posts/niveau_gris/</link><pubDate>Sat, 29 Aug 2020 08:00:00 -0700</pubDate><guid>http://renaudguezennec.eu/posts/niveau_gris/</guid><description>&lt;p&gt;Bonjour,&lt;/p&gt;&#10;&lt;p&gt;Une petite commande pour créer des copies en niveaux de gris des images png du dossier courant.&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;for i in *.png; do name=`echo $i | awk -F &amp;#39;.&amp;#39; &amp;#39;{print $1}&amp;#39;`; convert $i -colorspace Gray $name-gray.png; done&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Les copies portent le même nom que l’original avec le suffixe -gray.&lt;br&gt;&#10;Cela peut facilement être adapté pour des jpg ou autres formats d’images.&lt;/p&gt;</description></item><item><title>Pas Sage En Seine</title><link>http://renaudguezennec.eu/posts/pses2017/</link><pubDate>Sat, 12 Aug 2017 08:00:00 -0700</pubDate><guid>http://renaudguezennec.eu/posts/pses2017/</guid><description>&lt;h1 id="atelier-qmlà-pas-sageen-seine-2017"&gt;Atelier QML à Pas Sage En Seine 2017&lt;/h1&gt;&#10;&lt;p&gt;Bonjour,&lt;/p&gt;&#10;&lt;p&gt;J’ai organisé un atelier à &lt;a href="https://passageenseine.fr/"&gt;Pas Sage En Seine&lt;/a&gt; en juin 2017.&lt;br&gt;&#10;J’ai enfin le temps de m’occuper de mettre en ligne les éléments de formation.&lt;br&gt;&#10;Je mets à disposition les supports de cet atelier.&lt;br&gt;&#10;Il y a une présentation PDF et un projet regroupant les exercices et les solutions.&lt;/p&gt;&#10;&lt;p&gt;La présentation est en réalité une application QML. Son code est disponible ici: &lt;a href="https://github.com/obiwankennedy/Learn-Qt"&gt;https://github.com/obiwankennedy/Learn-Qt&lt;/a&gt;&lt;br&gt;&#10;Cela constitue en soit un bon exercice que d’arriver à la lancer sur votre ordinateur.&lt;/p&gt;</description></item><item><title>rand() moi un entier !</title><link>http://renaudguezennec.eu/posts/rand-moi-un-entier/</link><pubDate>Mon, 29 Aug 2016 08:00:00 -0700</pubDate><guid>http://renaudguezennec.eu/posts/rand-moi-un-entier/</guid><description>&lt;p&gt;&lt;img src="http://renaudguezennec.eu/backup/2016/12/java-random-integer-in-range-620x372.jpg" alt=""&gt;&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;Cet article est une synthèse de plusieurs conférences, de la documentation C++ et de mon expérience sur la génération de nombre aléatoire en C++.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="mon-besoin"&gt;Mon besoin&lt;/h2&gt;&#10;&lt;p&gt;Je suis le développeur de Rolisteam. Un logiciel pour faire du jeu de rôle en ligne. Il intègre une solution badass (oui, je m’envoie des fleurs) de lancer de dés. J’ai passé beaucoup de temps entre juillet 2014 et février 2015 pour produire un langage de script interprété de lancement de commandes de dés. Vous pouvez y jeter un œil sur ce lien: &lt;a href="https://github.com/Rolisteam/DiceParser"&gt;DiceParser&lt;/a&gt;. Bref, j’ai crée tout un système pour lancer les dés et faire des opérations sur les résultats: tri, relance, filtre, explosion, arithmétique, gestion des priorités mathématiques et il est même capable de générer l’arbre d’exécution avec dot.&lt;/p&gt;</description></item><item><title>Mettre en ligne ses parties !</title><link>http://renaudguezennec.eu/posts/mettre-en-ligne-ces-parties/</link><pubDate>Sat, 29 Aug 2015 08:00:00 -0700</pubDate><guid>http://renaudguezennec.eu/posts/mettre-en-ligne-ces-parties/</guid><description>&lt;p&gt;&lt;a href="http://renaudguezennec.eu/wp-content/uploads/2017/04/dj-923468_1280-620x412.jpg"&gt;http://renaudguezennec.eu/wp-content/uploads/2017/04/dj-923468_1280-620x412.jpg&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Je suis venu vous conter une histoire. Cette histoire est issue d’un désir coupable de frimer un peu.&lt;br&gt;&#10;Non, je n’ai pas réussi à faire quelque chose d’exceptionnel ou d’impossible comme inventer une ampoule qui dure 10 fois plus longtemps que toutes les autres.&lt;br&gt;&#10;Je souhaite juste montrer comment GNU/Linux, le système D et la philosophie OpenSource/libre/DIY peuvent permettre d’automatiser un processus de production vidéo.&lt;/p&gt;&#10;&lt;h2 id="contexte"&gt;Contexte:&lt;/h2&gt;&#10;&lt;p&gt;Je suis développeur de Rolisteam. J’avais besoin de faire un peu la promotion du logiciel. De plus, en tant que maître de jeu, j’avais envie de garder une trace de ma campagne, histoire&lt;br&gt;&#10;d’en faire profiter d’autres gens.&lt;br&gt;&#10;L’enregistrement des parties en vidéo et audio nous a semblé la meilleure solution pour atteindre ces objectifs.&lt;/p&gt;</description></item><item><title>Montage Video avec Python</title><link>http://renaudguezennec.eu/posts/montage-video-en-python/</link><pubDate>Sat, 29 Aug 2015 08:00:00 -0700</pubDate><guid>http://renaudguezennec.eu/posts/montage-video-en-python/</guid><description>&lt;h1 id="montage-vidéo-en-python"&gt;Montage Vidéo en python&lt;/h1&gt;&#10;&lt;p&gt;&lt;img src="images/2017/03/Python_regius_on_a_branch-620x412.jpg" alt="python"&gt;&lt;/p&gt;&#10;&lt;h2 id="mon-besoin"&gt;Mon besoin&lt;/h2&gt;&#10;&lt;p&gt;Dans le cadre de la promotion de Rolisteam, je diffuse en ligne des enregistrements de parties.&lt;br&gt;&#10;Ces enregistrements nécessitent différents traitement afin d’être rendu plus audibles et intéressants.&lt;br&gt;&#10;Les taches à réaliser sont les suivantes:&lt;/p&gt;&#10;&lt;p&gt;1 – Associer la piste audio et la piste vidéo&lt;br&gt;&#10;2 – Ajouter le générique de début et de fin.&lt;br&gt;&#10;3 – Couper la vidéo en fonction des silences&lt;br&gt;&#10;4 – Améliorer le son (le compresser/normaliser)&lt;/p&gt;</description></item><item><title>Créer un WebService en C++ avec Qt</title><link>http://renaudguezennec.eu/posts/webservice_in_qt/</link><pubDate>Tue, 12 Aug 2014 08:00:00 -0700</pubDate><guid>http://renaudguezennec.eu/posts/webservice_in_qt/</guid><description>&lt;p&gt;Un petit article pour évoquer la possibilité de faire un webservice, en C++/Qt.&lt;/p&gt;&#10;&lt;p&gt;Mon besoin est simple, je veux fournir une interface web pour réaliser des lancer de dés avec le système de lancement de dés &lt;strong&gt;DiceParser&lt;/strong&gt;, issu de &lt;strong&gt;Rolisteam&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;DiceParser&lt;/strong&gt; est écrit en C++ avec Qt5. A partir de ce constat, je pouvais soit faire un serveur web en C++, soit faire un site web en python/php/whatever pour lancer une commande système et utiliser dice, le client en ligne de commande de &lt;strong&gt;DiceParser&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Utiliser Dbus avec Qt4</title><link>http://renaudguezennec.eu/posts/dbus_qt/</link><pubDate>Thu, 12 Aug 2010 08:00:00 -0700</pubDate><guid>http://renaudguezennec.eu/posts/dbus_qt/</guid><description>&lt;h1 id="introduction-à-dbus-avec-qt4"&gt;Introduction à Dbus avec Qt4&lt;/h1&gt;&#10;&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;[Dbus] est un système de communication inter-application. Il est fondé sur un systeme d&amp;rsquo;annuaire. Les applications s&amp;rsquo;enregistrent au près de l&amp;rsquo;annuaire. L&amp;rsquo;annuaire sait alors les fonctionnalités propoposer par le nouvel arrivant.&lt;br&gt;&#10;Ce tutorial vous donnera les bases pour utiliser Dbus dans vos applications Qt4.&lt;/p&gt;&#10;&lt;h2 id="table-des-matières"&gt;Table des matières&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="#module"&gt;Dbus&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#compile"&gt;Dbus dans Qt4&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#outils"&gt;Monitorer Dbus&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#pidgin"&gt;Connexion à un service: Pidgin&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#inter"&gt;Dbus et signal/slots de Qt4&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#FAQ"&gt;Foire Aux Questions&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#conclusion"&gt;Conclusion&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="#moreinfo"&gt;Plus d&amp;rsquo;information&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="dbus"&gt;Dbus&lt;/h2&gt;&#10;&lt;p&gt;Dbus est un bus système de messagerie. C&amp;rsquo;est un moyen simple pour des applications de communiquer entre elles. En plus de la communication interprocessus, Dbus est aussi un outil aidant au cycle de vie du processus. Il peut vous permettre de n&amp;rsquo;autoriser qu&amp;rsquo;une seule instance de votre application ou de votre daemon. Il peut vous permettre de démarrer votre application ou daemon à la demande quand elles sont nécessaires. Il est possible d&amp;rsquo;établir deux types de connexions: point à point ou point d&amp;rsquo;accès (daemon central). Grâce au daemon, vos applications peuvent être prévenues du branchement d&amp;rsquo;un nouvel composant matériel. Le bus de session (un par utilisateur connecté) est le canal générique de communication. Dbus est destiné à la communication entre application d&amp;rsquo;un même ordinateur. Il est cependant possible de communiquer par TCP/IP crypté avec un dossier home partagé par NFS. Ce genre d&amp;rsquo;usage reste rare et expérimental.&lt;br&gt;&#10;&lt;br&gt;&#10;&lt;br&gt;&#10;&lt;br&gt;&#10;Il est possible d&amp;rsquo;utiliser Dbus dans de nombreux langages: C/C++, python, ruby, perl, java, C#. Je vais me concenter sur l&amp;rsquo;implémentation de Dbus dans Qt4, dans cet article.&lt;/p&gt;</description></item><item><title>Comment utiliser id3lib dans vos applications</title><link>http://renaudguezennec.eu/posts/id3lib/</link><pubDate>Fri, 29 Aug 2008 08:00:00 -0700</pubDate><guid>http://renaudguezennec.eu/posts/id3lib/</guid><description>&lt;h1 id="utiliser-id3lib-dans-vos-applications"&gt;Utiliser Id3lib dans vos applications&lt;/h1&gt;&#10;&lt;p&gt;&lt;a href="http://renaudguezennec.eu/index,1,3.html"&gt;Renaud GUEZENNEC&lt;/a&gt;&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;&lt;strong&gt;Historique&lt;/strong&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Révision 0.1&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;01/07/2008&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;RG&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Première version de ce tutorial&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="http://id3lib.sourceforge.net/"&gt;Id3lib&lt;/a&gt; est une bibliothèque open-source écrite en C++ qui permet la lecture, l&amp;rsquo;écriture et la manipulation de Tags (étiquettes) de fichiers sons (principalement Mp3).&lt;br&gt;&#10;Ce tutorial a pour but de montrer une méthode pour lire,écrire des tags dans un fichier mp3. Avant de suivre ce tutorial, je vous conseille la lecture de cet article &lt;a href="http://fr.wikipedia.org/wiki/ID3"&gt;Wikipédia ID3&lt;/a&gt;&lt;/p&gt;</description></item><item><title>JFreeChart dans vos applications Java</title><link>http://renaudguezennec.eu/posts/jfreechart-dans-vos-applications-java/</link><pubDate>Wed, 29 Aug 2007 08:00:00 -0700</pubDate><guid>http://renaudguezennec.eu/posts/jfreechart-dans-vos-applications-java/</guid><description>&lt;!-- .entry-header --&gt;&#10;&lt;p&gt;Bonjour, ce petit tutorial va tenter de vous expliquer comment faire de jolie diagramme dans une application JAVA/Swing.&lt;br&gt;&#10;Il est souvent agréable de montrer à ses utilisateurs un diagramme, un camembert ou bien un histogramme, plutôt qu’un gros tableau plein de chiffres. Il existe de nombreuses méthodes pour créer ce genre de graphique. Je vais vous présenter une méthode utilisant JFreeChart. JFreeChart est une bibliothèque java libre (malheuresement la documentation est payante). Elle est assez sexy et facile à utiliser.&lt;/p&gt;</description></item><item><title>Distribuer une application Qt</title><link>http://renaudguezennec.eu/posts/distribuer-une-application-qt/</link><pubDate>Tue, 29 Aug 2006 08:00:00 -0700</pubDate><guid>http://renaudguezennec.eu/posts/distribuer-une-application-qt/</guid><description>&lt;h2 id="distribuer-une-application-qt"&gt;Distribuer une application Qt&lt;/h2&gt;&#10;&lt;p&gt;Bonjour,&lt;/p&gt;&#10;&lt;p&gt;Si vous suivez ce blog, vous savez que je suis développeur C++/Qt et que je contribue beaucoup à Rolisteam (&lt;a href="http://www.rolisteam.org"&gt;www.rolisteam.org&lt;/a&gt;). C’est un logiciel libre pour faire du jeu de rôle. Il vise un public assez large. Il est donc multi-plateforme. Il fonctionne sous GNU/Linux, windows et Mac Os. Je suis un linuxien convaincu mais je développe sur les autres systèmes pour Rolisteam.&lt;/p&gt;&#10;&lt;p&gt;L’aspect développement n’est pas vraiment un problème, grâce à Qt. Cela marche grosso modo bien. La chose devient plus périlleuse quand il s’agit de distribuer le logiciel.&lt;/p&gt;</description></item><item><title>QtNat - Open you port with Qt</title><link>http://renaudguezennec.eu/posts/upnp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://renaudguezennec.eu/posts/upnp/</guid><description>&lt;p&gt;&lt;a href="https://github.com/obiwankennedy/QtUpnpNat"&gt;Source code&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;QtNat is a lightweight C++ library built with Qt 6 that simplifies NAT port mapping using UPnP (Universal Plug and Play). It is designed to help developers easily expose local services to external networks without requiring manual router configuration for users.&lt;/p&gt;&#10;&lt;p&gt;By leveraging UPnP, QtNat automatically communicates with compatible routers to create port forwarding rules at runtime. This makes it particularly useful for peer-to-peer applications, multiplayer games, remote access tools, and any software that needs reliable inbound connectivity behind a NAT.&lt;/p&gt;</description></item></channel></rss>