<?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 Antoine Boucher</title><link>https://antoineboucher.info/CV/blog/fr/posts/</link><description>Recent content in Posts on Antoine Boucher</description><generator>Hugo</generator><language>fr</language><lastBuildDate>Mon, 13 Apr 2026 15:40:00 -0400</lastBuildDate><atom:link href="https://antoineboucher.info/CV/blog/fr/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Pipeline de compilation, généalogie des langages et pourquoi les grammaires comptent</title><link>https://antoineboucher.info/CV/blog/fr/posts/compiler-design-textbook-figures/</link><pubDate>Mon, 13 Apr 2026 15:40:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/compiler-design-textbook-figures/</guid><description>&lt;p&gt;Ces figures proviennent d’un &lt;strong&gt;manuel de langages de programmation / conception de compilateurs&lt;/strong&gt; que je lisais pour un cours. Je les ai gardées sur une seule page de référence : comment la compilation est découpée en phases, comment les langages d’aujourd’hui se situent historiquement, et où la &lt;strong&gt;syntaxe&lt;/strong&gt; ne suffit plus — il faut des &lt;strong&gt;règles de priorité&lt;/strong&gt;, une &lt;strong&gt;désambiguïsation&lt;/strong&gt; pour le &lt;code&gt;else&lt;/code&gt;, et des &lt;strong&gt;attributs&lt;/strong&gt; pour la sémantique comme les types.&lt;/p&gt;</description></item><item><title>Similarité entre films et recherche vectorielle</title><link>https://antoineboucher.info/CV/blog/fr/posts/vector-databases-similar-movies/</link><pubDate>Mon, 13 Apr 2026 12:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/vector-databases-similar-movies/</guid><description>&lt;p&gt;Fil conducteur en &lt;strong&gt;trois parties&lt;/strong&gt; sur la &lt;strong&gt;similarité entre films&lt;/strong&gt; : &lt;strong&gt;partie 1&lt;/strong&gt; — embeddings dans &lt;strong&gt;PostgreSQL + pgvector&lt;/strong&gt; et recherche du plus proche voisin en SQL ; &lt;strong&gt;partie 2&lt;/strong&gt; — &lt;strong&gt;Qdrant&lt;/strong&gt; et &lt;strong&gt;MovieLens&lt;/strong&gt; (vecteurs denses pour la recherche sémantique, vecteurs creux pour un voisinage façon filtrage collaboratif) ; &lt;strong&gt;partie 3&lt;/strong&gt; — le même catalogue pgvector comme couche de &lt;strong&gt;récupération&lt;/strong&gt; pour un petit pipeline &lt;strong&gt;RAG&lt;/strong&gt; avec &lt;strong&gt;LangChain&lt;/strong&gt; et &lt;strong&gt;Ollama&lt;/strong&gt;. Ci-dessous, des extraits animés du travail (&lt;code&gt;movie-similarities-1.gif&lt;/code&gt; … &lt;code&gt;3.gif&lt;/code&gt;).&lt;/p&gt;</description></item><item><title>Bibliothèque Python pour le trading virtuel MarketWatch</title><link>https://antoineboucher.info/CV/blog/fr/posts/marketwatch-python-trading/</link><pubDate>Mon, 13 Apr 2026 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/marketwatch-python-trading/</guid><description>&lt;p&gt;J’ai publié &lt;strong&gt;&lt;a href="https://pypi.org/project/marketwatch/"&gt;marketwatch&lt;/a&gt;&lt;/strong&gt; sur PyPI : un petit client Python pour le &lt;strong&gt;jeu boursier virtuel&lt;/strong&gt; &lt;a href="https://www.marketwatch.com"&gt;MarketWatch&lt;/a&gt; (paper trading), pas l’accès à un courtier réel. Pour scripter des listes de suivi, récupérer les données d’une partie ou du portefeuille, ou expérimenter une automatisation dans le cadre du jeu, le paquet encapsule les flux dans une API simple.&lt;/p&gt;
&lt;h2 id="liens"&gt;Liens&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Paquet :&lt;/strong&gt; &lt;a href="https://pypi.org/project/marketwatch/"&gt;pypi.org/project/marketwatch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Documentation :&lt;/strong&gt; &lt;a href="https://antoinebou12.github.io/marketwatch/"&gt;antoinebou12.github.io/marketwatch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source et tickets :&lt;/strong&gt; &lt;a href="https://github.com/antoinebou12/marketwatch"&gt;github.com/antoinebou12/marketwatch&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ce-que-ça-permet"&gt;Ce que ça permet&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Créer et gérer des &lt;strong&gt;listes de suivi&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Lire les détails et paramètres d’une &lt;strong&gt;partie&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Inspecter &lt;strong&gt;portefeuille&lt;/strong&gt;, positions et ordres en attente&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Acheter&lt;/strong&gt; et &lt;strong&gt;vendre&lt;/strong&gt; (dans le jeu)&lt;/li&gt;
&lt;li&gt;Récupérer le &lt;strong&gt;classement&lt;/strong&gt; d’une partie&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Utile pour explorer des stratégies automatisées ou de petits bots &lt;strong&gt;dans les règles du jeu&lt;/strong&gt; — voir la doc pour les noms de méthodes et les structures retournées.&lt;/p&gt;</description></item><item><title>Du BMC au pitch : notes de parcours QcES (printemps 2024)</title><link>https://antoineboucher.info/CV/blog/fr/posts/qces-lean-discovery-pitch/</link><pubDate>Mon, 13 Apr 2026 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/qces-lean-discovery-pitch/</guid><description>&lt;p&gt;&lt;strong&gt;&lt;a href="https://antoineboucher.info/CV/blog/fr/posts/qces-lean-discovery-pitch/"&gt;Version anglaise&lt;/a&gt;&lt;/strong&gt; — même sujet, même fil d’URL.&lt;/p&gt;
&lt;h2 id="en-bref"&gt;En bref&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Le &lt;strong&gt;Business Model Canvas (BMC)&lt;/strong&gt; décrit comment l’organisation &lt;strong&gt;crée, livre et capture&lt;/strong&gt; de la valeur ; il répond à trois questions : &lt;strong&gt;désirabilité&lt;/strong&gt;, &lt;strong&gt;faisabilité&lt;/strong&gt;, &lt;strong&gt;viabilité&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;On commence en général par &lt;strong&gt;segment de clientèle&lt;/strong&gt; et &lt;strong&gt;proposition de valeur&lt;/strong&gt;, puis on itère : le modèle &lt;strong&gt;change&lt;/strong&gt; avec le marché.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Segmenter&lt;/strong&gt;, c’est rendre le marché &lt;strong&gt;explicite&lt;/strong&gt; (B2B vs B2C, critères concrets) plutôt que des étiquettes vagues (« médecins », « parents »).&lt;/li&gt;
&lt;li&gt;Les &lt;strong&gt;entrevues&lt;/strong&gt; servent à la &lt;strong&gt;découverte&lt;/strong&gt; : objectif d’&lt;strong&gt;apprendre&lt;/strong&gt;, pas de vendre ; viser &lt;strong&gt;connecter&lt;/strong&gt;, pas convaincre — en restant attaché au &lt;strong&gt;problème&lt;/strong&gt;, pas à la solution.&lt;/li&gt;
&lt;li&gt;Le &lt;strong&gt;feedback&lt;/strong&gt; structuré (forces + une piste d’amélioration) et une &lt;strong&gt;pitch courte&lt;/strong&gt; (sans diapos) aident à clarifier l’idée tôt.&lt;/li&gt;
&lt;li&gt;Une &lt;strong&gt;roadmap produit&lt;/strong&gt; est une &lt;strong&gt;vue stratégique dans le temps&lt;/strong&gt;, pas un plan de projet détaillé ; elle s’aligne sur vision, public, horizon, métriques et ressources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PoC&lt;/strong&gt;, &lt;strong&gt;prototype&lt;/strong&gt; et &lt;strong&gt;MVP&lt;/strong&gt; ne jouent pas le même rôle : technologie, interaction utilisateur, puis &lt;strong&gt;première version sur le marché&lt;/strong&gt; à éprouver.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Marché et proposition de valeur&lt;/strong&gt; : tenir compte des forces externes (macro, industrie, tendances) et formuler la valeur comme &lt;strong&gt;offre + bénéfice&lt;/strong&gt; pour le client.&lt;/li&gt;
&lt;li&gt;Le &lt;strong&gt;pitch&lt;/strong&gt; suit souvent &lt;strong&gt;Intéresser → Croire → Rejoindre&lt;/strong&gt; : problème d’abord, preuves et différenciation, puis &lt;strong&gt;demande précise&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Ce texte est une synthèse personnelle à partir de matériel de cours QcES (cohorte printemps 2024) et d’intervenants ; ce n’est pas un document officiel du programme.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Notes sur le cycle de vie logiciel — GOALS, waterfall, vérification vs validation</title><link>https://antoineboucher.info/CV/blog/fr/posts/software-engineering-textbook-figures/</link><pubDate>Mon, 13 Apr 2026 08:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/software-engineering-textbook-figures/</guid><description>&lt;p&gt;Ces pages viennent d’un &lt;strong&gt;manuel de génie logiciel&lt;/strong&gt; utilisé en cours. J’y ai regroupé les figures sur une seule page de référence : &lt;strong&gt;planification orientée objectifs&lt;/strong&gt;, comment le modèle &lt;strong&gt;waterfall&lt;/strong&gt; enchaîne les activités (avec &lt;strong&gt;vérification et validation&lt;/strong&gt; appariées à chaque phase), une variante &lt;strong&gt;incrémentale&lt;/strong&gt;, la liste des &lt;strong&gt;sous-objectifs du cycle de vie&lt;/strong&gt; du manuel, le rappel que &lt;strong&gt;les conseils méthodo dépendent du contexte&lt;/strong&gt;, et un court passage &lt;strong&gt;d’éthique&lt;/strong&gt; sur l’impact sur les personnes.&lt;/p&gt;</description></item><item><title>Installer des paquets Python pour les add-ons Blender (Windows, Blender 4.2+)</title><link>https://antoineboucher.info/CV/blog/fr/posts/blender-python-packages/</link><pubDate>Sat, 08 Feb 2025 12:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/blender-python-packages/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Blender offre une API Python puissante pour scripts, add-ons et plugins. Un point délicat : &lt;strong&gt;installer des paquets Python tiers&lt;/strong&gt; dans l’&lt;strong&gt;environnement Python isolé&lt;/strong&gt; de Blender.&lt;/p&gt;
&lt;p&gt;Contrairement à une installation Python système, Blender embarque son propre interprète : &lt;code&gt;pip&lt;/code&gt; « global » ne suffit pas toujours. Cet article propose une méthode &lt;strong&gt;générale et robuste&lt;/strong&gt; pour installer les dépendances des add-ons tout en restant compatible entre versions.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/blender-python-packages/img-001.png" alt="Espace Scripting de Blender avec l’éditeur de texte et Exécuter le script"&gt;&lt;/p&gt;</description></item><item><title>Plugin ChatGPT avec FastAPI — plan d’implémentation</title><link>https://antoineboucher.info/CV/blog/fr/posts/fastapi-chatgpt-plugin-overview/</link><pubDate>Sat, 01 Jun 2024 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/fastapi-chatgpt-plugin-overview/</guid><description>&lt;p&gt;Les &lt;strong&gt;plugins&lt;/strong&gt; de style OpenAI exposent une API HTTP décrite par un document &lt;strong&gt;OpenAPI&lt;/strong&gt; pour que ChatGPT puisse appeler vos outils de façon contrôlée. &lt;strong&gt;FastAPI&lt;/strong&gt; génère OpenAPI automatiquement, ce qui colle bien à ce modèle.&lt;/p&gt;
&lt;h2 id="1-définir-lapi-dans-fastapi"&gt;1. Définir l’API dans FastAPI&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Les routes renvoient du &lt;strong&gt;JSON&lt;/strong&gt; avec des formes stables (éviter le texte libre ambigu quand la structure compte).&lt;/li&gt;
&lt;li&gt;Ajoutez &lt;strong&gt;résumés et descriptions&lt;/strong&gt; sur les chemins et les champs — ça aide le modèle à choisir le bon outil.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-publier-openapijson"&gt;2. Publier &lt;code&gt;openapi.json&lt;/code&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;FastAPI sert &lt;strong&gt;&lt;code&gt;/openapi.json&lt;/code&gt;&lt;/strong&gt; par défaut ; le manifeste du plugin pointe vers cette URL (ou une copie statique versionnée).&lt;/li&gt;
&lt;li&gt;Gardez les schémas &lt;strong&gt;stricts&lt;/strong&gt; : énumérations, champs obligatoires et exemples réduisent les mauvais appels.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="3-manifeste-du-plugin"&gt;3. Manifeste du plugin&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Hébergez &lt;strong&gt;&lt;code&gt;ai-plugin.json&lt;/code&gt;&lt;/strong&gt; (ou le format exigé par la doc développeur OpenAI actuelle) en &lt;strong&gt;HTTPS&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Le manifeste référence l’URL de base de l’API et l’emplacement d’OpenAPI.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="4-authentification"&gt;4. Authentification&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Préférez &lt;strong&gt;OAuth&lt;/strong&gt; ou &lt;strong&gt;clés API&lt;/strong&gt; comme documenté pour votre intégration ; ne commitez jamais de secrets.&lt;/li&gt;
&lt;li&gt;Validez les jetons dans les dépendances ou le middleware FastAPI.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="5-déploiement"&gt;5. Déploiement&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Point de terminaison &lt;strong&gt;HTTPS&lt;/strong&gt; joignable depuis les serveurs OpenAI.&lt;/li&gt;
&lt;li&gt;Journalisation et &lt;strong&gt;idempotence&lt;/strong&gt; pour les routes à effets de bord.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="6-tests-manuels"&gt;6. Tests manuels&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Appelez les routes avec &lt;code&gt;curl&lt;/code&gt; ou HTTPie en utilisant les mêmes charges que le modèle enverra.&lt;/li&gt;
&lt;li&gt;Itérez sur les descriptions et contraintes avant d’ouvrir le trafic.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Les détails évoluent avec les mises à jour de la plateforme OpenAI — suivez toujours la doc la plus récente sur &lt;strong&gt;plugins / tools / actions&lt;/strong&gt; pour la prod.&lt;/p&gt;</description></item><item><title>Backtest d’indicateurs techniques sur plusieurs tickers avec Python</title><link>https://antoineboucher.info/CV/blog/fr/posts/multiple-indicators-backtesting/</link><pubDate>Thu, 30 May 2024 15:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/multiple-indicators-backtesting/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Ce rapport présente une expérimentation sur les indicateurs techniques avec le projet &lt;strong&gt;BatchBacktesting&lt;/strong&gt; sur GitHub : &lt;a href="https://github.com/AlgoETS/BatchBacktesting"&gt;BatchBacktesting&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="installation-des-dépendances"&gt;Installation des dépendances&lt;/h2&gt;
&lt;p&gt;Installez les bibliothèques nécessaires :&lt;/p&gt;
&lt;p&gt;!pip install numpy httpx richp&lt;/p&gt;
&lt;h2 id="imports"&gt;Imports&lt;/h2&gt;
&lt;p&gt;Modules à importer pour le script :&lt;/p&gt;
&lt;p&gt;import pandas as pd&lt;br&gt;
import numpy as np&lt;br&gt;
from datetime import datetime&lt;br&gt;
import httpx&lt;br&gt;
import concurrent.futures&lt;br&gt;
import glob&lt;br&gt;
import warnings&lt;br&gt;
from rich.progress import track&lt;/p&gt;
&lt;p&gt;warnings.filterwarnings(&amp;ldquo;ignore&amp;rdquo;)&lt;/p&gt;
&lt;h2 id="configuration-api"&gt;Configuration API&lt;/h2&gt;
&lt;p&gt;Remplacez &lt;code&gt;FMP_API_KEY&lt;/code&gt; et &lt;code&gt;BINANCE_API_KEY&lt;/code&gt; par vos clés pour accéder aux services concernés.&lt;/p&gt;</description></item><item><title>Économie des boîtes LEGO avec science des données</title><link>https://antoineboucher.info/CV/blog/fr/posts/economics-lego-data-science/</link><pubDate>Thu, 30 May 2024 12:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/economics-lego-data-science/</guid><description>&lt;p&gt;Passionné de données et de LEGO, j’ai exploré l’univers LEGO avec des données historiques : tendances, prix et caractéristiques des boîtes dans le temps. À partir des jeux &lt;strong&gt;Rebrickable&lt;/strong&gt; et d’outils comme &lt;strong&gt;Pandas&lt;/strong&gt;, &lt;strong&gt;Matplotlib&lt;/strong&gt; et &lt;strong&gt;Scikit-Learn&lt;/strong&gt;, voici un parcours sur l’histoire et l’économie des sets LEGO.&lt;/p&gt;
&lt;h2 id="vue-densemble-des-jeux-de-données"&gt;Vue d’ensemble des jeux de données&lt;/h2&gt;
&lt;p&gt;Les fichiers utilisés couvrent sets, pièces et thèmes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;colors.csv&lt;/strong&gt; : couleurs LEGO (ID, noms, RGB, transparence).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;inventories.csv&lt;/strong&gt; : inventaires (ID, versions, numéros de set).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;inventory_parts.csv&lt;/strong&gt; : pièces par inventaire (quantités, couleurs, pièces de rechange).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;inventory_sets.csv&lt;/strong&gt; : lien inventaires ↔ sets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;part_categories.csv&lt;/strong&gt; : catégories de pièces.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;part_relationships.csv&lt;/strong&gt; : relations entre pièces.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;parts.csv&lt;/strong&gt; : pièces (numéros, noms, catégories).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sets.csv&lt;/strong&gt; : sets (numéros, noms, années, thèmes, nombre de pièces).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;themes.csv&lt;/strong&gt; : thèmes (ID, noms, thèmes parents).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/economics-lego-data-science/img-001.png" alt=""&gt;&lt;/p&gt;</description></item><item><title>Expérimentation des indicateurs technique avec Python et Backtesting</title><link>https://antoineboucher.info/CV/blog/fr/posts/experimentation-indicateurs-backtesting/</link><pubDate>Tue, 14 May 2024 20:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/experimentation-indicateurs-backtesting/</guid><description>&lt;h2 id="faites-du-batch-backtesting-sur-les-cryptos-et-les-stocks"&gt;Faites du Batch Backtesting sur les cryptos et les stocks&lt;/h2&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Dans ce rapport, nous présentons une expérimentation des indicateurs techniques à l’aide du projet BatchBacktesting disponible sur GitHub à l’adresse suivante :&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/AlgoETS/BatchBacktesting/tree/main"&gt;BatchBacktesting&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;!pip install numpy httpx rich&lt;/p&gt;
&lt;p&gt;import pandas as pd&lt;br&gt;
import numpy as np&lt;br&gt;
from datetime import datetime&lt;br&gt;
import sys&lt;br&gt;
import os&lt;br&gt;
import httpx&lt;/p&gt;
&lt;p&gt;import concurrent.futures&lt;br&gt;
from datetime import datetime&lt;br&gt;
import glob&lt;br&gt;
import warnings&lt;br&gt;
from rich.progress import track&lt;br&gt;
warnings.filterwarnings(&amp;ldquo;ignore&amp;rdquo;)&lt;/p&gt;</description></item><item><title>Faire travailler ensemble Caddy, EC2, CloudWatch, Step Functions et Lambda</title><link>https://antoineboucher.info/CV/blog/fr/posts/caddy-ec2-cloudwatch-lambda/</link><pubDate>Tue, 14 May 2024 18:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/caddy-ec2-cloudwatch-lambda/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Monter une infra web solide et scalable peut être coûteux et complexe. Avec les bons outils, on peut rester efficace et économique. Cet article décrit &lt;strong&gt;Caddy&lt;/strong&gt; sur &lt;strong&gt;AWS EC2&lt;/strong&gt;, l’intégration à &lt;strong&gt;CloudWatch&lt;/strong&gt; pour la supervision, et &lt;strong&gt;Step Functions&lt;/strong&gt; + &lt;strong&gt;Lambda&lt;/strong&gt; pour automatiser — une approche complète pour un tableau de bord à budget maîtrisé.&lt;/p&gt;
&lt;h3 id="étape-1--installer-caddy-sur-ec2"&gt;Étape 1 : installer Caddy sur EC2&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Caddy&lt;/strong&gt; est un serveur web simple avec &lt;strong&gt;HTTPS automatique&lt;/strong&gt;, adapté au trafic web et au reverse proxy. Je l’utilise aussi pour mes assistants à la maison.&lt;/p&gt;</description></item><item><title>Parcours vers la certification AWS Certified Cloud Practitioner</title><link>https://antoineboucher.info/CV/blog/fr/posts/aws-certified-cloud-practitioner/</link><pubDate>Tue, 14 May 2024 16:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/aws-certified-cloud-practitioner/</guid><description>&lt;p&gt;Je suis heureux d’annoncer que j’ai récemment obtenu la certification &lt;strong&gt;AWS Certified Cloud Practitioner&lt;/strong&gt; d’Amazon Web Services (AWS) ! C’est une étape importante dans mon parcours pro, et je profite de ce billet pour mettre en avant les outils qui m’y ont aidé.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AWS Skill Builder&lt;/strong&gt; et &lt;strong&gt;AWS Cloud Quest&lt;/strong&gt; ont été centraux dans ma préparation, avec un parcours à la fois structuré et ludique. Voici mon plan d’étude et comment ces ressources peuvent aider quiconque veut renforcer ses compétences cloud.&lt;/p&gt;</description></item><item><title>Prévoir des cours boursiers avec des simulations Monte Carlo</title><link>https://antoineboucher.info/CV/blog/fr/posts/predicting-stock-prices-monte-carlo/</link><pubDate>Tue, 14 May 2024 09:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/predicting-stock-prices-monte-carlo/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;En finance, on raisonne rarement sur un seul prix « prévu » : il s’agit plutôt de &lt;strong&gt;fourchettes&lt;/strong&gt;, de &lt;strong&gt;risque de queue&lt;/strong&gt; et de &lt;strong&gt;mesurer à quel point&lt;/strong&gt; les modèles simples peuvent se tromper. Cet article déroule une &lt;strong&gt;simulation Monte Carlo de trajectoires&lt;/strong&gt; en Python : on estime dérive et volatilité à partir des clôtures historiques, on simule de nombreux chemins de prix futurs (pas discret façon brownien géométrique), et on résume le tout par une &lt;strong&gt;distribution&lt;/strong&gt; — l’objet adapté aux questions de risque (bandes, quantiles, recouvrement par rapport à une période tenue hors échantillon).&lt;/p&gt;</description></item><item><title>Kinectron + p5.js — contrôle du sketch et export GIF</title><link>https://antoineboucher.info/CV/blog/fr/posts/kinectron-p5-sketch-gif/</link><pubDate>Fri, 15 Mar 2024 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/kinectron-p5-sketch-gif/</guid><description>&lt;h3 id="introduction"&gt;Introduction&lt;/h3&gt;
&lt;p&gt;Ce tutoriel montre comment monter un sketch &lt;strong&gt;Kinectron&lt;/strong&gt; dans &lt;strong&gt;p5.js&lt;/strong&gt; avec arrêt / lecture du sketch et enregistrement en &lt;strong&gt;GIF&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id="prérequis"&gt;Prérequis&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bases JavaScript et p5.js.&lt;/li&gt;
&lt;li&gt;Bibliothèque Kinectron installée.&lt;/li&gt;
&lt;li&gt;Bibliothèque p5.js installée.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kinect v2&lt;/strong&gt; ou &lt;strong&gt;Azure Kinect DK&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Serveur &lt;strong&gt;Kinectron&lt;/strong&gt; en marche.&lt;/li&gt;
&lt;li&gt;Environnement local ou en ligne compatible JavaScript et p5.js.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="étape-1--environnement"&gt;Étape 1 : environnement&lt;/h3&gt;
&lt;p&gt;Inclure p5.js et Kinectron dans le HTML.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#f92672"&gt;html&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#f92672"&gt;head&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#f92672"&gt;script&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;src&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.9.0/p5.min.js&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;type&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;gt;&amp;lt;/&lt;span style="color:#f92672"&gt;script&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#f92672"&gt;script&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;type&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;gt;&amp;lt;/&lt;span style="color:#f92672"&gt;script&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#f92672"&gt;script&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;src&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.9.0/p5.js&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#f92672"&gt;script&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#f92672"&gt;script&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;src&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.9.0/addons/p5.sound.min.js&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#f92672"&gt;script&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#f92672"&gt;script&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;src&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;./client/dist/kinectron-client.js&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;type&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;gt;&amp;lt;/&lt;span style="color:#f92672"&gt;script&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#f92672"&gt;script&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;src&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;sketch.js&amp;#34;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;type&lt;/span&gt;&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#f92672"&gt;script&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#f92672"&gt;head&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#f92672"&gt;body&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#f92672"&gt;body&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;/&lt;span style="color:#f92672"&gt;html&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="étape-2--variables"&gt;Étape 2 : variables&lt;/h3&gt;
&lt;p&gt;Dans &lt;code&gt;sketch.js&lt;/code&gt;, définir les variables nécessaires.&lt;/p&gt;</description></item><item><title>Premier atelier Byzantium — Solidity et token ERC-20 sur Ethereum</title><link>https://antoineboucher.info/CV/blog/fr/posts/byzantium-solidity-ethereum-workshop/</link><pubDate>Mon, 11 Mar 2024 18:30:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/byzantium-solidity-ethereum-workshop/</guid><description>&lt;p&gt;Lundi, &lt;strong&gt;Byzantium&lt;/strong&gt; a organisé son &lt;strong&gt;premier atelier sur Ethereum&lt;/strong&gt; : une session accessible aux débutant·e·s comme aux personnes déjà à l’aise avec la blockchain, avec mise en pratique jusqu’au &lt;strong&gt;déploiement d’un token&lt;/strong&gt; et des &lt;strong&gt;transferts entre portefeuilles&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/byzantium-solidity-ethereum-workshop/images/workshop-title-slide.png" alt="Diapositive d’ouverture — Workshop sur Solidity (Ethereum)"&gt;&lt;/p&gt;
&lt;h2 id="programme"&gt;Programme&lt;/h2&gt;
&lt;p&gt;L’animation, assurée par &lt;strong&gt;Khalil Anis Zabat&lt;/strong&gt;, est partie d’une base &lt;strong&gt;Solidity&lt;/strong&gt; et d’un contrat &lt;strong&gt;ERC-20&lt;/strong&gt; standard, en s’appuyant sur &lt;strong&gt;OpenZeppelin&lt;/strong&gt; : définir le nom et le symbole du token, fixer les &lt;strong&gt;décimales&lt;/strong&gt;, et &lt;strong&gt;émettre&lt;/strong&gt; une première quantité pour le déployeur. Ensuite, chacun·e a pu suivre la démo, déployer son propre contrat sur un réseau de test, puis &lt;strong&gt;échanger des tokens&lt;/strong&gt; avec les autres participant·e·s — le passage concret du « code sur l’écran » à « quelque chose qu’on peut envoyer à un pair ».&lt;/p&gt;</description></item><item><title>Créer un portfolio avec Hugo (semaine 1)</title><link>https://antoineboucher.info/CV/blog/fr/posts/portfolio-hugo-week-1/</link><pubDate>Mon, 08 Jan 2024 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/portfolio-hugo-week-1/</guid><description>&lt;h1 id="introduction-"&gt;&lt;strong&gt;Introduction :&lt;/strong&gt;&lt;/h1&gt;
&lt;p&gt;Bienvenue sur mon blog personnel, un récit de mon parcours dans le développement d&amp;rsquo;un portfolio multifacette avec Hugo. En tant qu&amp;rsquo;ingénieur logiciel, je suis ravi de partager les subtilités de la construction d&amp;rsquo;un site web dynamique et interactif, où mes compétences professionnelles se croisent avec mes passions personnelles. Ce premier article marque le début d&amp;rsquo;une série dans laquelle je vais explorer divers aspects du développement web, de l&amp;rsquo;analyse de données et de l&amp;rsquo;intégration de technologies web avancées.&lt;/p&gt;</description></item><item><title>Scan d’appartement LiDAR avec Rhino sur iPhone</title><link>https://antoineboucher.info/CV/blog/fr/posts/rhino-lidar-apartment-scan/</link><pubDate>Tue, 02 Jan 2024 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/rhino-lidar-apartment-scan/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Nous avons utilisé l’app &lt;strong&gt;Rhino&lt;/strong&gt; sur iPhone avec &lt;strong&gt;LiDAR&lt;/strong&gt; pour scanner notre appartement et clarifier les choix d’aménagement et de mobilier.&lt;/p&gt;
&lt;h3 id="lidar-et-rhino"&gt;LiDAR et Rhino&lt;/h3&gt;
&lt;p&gt;Le LiDAR capture la profondeur rapidement ; Rhino sur iPhone transforme ces scans en géométrie 3D exploitable directement sur l’appareil.&lt;/p&gt;
&lt;h3 id="déroulé"&gt;Déroulé&lt;/h3&gt;
&lt;p&gt;Nous avons parcouru pièce par pièce pendant que le téléphone cartographiait l’espace ; Rhino mettait le modèle à jour au fil du déplacement.&lt;/p&gt;
&lt;h3 id="captures-décran"&gt;Captures d’écran&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/rhino-lidar-apartment-scan/images/Screenshot-from-2024-01-02-22-41-35.png" alt="Workflow de scan"&gt;&lt;/p&gt;</description></item><item><title>Mon parcours en génie logiciel</title><link>https://antoineboucher.info/CV/blog/fr/posts/software-engineering-journey/</link><pubDate>Sat, 30 Dec 2023 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/software-engineering-journey/</guid><description>&lt;p&gt;La bio de ce site résume la facette du métier qui m’intéresse le plus : &lt;strong&gt;backend&lt;/strong&gt;, &lt;strong&gt;plateforme&lt;/strong&gt; et &lt;strong&gt;DevSecOps&lt;/strong&gt;. Cet article prolonge ce regard — pas une chronologie d’emplois, mais les idées qui reviennent quand on cesse de ne mesurer que « les features livrées ».&lt;/p&gt;
&lt;h2 id="des-features-aux-systèmes"&gt;Des features aux systèmes&lt;/h2&gt;
&lt;p&gt;Au début, le progrès semble linéaire : tickets fermés, endpoints ajoutés, écrans livrés. Ce travail compte. Avec le temps, les problèmes intéressants se situent un cran au-dessus : comment les services communiquent, comment les pannes se propagent, comment un changement dans le dépôt d’une équipe affecte tout le monde le lundi matin. Le backend cesse d’être « écrire le handler » et devient « concevoir quelque chose qui reste compréhensible quand vous n’êtes plus dans la pièce ».&lt;/p&gt;</description></item><item><title>GPT-4 vs GPT-3.5 — capacités et cadre des coûts API</title><link>https://antoineboucher.info/CV/blog/fr/posts/gpt4-api-costs-overview/</link><pubDate>Mon, 10 Apr 2023 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/gpt4-api-costs-overview/</guid><description>&lt;p&gt;&lt;img src="https://media.licdn.com/dms/image/D5612AQHKus7rY_HvVQ/article-cover_image-shrink_720_1280/0/1681059889367?e=1709769600&amp;amp;v=beta&amp;amp;t=39LUP6caikwBW_QeEC7T-2peoci56x6v9xzNtCPdWxQ" alt="Image de couverture de l’article" title="Cover Image for AI Article"&gt;&lt;/p&gt;
&lt;p&gt;Alors que l’intelligence artificielle progresse, de plus en plus d’entreprises intègrent des chatbots à leur service client. Ces chatbots couvrent un large spectre de demandes, des questions simples aux sujets plus complexes. Le coût de mise en œuvre et de maintenance reste un facteur important. Dans cet article, on estime les coûts d’utilisation des modèles &lt;strong&gt;GPT-4&lt;/strong&gt; et &lt;strong&gt;GPT-3.5-turbo&lt;/strong&gt; avec un plafond de &lt;strong&gt;25 messages toutes les 3 heures&lt;/strong&gt; sur un mois, en supposant des tailles de prompt moyennes comparables (&lt;strong&gt;50 à 200 jetons&lt;/strong&gt;).&lt;/p&gt;</description></item><item><title>Créer un CV professionnel avec JSON Resume</title><link>https://antoineboucher.info/CV/blog/fr/posts/professional-resume-json-resume/</link><pubDate>Sat, 10 Sep 2022 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/professional-resume-json-resume/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Avoir un CV en ligne compte. Une approche efficace consiste à utiliser le paquet npm &lt;strong&gt;JSON Resume&lt;/strong&gt; : rédiger le CV en JSON, puis l’exporter en &lt;strong&gt;HTML&lt;/strong&gt;, &lt;strong&gt;PDF&lt;/strong&gt; ou l’intégrer à un site personnel.&lt;/p&gt;
&lt;h2 id="format-json-resume"&gt;Format JSON Resume&lt;/h2&gt;
&lt;p&gt;JSON Resume est une initiative open source communautaire pour un standard CV en JSON. Le format est léger et facile à manipuler, ce qui permet de construire des outils autour.&lt;/p&gt;
&lt;p&gt;Sections typiques :&lt;/p&gt;</description></item><item><title>Architecture réseau — de Lucidchart à PlantUML C4</title><link>https://antoineboucher.info/CV/blog/fr/posts/home-network-plantuml-c4/</link><pubDate>Tue, 06 Sep 2022 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/home-network-plantuml-c4/</guid><description>&lt;p&gt;J’ai récemment entamé une refonte de mon réseau domestique. Le passage de Draw.io à &lt;strong&gt;PlantUML C4&lt;/strong&gt; pour les diagrammes de déploiement change la donne. 🏡&lt;/p&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/home-network-plantuml-c4/images/1688937735221.jpeg" alt="1688937733753.jpeg"&gt;&lt;/p&gt;
&lt;p&gt;PlantUML C4 propose une approche &lt;strong&gt;textuelle&lt;/strong&gt; 📝 qui s’intègre bien au contrôle de version, ce qui en fait un outil adapté à l’infrastructure as code (IaC) 🏗️ .&lt;/p&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/home-network-plantuml-c4/images/1688937733753.jpeg" alt="1688937733753.jpeg"&gt;&lt;/p&gt;
&lt;p&gt;Je migre aussi vers &lt;strong&gt;Cloudflare&lt;/strong&gt; pour la gestion DNS ✅&lt;br&gt;
Je compte utiliser &lt;strong&gt;Terraform&lt;/strong&gt; et &lt;strong&gt;GitHub Actions&lt;/strong&gt; comme CD 🔁&lt;/p&gt;</description></item><item><title>Conférence Snowflake Data-for-Breakfast — points saillants</title><link>https://antoineboucher.info/CV/blog/fr/posts/snowflake-data-for-breakfast/</link><pubDate>Tue, 06 Sep 2022 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/snowflake-data-for-breakfast/</guid><description>&lt;p&gt;Notes issues de la conférence &lt;strong&gt;Snowflake Data-for-Breakfast&lt;/strong&gt; sur la plateforme de données cloud Snowflake, l’entrepôt de données, l’intégration et l’analytique — dont une keynote forte d’&lt;strong&gt;Infostrux&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="vue-densemble"&gt;Vue d’ensemble&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/snowflake-data-for-breakfast/images/governed.jpeg" alt="Supports de conférence"&gt;&lt;/p&gt;
&lt;h2 id="enseignements-clés"&gt;Enseignements clés&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/snowflake-data-for-breakfast/images/menu.jpeg" alt="Menu de l’événement"&gt;&lt;/p&gt;
&lt;h3 id="opérations-de-données-à-léchelle-mondiale"&gt;Opérations de données à l’échelle mondiale&lt;/h3&gt;
&lt;p&gt;Une étude de cas dans le secteur de la santé montrait Snowflake gérant des opérations de données sécurisées sur trois continents, en simplifiant le partage avec les partenaires tout en gardant haute disponibilité et SLA solides.&lt;/p&gt;</description></item><item><title>Créateur de Lenses Snapchat</title><link>https://antoineboucher.info/CV/blog/fr/posts/snapchat-lens-creator/</link><pubDate>Tue, 06 Sep 2022 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/snapchat-lens-creator/</guid><description>&lt;p&gt;&lt;em&gt;Mise à jour avril 2026 avec les chiffres Lens Insights actuels.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;À ce jour, mes lenses Snapchat totalisent &lt;strong&gt;6,21 M de lectures&lt;/strong&gt;, &lt;strong&gt;12,11 M de vues&lt;/strong&gt;, &lt;strong&gt;616,4 k partages&lt;/strong&gt; et &lt;strong&gt;6 893 favoris&lt;/strong&gt; (cumul, Lens Insights). Tout a commencé par un intérêt personnel pour les filtres RA et s’est transformé en missions payantes sur &lt;strong&gt;Fiverr&lt;/strong&gt; en parallèle de mes expérimentations.&lt;/p&gt;
&lt;p&gt;Entre &lt;strong&gt;2017 et 2020&lt;/strong&gt;, j’ai publié &lt;strong&gt;42 lenses&lt;/strong&gt; pour moi-même et pour des clients. Parmi celles qui ont le plus servi figurent &lt;strong&gt;Go Crazy Facetime&lt;/strong&gt; (~2,9 M de lectures), &lt;strong&gt;Face Ghosting&lt;/strong&gt; (~1,2 M) et &lt;strong&gt;BIG SMILE&lt;/strong&gt; (~520 k).&lt;/p&gt;</description></item><item><title>Expo Manger Santé 2023 — olives, kiosques et découvertes</title><link>https://antoineboucher.info/CV/blog/fr/posts/expo-manger-sante-2023/</link><pubDate>Tue, 06 Sep 2022 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/expo-manger-sante-2023/</guid><description>&lt;p&gt;J’ai récemment participé à &lt;strong&gt;Expo Manger Santé 2023&lt;/strong&gt; à la &lt;strong&gt;Place des Congrès&lt;/strong&gt; à Montréal. Les photos de l’événement sont signées &lt;strong&gt;OS7Media&lt;/strong&gt; (&lt;a href="mailto:os7mediamatrix@gmail.com"&gt;os7mediamatrix@gmail.com&lt;/a&gt;) — merci pour les clichés utilisés ici.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/expo-manger-sante-2023/images/antoine1.jpeg" alt="Antoine1"&gt;
&lt;img src="https://antoineboucher.info/CV/blog/posts/expo-manger-sante-2023/images/antoine2.jpeg" alt="Antoine2"&gt;&lt;/p&gt;
&lt;h2 id="une-vente-qui-a-porté-ses-fruits"&gt;Une vente qui a porté ses fruits&lt;/h2&gt;
&lt;p&gt;En tant que vendeur, je suis passionné par le goût riche des olives et leurs bienfaits. Sur deux jours, j’ai pu partager cette passion avec le public, ce qui s’est traduit par de très bonnes ventes, environ &lt;strong&gt;300 $&lt;/strong&gt;. Au-delà du chiffre, ce sont surtout les échanges et les histoires autour des olives qui comptaient.&lt;/p&gt;</description></item><item><title>Les nouveautés de GitHub Copilot</title><link>https://antoineboucher.info/CV/blog/fr/posts/github-copilot-cedille-session/</link><pubDate>Tue, 06 Sep 2022 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/github-copilot-cedille-session/</guid><description>&lt;p&gt;Les nouveautés de GitHub Copilot qui m&amp;rsquo;intéressent personnellement à voir prochainement.&lt;/p&gt;
&lt;h2 id="copilot-chat-et-createnotebook"&gt;Copilot Chat et /createNotebook&lt;/h2&gt;
&lt;p&gt;GitHub Copilot Chat avec &lt;code&gt;/createNotebook&lt;/code&gt; permet de créer rapidement un carnet Jupyter à partir du code existant — utile pour la documentation et le prototypage, notamment pour les personnes en data science et en enseignement.&lt;/p&gt;
&lt;h2 id="github-next"&gt;GitHub Next&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://githubnext.com"&gt;GitHub Next&lt;/a&gt; regroupe les expérimentations et pistes d’innovation autour des produits GitHub.&lt;/p&gt;
&lt;h2 id="session-à-cédille"&gt;Session à Cédille&lt;/h2&gt;
&lt;p&gt;Chez &lt;strong&gt;Cédille&lt;/strong&gt;, nous avons assisté à une session avec &lt;strong&gt;GitHub&lt;/strong&gt; et &lt;strong&gt;Arctiq&lt;/strong&gt; centrée sur Copilot et les offres IA autour du développement.&lt;/p&gt;</description></item><item><title>Plateformes de chat en direct et de support (3CX, ManyChat, Kommunicate, Chatwoot)</title><link>https://antoineboucher.info/CV/blog/fr/posts/livechat-platform-notes/</link><pubDate>Tue, 06 Sep 2022 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/livechat-platform-notes/</guid><description>&lt;p&gt;Ces notes viennent d’une comparaison pour le &lt;strong&gt;chat en direct sur site web&lt;/strong&gt;, les &lt;strong&gt;chatbots&lt;/strong&gt; et une &lt;strong&gt;boîte de réception partagée&lt;/strong&gt; pour le support. Les produits ci-dessous ne sont pas interchangeables : certains sont des piles de communications complètes, d’autres de l’automatisation marketing, et l’un est une solution open source de type helpdesk. &lt;strong&gt;Les tarifs, canaux et fonctionnalités évoluent souvent&lt;/strong&gt;—utilisez ce texte comme repère, puis vérifiez sur le site de chaque éditeur.&lt;/p&gt;</description></item><item><title>Plugin OpenAI D2C — diagrammes PlantUML, Mermaid et D2</title><link>https://antoineboucher.info/CV/blog/fr/posts/d2c-openai-diagram-plugin/</link><pubDate>Tue, 06 Sep 2022 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/d2c-openai-diagram-plugin/</guid><description>&lt;p&gt;GitHub : &lt;a href="https://lnkd.in/en3dSVuQ"&gt;https://lnkd.in/en3dSVuQ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;URL du plugin : &lt;a href="https://lnkd.in/exVNZMnT"&gt;https://lnkd.in/exVNZMnT&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;D2COpenAIPlugin&lt;/strong&gt; est un plugin pour ChatGPT qui permet de générer des diagrammes avec &lt;strong&gt;PlantUML&lt;/strong&gt;, &lt;strong&gt;Mermaid&lt;/strong&gt; et &lt;strong&gt;D2&lt;/strong&gt;. Il enrichit ChatGPT en offrant un moyen fluide de créer des diagrammes variés.&lt;/p&gt;
&lt;p&gt;Pour un flux &lt;strong&gt;prompt dans le chat&lt;/strong&gt; (modèle AIPRM, exemples de séquences cache hit/miss, astuces d’outils canvas), voir &lt;strong&gt;&lt;a href="https://antoineboucher.info/CV/blog/fr/posts/chatgpt-airprm-sequence-diagrams/"&gt;Diagrammes avec ChatGPT et AIPRM&lt;/a&gt;&lt;/strong&gt; — complémentaire à cette approche par plugin.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/d2c-openai-diagram-plugin/images/1692387139389.jpeg" alt="1692387139389.jpeg"&gt;&lt;/p&gt;
&lt;p&gt;🤖 ChatGPT UML Plugins - DEMO&lt;/p&gt;</description></item><item><title>Prompts de diagrammes avec ChatGPT et AIPRM (PlantUML, Mermaid, etc.)</title><link>https://antoineboucher.info/CV/blog/fr/posts/chatgpt-airprm-sequence-diagrams/</link><pubDate>Tue, 06 Sep 2022 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/chatgpt-airprm-sequence-diagrams/</guid><description>&lt;p&gt;L’extension navigateur &lt;a href="https://www.aiprm.com/"&gt;AIPRM&lt;/a&gt; ajoute des modèles de prompts réutilisables dans ChatGPT. Avec un &lt;strong&gt;prompt structuré&lt;/strong&gt; (type de diagramme, ce qu’il faut représenter, pourquoi, et quel outil), vous obtenez des réponses cohérentes — que vous visiez du texte (&lt;strong&gt;PlantUML&lt;/strong&gt;, &lt;strong&gt;Mermaid&lt;/strong&gt;) ou une marche à suivre pour un outil graphique.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://antoineboucher.info/CV/blog/fr/posts/chatgpt-airprm-sequence-diagrams/"&gt;Article complet en anglais&lt;/a&gt;&lt;/strong&gt; (même slug — vous pouvez aussi choisir &lt;strong&gt;EN&lt;/strong&gt; dans l’en-tête du site).&lt;/p&gt;
&lt;h2 id="gabarit-de-prompt-aiprm-à-copier-et-adapter"&gt;Gabarit de prompt AIPRM (à copier et adapter)&lt;/h2&gt;
&lt;p&gt;Une ligne par dimension. Collez le bloc dans ChatGPT (avec ou sans AIPRM) et modifiez les valeurs entre crochets.&lt;/p&gt;</description></item><item><title>Run:ai sur AWS — notes de webinaire (inférence et autoscaling)</title><link>https://antoineboucher.info/CV/blog/fr/posts/runai-aws-inference-webinar/</link><pubDate>Tue, 06 Sep 2022 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/runai-aws-inference-webinar/</guid><description>&lt;p&gt;Notes du webinaire &lt;strong&gt;Run:ai&lt;/strong&gt; sur l’exécution et la montée en charge des charges d’&lt;strong&gt;inférence&lt;/strong&gt; sur &lt;strong&gt;AWS&lt;/strong&gt; (Amériques). Run:ai met l’accent sur l’ordonnancement, la visibilité et l’efficacité pour les modèles sur GPU dans des environnements partagés.&lt;/p&gt;
&lt;h2 id="tableau-de-bord"&gt;Tableau de bord&lt;/h2&gt;
&lt;p&gt;Vue d’ensemble des jobs et de l’usage des ressources.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/runai-aws-inference-webinar/images/dashboard.jpeg" alt="Tableau de bord"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/runai-aws-inference-webinar/images/dashboard1.jpeg" alt="Tableau de bord (autre vue)"&gt;&lt;/p&gt;
&lt;h2 id="cli"&gt;CLI&lt;/h2&gt;
&lt;p&gt;Opérations et automatisation en ligne de commande.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/runai-aws-inference-webinar/images/cli.jpeg" alt="CLI"&gt;&lt;/p&gt;
&lt;h2 id="modèles-et-charge"&gt;Modèles et charge&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/runai-aws-inference-webinar/images/model.jpeg" alt="Vue modèle"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/runai-aws-inference-webinar/images/multi.jpeg" alt="Plusieurs instances / scaling"&gt;&lt;/p&gt;</description></item><item><title>Balance Renpho, Home Assistant et rétro-ingénierie de l’API</title><link>https://antoineboucher.info/CV/blog/fr/posts/renpho-health-api-blueprint/</link><pubDate>Sun, 10 Oct 2021 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/renpho-health-api-blueprint/</guid><description>&lt;h2 id="inspiration--le--blueprint-protocol--de-bryan-johnson"&gt;Inspiration : le « Blueprint Protocol » de Bryan Johnson&lt;/h2&gt;
&lt;p&gt;Pour moi, le suivi de santé personnel a commencé avec le &lt;strong&gt;Blueprint Protocol&lt;/strong&gt; de Bryan Johnson — une poussée vers l’auto-quantification qui collait à ma façon de voir la forme. Je voulais le même niveau de granularité ; une balance &lt;strong&gt;Renpho&lt;/strong&gt; avec bio-impédance s’est avérée un moyen pratique d’obtenir plus que le simple poids.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://antoineboucher.info/CV/blog/posts/renpho-health-api-blueprint/images/blueprint.jpg" alt="Inspiration Blueprint Protocol"&gt;&lt;/p&gt;
&lt;h2 id="fork-de-hass-renpho-et-écosystème-home-assistant"&gt;Fork de hass-renpho et écosystème Home Assistant&lt;/h2&gt;
&lt;p&gt;J’ai trouvé &lt;strong&gt;hass-renpho&lt;/strong&gt;, une intégration communautaire qui ramène les données Renpho dans Home Assistant. Le projet était à l’arrêt ; avec le mainteneur d’origine indisponible, j’ai forké pour étendre la prise en charge des métriques exposées par le matériel.&lt;/p&gt;</description></item><item><title>Évolution du réseau — construire un lab à la maison</title><link>https://antoineboucher.info/CV/blog/fr/posts/home-networking-evolution/</link><pubDate>Mon, 06 Sep 2021 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/home-networking-evolution/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Bienvenue dans un nouveau chapitre du blog : les détails de la mise en place d’un &lt;strong&gt;réseau domestique&lt;/strong&gt; solide. En tant qu’ingénieur logiciel passionné par les protocoles et le calcul efficace, j’ai voulu un système qui équilibre performance, sécurité et coût. Ce billet raconte l’expérience et les choix techniques.&lt;/p&gt;
&lt;h2 id="relever-le-défi-du-réseau-maison"&gt;Relever le défi du réseau maison&lt;/h2&gt;
&lt;p&gt;Mon intérêt pour le réseau remonte aux études (IP, VPN, etc.). Face au coût du cloud, j’ai visé une solution locale avec du &lt;strong&gt;matériel ancien&lt;/strong&gt;, pour limiter dépenses hardware et services en ligne tout en gardant une bonne fonctionnalité.&lt;/p&gt;</description></item><item><title>Démos CodePen (collection)</title><link>https://antoineboucher.info/CV/blog/fr/posts/codepen-demos-antoinebou13/</link><pubDate>Tue, 10 Jan 2017 10:00:00 -0400</pubDate><guid>https://antoineboucher.info/CV/blog/fr/posts/codepen-demos-antoinebou13/</guid><description>&lt;p&gt;Petites démos &lt;strong&gt;CodePen&lt;/strong&gt; (intégrations ci-dessous) et anciens billets regroupés ici : jQuery/CSS, &lt;code&gt;getDisplayMedia&lt;/code&gt;, et autres notes front-end — un seul favori à garder.&lt;/p&gt;
&lt;h2 id="petites-démos"&gt;Petites démos&lt;/h2&gt;
&lt;h3 id="bmdzwx"&gt;BMdzwx&lt;/h3&gt;
&lt;div class="not-prose my-6 w-full overflow-hidden rounded-lg border border-black/10 dark:border-white/10"&gt;
 &lt;iframe
 title="CodePen embed"
 src="https://codepen.io/antoinebou13/embed/BMdzwx?default-tab=result"
 style="width:100%; height: 420px;"
 loading="lazy"
 allowfullscreen="true"
 &gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="https://codepen.io/antoinebou13/pen/BMdzwx"&gt;Ouvrir sur CodePen&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="vue-détails-xmxnyy"&gt;Vue détails (xMXNyy)&lt;/h3&gt;
&lt;div class="not-prose my-6 w-full overflow-hidden rounded-lg border border-black/10 dark:border-white/10"&gt;
 &lt;iframe
 title="CodePen embed"
 src="https://codepen.io/antoinebou13/embed/xMXNyy?default-tab=result"
 style="width:100%; height: 420px;"
 loading="lazy"
 allowfullscreen="true"
 &gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="https://codepen.io/antoinebou13/details/xMXNyy"&gt;Ouvrir sur CodePen&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="jxrqqx"&gt;JxrqQx&lt;/h3&gt;
&lt;div class="not-prose my-6 w-full overflow-hidden rounded-lg border border-black/10 dark:border-white/10"&gt;
 &lt;iframe
 title="CodePen embed"
 src="https://codepen.io/antoinebou13/embed/JxrqQx?default-tab=result"
 style="width:100%; height: 420px;"
 loading="lazy"
 allowfullscreen="true"
 &gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="https://codepen.io/antoinebou13/pen/JxrqQx"&gt;Ouvrir sur CodePen&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>