<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Développeur freelance .NET, Angular, Python et Flutter en Flandre-Occidentale on Rock-IT - Peter Dewachtere - Développeur IT Freelance</title><link>https://dewachtere.be/fr/</link><description>Recent content in Développeur freelance .NET, Angular, Python et Flutter en Flandre-Occidentale on Rock-IT - Peter Dewachtere - Développeur IT Freelance</description><generator>Hugo</generator><language>fr-BE</language><lastBuildDate>Wed, 16 Sep 2026 10:03:53 +0200</lastBuildDate><atom:link href="https://dewachtere.be/fr/index.xml" rel="self" type="application/rss+xml"/><item><title>Boutique en ligne B2B Omni-Term</title><link>https://dewachtere.be/fr/projects/omni-term-webshop/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/fr/projects/omni-term-webshop/</guid><description>&lt;p&gt;&lt;a href="https://www.omniterm.be"&gt;Omni-Term&lt;/a&gt;, établi à Izegem, est depuis 1970 grossiste en chauffage, solaire et ventilation, avec plusieurs succursales et des installateurs professionnels comme clients. Pour ces installateurs, je développe et maintiens la boutique en ligne B2B &lt;strong&gt;pro.omniterm.be&lt;/strong&gt; : le prolongement numérique du comptoir, ouvert 24 heures sur 24.&lt;/p&gt;
&lt;h3 id="le-défi"&gt;Le défi&lt;/h3&gt;
&lt;p&gt;Les installateurs commandent souvent le soir ou depuis le chantier. Ils veulent savoir immédiatement si un article est en stock dans leur succursale et quand ils peuvent l&amp;rsquo;enlever ou le faire livrer. La boutique doit donc fonctionner en parfaite synergie avec l&amp;rsquo;ERP d&amp;rsquo;Omni-Term : prix spécifiques par client, stock par succursale, commandes en cours et factures doivent toujours être corrects.&lt;/p&gt;</description></item><item><title>BillableMe : enregistrement du travail pour freelances</title><link>https://dewachtere.be/fr/projects/billableme/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/fr/projects/billableme/</guid><description>&lt;p&gt;En tant que freelance, je sais combien il est fastidieux de reconstituer ses heures après une longue journée, de rassembler ses tickets et de se souvenir des idées qu&amp;rsquo;on a eues en route. &lt;strong&gt;BillableMe&lt;/strong&gt; est l&amp;rsquo;application que j&amp;rsquo;ai développée pour cela : tout ce que vous faites pour un client est enregistré immédiatement sur votre smartphone, par client et par projet.&lt;/p&gt;
&lt;h3 id="ce-que-fait-billableme"&gt;Ce que fait BillableMe&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Heures et activités&lt;/strong&gt; : enregistrez vos prestations par client, projet et activité, avec un chronomètre intégré ou a posteriori, et consultez-les par jour, semaine, mois ou année&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frais et déplacements&lt;/strong&gt; : frais professionnels et frais supplémentaires par enregistrement, avec types de transport et photos des tickets&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lecture des tickets par IA&lt;/strong&gt; : la photo d&amp;rsquo;un ticket est lue automatiquement (OCR), plus besoin de saisir les montants à la main&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Notes vocales&lt;/strong&gt; : enregistrez une tâche, un rappel ou une note en déplacement ; l&amp;rsquo;application la transcrit automatiquement, en néerlandais ou en anglais, et la rend consultable&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sécurisée et multilingue&lt;/strong&gt; : connexion biométrique, entièrement disponible en néerlandais et en anglais, avec un contrôle de santé du backend au démarrage&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="technologie"&gt;Technologie&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Application&lt;/strong&gt; : Flutter avec Riverpod, GoRouter et Freezed, enregistrement et lecture audio, Material Design ; testée via TestFlight et bientôt disponible sur l&amp;rsquo;App Store et Google Play&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backend&lt;/strong&gt; : NestJS (TypeScript) avec TypeORM et PostgreSQL, authentification JWT, Redis et files d&amp;rsquo;attente Bull pour les tâches de fond, journal d&amp;rsquo;audit et verrouillage optimiste&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Services IA&lt;/strong&gt; : un service de transcription Whisper auto-hébergé en Python (FastAPI, sans GPU) et Google Document AI pour la lecture des tickets&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hébergement &amp;amp; DevOps&lt;/strong&gt; : Docker Swarm avec plusieurs réplicas de l&amp;rsquo;API, nginx, registre privé et health checks, hébergé par Rock-IT&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pourquoi-un-produit-maison-"&gt;Pourquoi un produit maison ?&lt;/h3&gt;
&lt;p&gt;BillableMe est né de ma propre pratique quotidienne et est utilisé comme un vrai utilisateur l&amp;rsquo;utilise. C&amp;rsquo;est aussi mon terrain d&amp;rsquo;essai pour les nouvelles technologies : le développement piloté par les spécifications, la transcription par IA et la reconnaissance de documents y ont été testés avant d&amp;rsquo;être déployés chez des clients. Ce qui fonctionne bien ici profite aussi à mes clients.&lt;/p&gt;</description></item><item><title>POVV DSV Tool : application de commande pour les membres</title><link>https://dewachtere.be/fr/projects/povv-dsv-tool/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/fr/projects/povv-dsv-tool/</guid><description>&lt;p&gt;&lt;a href="https://www.povv.be"&gt;POVV&lt;/a&gt; (Producenten Organisatie Vleesvee) est une coopérative belge qui soutient les éleveurs de bovins viandeux et renforce leur position sur le marché. Via POVV, les membres commandent notamment des aliments pour bétail auprès de différents fournisseurs. Pour simplifier ce processus, j&amp;rsquo;ai développé le &lt;strong&gt;DSV Tool&lt;/strong&gt; : une application mobile pour les membres, un panneau d&amp;rsquo;administration web pour le secrétariat et un backend central qui relie le tout. Rock-IT collabore avec POVV depuis 2021 ; après le site web, cette plateforme de commande a suivi en 2026.&lt;/p&gt;</description></item><item><title>Kadeo : site web pour un atelier de céramique</title><link>https://dewachtere.be/fr/projects/kadeo-website/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/fr/projects/kadeo-website/</guid><description>&lt;p&gt;&lt;a href="https://katleendeprez.be"&gt;Kadeo&lt;/a&gt; est l&amp;rsquo;atelier de céramique de Katleen Deprez. Elle souhaitait un site qui laisse parler son travail : calme, chaleureux et visuel, avec une galerie qu&amp;rsquo;elle peut enrichir elle-même sans l&amp;rsquo;intervention d&amp;rsquo;un développeur. J&amp;rsquo;ai conçu et développé le site de A à Z et je l&amp;rsquo;héberge sur l&amp;rsquo;infrastructure de Rock-IT.&lt;/p&gt;
&lt;h3 id="le-défi"&gt;Le défi&lt;/h3&gt;
&lt;p&gt;Le site portfolio d&amp;rsquo;une artiste tourne autour de l&amp;rsquo;image. Les photos doivent se charger vite, rester nettes sur chaque écran et être faciles à gérer : téléverser, recadrer, classer par section, et c&amp;rsquo;est fait. En même temps, le site doit être bien référencé dans Google, disposer d&amp;rsquo;un formulaire de contact qui bloque le spam et respecter la législation sur les cookies. Tout cela sans frais d&amp;rsquo;abonnement à un CMS externe.&lt;/p&gt;</description></item><item><title>Kadeo Photo Uploader : application photo pour l'atelier</title><link>https://dewachtere.be/fr/projects/kadeo-photo-uploader/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/fr/projects/kadeo-photo-uploader/</guid><description>&lt;p&gt;Une nouvelle pièce sort du four, la photo est prise avec le smartphone&amp;hellip; et il faut encore la transférer sur l&amp;rsquo;ordinateur, la recadrer et la téléverser. Pour l&amp;rsquo;atelier de céramique &lt;a href="https://katleendeprez.be"&gt;Kadeo&lt;/a&gt;, j&amp;rsquo;ai donc développé une petite application Flutter ciblée qui évite ce détour : choisir une photo, choisir une section, téléverser. Terminé.&lt;/p&gt;
&lt;h3 id="le-défi"&gt;Le défi&lt;/h3&gt;
&lt;p&gt;Le &lt;a href="https://dewachtere.be/fr/projects/kadeo-website/"&gt;site web de Kadeo&lt;/a&gt; dispose d&amp;rsquo;un panneau d&amp;rsquo;administration complet, mais un CMS dans le navigateur reste peu pratique sur smartphone. L&amp;rsquo;application devait être rapide et simple, livrer automatiquement les photos dans la bonne qualité et communiquer de manière sécurisée avec le site sans devoir saisir un mot de passe à chaque fois. De plus, elle n&amp;rsquo;avait pas besoin d&amp;rsquo;être sur l&amp;rsquo;App Store : elle ne tourne que sur l&amp;rsquo;iPhone de la céramiste.&lt;/p&gt;</description></item><item><title>MVDM Advocaten : site web pour un cabinet d'avocats</title><link>https://dewachtere.be/fr/projects/mvdm-advocaten/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/fr/projects/mvdm-advocaten/</guid><description>&lt;p&gt;&lt;a href="https://www.mvdmadvocaten.be"&gt;MVDM Advocaten&lt;/a&gt; est un cabinet d&amp;rsquo;avocats établi à Ypres et à Brielen. Je m&amp;rsquo;occupe du site web du cabinet depuis 2018, d&amp;rsquo;abord sous le nom d&amp;rsquo;Onraet-Verfaille. Lorsque le cabinet a poursuivi ses activités sous le nom de MVDM Advocaten à l&amp;rsquo;automne 2022, le site a reçu une toute nouvelle identité visuelle, avec la sobre photographie en noir et blanc qui est aujourd&amp;rsquo;hui la carte de visite du cabinet.&lt;/p&gt;
&lt;h3 id="le-défi"&gt;Le défi&lt;/h3&gt;
&lt;p&gt;Un cabinet d&amp;rsquo;avocats veut inspirer confiance : sobre, professionnel et surtout clair. Les visiteurs cherchent rapidement la réponse à trois questions : que fait ce cabinet, combien cela coûte-t-il et qui sont les avocats ? Le site devait en outre être disponible en néerlandais et en français, être bien référencé dans Google et absorber le changement de nom sans perdre de visiteurs.&lt;/p&gt;</description></item><item><title>Notes vocales avec l'IA : comment BillableMe transforme l'audio en texte avec Whisper</title><link>https://dewachtere.be/fr/blog/whisper-spraaknotities-billableme/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/fr/blog/whisper-spraaknotities-billableme/</guid><description>&lt;p&gt;En tant que freelance, les meilleures idées viennent en voiture ou sur le chantier, précisément quand taper du texte est impossible. C&amp;rsquo;est pourquoi &lt;a href="https://dewachtere.be/fr/projects/billableme/"&gt;BillableMe&lt;/a&gt; a reçu des notes vocales : vous dictez une tâche, un rappel ou une note, et une demi-minute plus tard le texte apparaît, consultable. Voici comment je m&amp;rsquo;y suis pris.&lt;/p&gt;
&lt;h3 id="les-exigences"&gt;Les exigences&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;L&amp;rsquo;audio reste sur mon propre serveur, sans service de transcription externe.&lt;/li&gt;
&lt;li&gt;Néerlandais et anglais, avec détection automatique de la langue.&lt;/li&gt;
&lt;li&gt;Pas de GPU : le tout doit tourner sur le Docker Swarm existant.&lt;/li&gt;
&lt;li&gt;L&amp;rsquo;utilisateur n&amp;rsquo;attend jamais la transcription.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="étape-1--enregistrer-en-flutter"&gt;Étape 1 : enregistrer en Flutter&lt;/h3&gt;
&lt;p&gt;L&amp;rsquo;application enregistre avec le package &lt;code&gt;record&lt;/code&gt; en AAC (m4a), demande l&amp;rsquo;autorisation du microphone et vous laisse choisir directement une catégorie, un drapeau et un titre. Le fichier part vers l&amp;rsquo;API NestJS en upload multipart. Dès cet instant, la note apparaît dans la liste avec le statut « en traitement ».&lt;/p&gt;</description></item><item><title>Rechercher dans un catalogue technique : Elasticsearch et ETIM chez Omni-Term</title><link>https://dewachtere.be/fr/blog/etim-zoeken-elasticsearch-omniterm/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://dewachtere.be/fr/blog/etim-zoeken-elasticsearch-omniterm/</guid><description>&lt;p&gt;Un installateur qui tape « manomètre 1/2 » veut une seule chose : le bon article, tout de suite. Dans la &lt;a href="https://dewachtere.be/fr/projects/omni-term-webshop/"&gt;boutique B2B d&amp;rsquo;Omni-Term&lt;/a&gt;, les installateurs cherchent par numéro d&amp;rsquo;article, code fournisseur, marque, description ou caractéristique technique, dans un catalogue issu de nombreux fabricants. Voici comment j&amp;rsquo;ai construit cette recherche.&lt;/p&gt;
&lt;h3 id="une-seule-zone-de-recherche-beaucoup-de-types-de-questions"&gt;Une seule zone de recherche, beaucoup de types de questions&lt;/h3&gt;
&lt;p&gt;La requête est d&amp;rsquo;abord analysée. Si le code reconnaît un numéro d&amp;rsquo;article ou un code fournisseur, il passe directement à une correspondance exacte et par wildcard sur ces champs, avec le boost le plus élevé. S&amp;rsquo;il reconnaît une marque, les produits de cette marque sont favorisés. Le reste est traité comme des termes ordinaires, cherchés simultanément dans plusieurs champs : la désignation en mot-clé exact, en texte analysé et en edge n-gram pour les préfixes, la description du produit, et la hiérarchie de la catégorie jusqu&amp;rsquo;à la famille de produits. La recherche d&amp;rsquo;un ancien numéro d&amp;rsquo;article trouve aussi son successeur grâce à une liste imbriquée de prédécesseurs.&lt;/p&gt;</description></item></channel></rss>