<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Grégoire Hébert</title><description>Principal Engineer chez Les-Tilleuls.coop. Articles sur PHP, Symfony, API Platform, l&apos;architecture logicielle, les API — et quelques détours.</description><link>https://knot.gheb.dev/</link><item><title>PHP et programmation fonctionnelle</title><link>https://knot.gheb.dev/blog/php-programmation-fonctionnelle/</link><guid isPermaLink="true">https://knot.gheb.dev/blog/php-programmation-fonctionnelle/</guid><description>Procédural, impératif, fonctionnel : PHP est multi-paradigmes, mais ce que l&apos;on écrit au quotidien relève rarement du fonctionnel.</description><pubDate>Wed, 09 Aug 2023 17:00:00 GMT</pubDate></item><item><title>Je prouve que 1000 vaut 1 ?</title><link>https://knot.gheb.dev/blog/1000-vaut-1/</link><guid isPermaLink="true">https://knot.gheb.dev/blog/1000-vaut-1/</guid><description>Pourquoi stocker des prix dans des entiers, et pourquoi un paginator renvoie un float : petite plongée dans la norme IEEE-754.</description><pubDate>Thu, 24 Mar 2022 21:30:00 GMT</pubDate></item><item><title>[Symfony] Inject a tagged iterator</title><link>https://knot.gheb.dev/blog/sf-inject-tagged-iterator/</link><guid isPermaLink="true">https://knot.gheb.dev/blog/sf-inject-tagged-iterator/</guid><description>Injecting a tagged iterator in a more natural way, without repeating the service definition in your configuration.</description><pubDate>Thu, 24 Mar 2022 21:30:00 GMT</pubDate></item><item><title>DIY — Meuble vélo</title><link>https://knot.gheb.dev/blog/bike-shelf/</link><guid isPermaLink="true">https://knot.gheb.dev/blog/bike-shelf/</guid><description>Construire un meuble range-vélo soi-même : le concept, les problèmes, les plans et cinq journées de travail.</description><pubDate>Tue, 22 Mar 2022 18:20:00 GMT</pubDate></item><item><title>A prime constant</title><link>https://knot.gheb.dev/blog/a-prime-constant/</link><guid isPermaLink="true">https://knot.gheb.dev/blog/a-prime-constant/</guid><description>A prime constant has been calculated to generate a suite of prime numbers. Does it hold up?</description><pubDate>Sat, 28 Nov 2020 08:30:00 GMT</pubDate></item><item><title>As we used to think</title><link>https://knot.gheb.dev/blog/as-we-used-to-think/</link><guid isPermaLink="true">https://knot.gheb.dev/blog/as-we-used-to-think/</guid><description>Vous sous-estimez la puissance du web. Serait-il l&apos;extension de votre cerveau ?</description><pubDate>Sat, 28 Nov 2020 08:30:00 GMT</pubDate></item><item><title>RSA TLS AES WTF — partie 3</title><link>https://knot.gheb.dev/blog/rsa-tls-aes-wtf-part-3/</link><guid isPermaLink="true">https://knot.gheb.dev/blog/rsa-tls-aes-wtf-part-3/</guid><description>SHA, AES et le fonctionnement interne des algorithmes de chiffrement par blocs.</description><pubDate>Sun, 29 Mar 2020 14:45:00 GMT</pubDate></item><item><title>RSA TLS AES WTF — partie 2</title><link>https://knot.gheb.dev/blog/rsa-tls-aes-wtf-part-2/</link><guid isPermaLink="true">https://knot.gheb.dev/blog/rsa-tls-aes-wtf-part-2/</guid><description>Échange de clés Diffie-Hellman, fonctions de hachage et paradoxe des anniversaires.</description><pubDate>Sun, 29 Mar 2020 09:45:00 GMT</pubDate></item><item><title>RSA TLS AES WTF — partie 1</title><link>https://knot.gheb.dev/blog/rsa-tls-aes-wtf-part-1/</link><guid isPermaLink="true">https://knot.gheb.dev/blog/rsa-tls-aes-wtf-part-1/</guid><description>Entrée en matière dans la sécurité des échanges sur le web : chiffrement symétrique, asymétrique et RSA.</description><pubDate>Sat, 28 Mar 2020 21:22:00 GMT</pubDate></item><item><title>Vous travaillez d&apos;abord pour vous !</title><link>https://knot.gheb.dev/blog/work-for-you/</link><guid isPermaLink="true">https://knot.gheb.dev/blog/work-for-you/</guid><description>Bore out, burn out, brown out : pourquoi on s&apos;épuise au travail, et quelques clés pour reprendre la main.</description><pubDate>Wed, 09 Oct 2019 12:44:00 GMT</pubDate></item><item><title>Lissajous curve table</title><link>https://knot.gheb.dev/blog/lissajous-curve-table/</link><guid isPermaLink="true">https://knot.gheb.dev/blog/lissajous-curve-table/</guid><description>Drawing a Lissajous curve table on a canvas: combining speed, rotation and angle, step by step.</description><pubDate>Fri, 26 Apr 2019 09:00:00 GMT</pubDate></item><item><title>Barnsley&apos;s fern</title><link>https://knot.gheb.dev/blog/barnsley-s-fern/</link><guid isPermaLink="true">https://knot.gheb.dev/blog/barnsley-s-fern/</guid><description>Once you enter the world of fractals you always want more. Drawing Barnsley&apos;s fern on a canvas.</description><pubDate>Thu, 25 Apr 2019 09:00:00 GMT</pubDate></item><item><title>SymfonyCon Lisbon 2018</title><link>https://knot.gheb.dev/blog/symfonycon-lisbon-2018/</link><guid isPermaLink="true">https://knot.gheb.dev/blog/symfonycon-lisbon-2018/</guid><description>If you missed the SymfonyCon this year and are waiting for the video replays, here are my impressions.</description><pubDate>Wed, 12 Dec 2018 12:00:00 GMT</pubDate></item><item><title>Control your migrations</title><link>https://knot.gheb.dev/blog/control-your-migrations/</link><guid isPermaLink="true">https://knot.gheb.dev/blog/control-your-migrations/</guid><description>Do you really think you handle Doctrine migrations properly? A look at what the documentation gets wrong.</description><pubDate>Tue, 12 Jun 2018 10:00:00 GMT</pubDate></item><item><title>A Docker story</title><link>https://knot.gheb.dev/blog/a-docker-story/</link><guid isPermaLink="true">https://knot.gheb.dev/blog/a-docker-story/</guid><description>Docker can be greedy with your host memory over time. Is there a radical way to free some space?</description><pubDate>Wed, 06 Jun 2018 17:20:00 GMT</pubDate></item><item><title>SpriteSheet Animation</title><link>https://knot.gheb.dev/blog/animated-spritesheet/</link><guid isPermaLink="true">https://knot.gheb.dev/blog/animated-spritesheet/</guid><description>Animating a spritesheet is easy with a software — but what if I want to do it using CSS only?</description><pubDate>Fri, 16 Feb 2018 20:30:00 GMT</pubDate></item></channel></rss>