<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Code avec Ludo</title><link>https://ludovicwyffels.dev/</link><description>Recent content on Code avec Ludo</description><generator>Hugo -- gohugo.io</generator><language>fr-be</language><copyright>© 2025 Code avec Ludo</copyright><atom:link href="https://ludovicwyffels.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>Comment éditer les messages de Git Commit</title><link>https://ludovicwyffels.dev/blog/2024-08_git-edit-git-commit-messages/</link><pubDate>Sun, 04 Aug 2024 07:00:00 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2024-08_git-edit-git-commit-messages/</guid><description>Dans le monde du contrôle de version, les erreurs arrivent - y compris dans les messages de validation. Heureusement, Git fournit un moyen simple de corriger ces messages, qu’il s’agisse du premier commit ou de n’importe quel commit dans votre dépôt.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2024-08_git-edit-git-commit-messages/feature.jpg"/></item><item><title>Tests d'API avec Bruno</title><link>https://ludovicwyffels.dev/blog/2024-07_bruno-scripting/</link><pubDate>Sat, 06 Jul 2024 18:00:00 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2024-07_bruno-scripting/</guid><description>Dans le monde dynamique du développement et des tests d&amp;rsquo;API, l&amp;rsquo;automatisation est essentielle.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2024-07_bruno-scripting/feature.png"/></item><item><title>Bruno, l'alternative à Postman</title><link>https://ludovicwyffels.dev/blog/2024-07_bruno/</link><pubDate>Mon, 01 Jul 2024 08:00:00 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2024-07_bruno/</guid><description>Bruno est un nouveau client API innovant, conçu pour remettre en question le statu quo représenté par Postman et d&amp;rsquo;autres outils similaires.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2024-07_bruno/feature.png"/></item><item><title>Créer et exécuter des jeux de tests Playwright à l'aide de tags et de grep</title><link>https://ludovicwyffels.dev/blog/2024-06_playwright-attachments/</link><pubDate>Sat, 29 Jun 2024 18:00:00 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2024-06_playwright-attachments/</guid><description>Au fur et à mesure que votre suite de tests s&amp;rsquo;étoffe, il se peut que vous souhaitiez exécuter un sous-ensemble de vos tests.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2024-06_playwright-attachments/feature2.png"/></item><item><title>Ajoutez des pièces jointes à votre rapport de Playwright</title><link>https://ludovicwyffels.dev/blog/2024-01_playwright-tags-and-grep/</link><pubDate>Sun, 14 Jan 2024 18:00:00 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2024-01_playwright-tags-and-grep/</guid><description>&lt;p>Les tests automatisés avec Playwright sont un excellent moyen de s&amp;rsquo;assurer que votre application fonctionne correctement, mais tester un fichier peut s&amp;rsquo;avérer difficile.&lt;/p>
&lt;p>Il ne s&amp;rsquo;agit pas d&amp;rsquo;une tâche simple à automatiser et elle doit être testée par un humain pour être complète. Cependant, nous pouvons faire de notre mieux pour rendre cette tâche plus facile que d&amp;rsquo;avoir à ouvrir manuellement l&amp;rsquo;application, puis à interagir avec elle, juste pour télécharger le fichier. Cela peut être acceptable une ou deux fois, mais cela devient rapidement une tâche fastidieuse. Par conséquent, ce test sera &amp;ldquo;oublié&amp;rdquo;.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2024-01_playwright-tags-and-grep/feature.jpg"/></item><item><title>Exécuter des containers sur MacOS avec Lima</title><link>https://ludovicwyffels.dev/blog/run-conteners-on-macos-with-lima/</link><pubDate>Sat, 25 Nov 2023 15:14:35 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/run-conteners-on-macos-with-lima/</guid><description>Utiliser Docker sur MacOS peut être un problème, étant donné que Docker Desktop est un peu agressif avec la consommation des ressources de la machine et le changement de leur license depuis le 31 janvier 2022, c&amp;rsquo;est pourquoi certaines alternatives ont été créées, Lima en fait partie, et c&amp;rsquo;est de cela que je vais parler un peu.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/run-conteners-on-macos-with-lima/featured.jpg"/></item><item><title>Soyez plus productif grâce à Git bisect</title><link>https://ludovicwyffels.dev/blog/2023-11_git-bisect/</link><pubDate>Sat, 18 Nov 2023 15:03:35 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2023-11_git-bisect/</guid><description>&lt;p>Lorsque l&amp;rsquo;on développe, on ne va pas se mentir, on perd une grosse partie de notre temps à déboguer.&lt;/p>
&lt;p>Si je devais diviser le temps que je passe à développer je le ferais ainsi :&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2023-11_git-bisect/cover.png"/></item><item><title>Fusionner vos rapports Playwright en un seul rapport HTML</title><link>https://ludovicwyffels.dev/blog/2023-08_playwright-merge-sharded/</link><pubDate>Fri, 25 Aug 2023 14:00:00 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2023-08_playwright-merge-sharded/</guid><description>Dans un précédent billet de blog, &amp;ldquo;L&amp;rsquo;utilisation de tests Playwright en combinaison avec une matrice de tâches pour améliorer la vitesse de la CI&amp;rdquo;, nous avons vu comment diviser notre suite de tests Playwright en plusieurs lots afin d&amp;rsquo;accélérer le pipeline de construction.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2023-08_playwright-merge-sharded/feature.jpg"/></item><item><title>L'utilisation de tests Playwright en combinaison avec une matrice de tâches pour améliorer la vitesse de la CI</title><link>https://ludovicwyffels.dev/blog/2023-06_playwright-test-shards/</link><pubDate>Wed, 28 Jun 2023 19:00:00 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2023-06_playwright-test-shards/</guid><description>&lt;p>L&amp;rsquo;utilisation de la technique du test sharding signifie que la suite de tests est séparée en plusieurs morceaux (shards). Cela permet d&amp;rsquo;améliorer considérablement le temps d&amp;rsquo;exécution lorsque les différents morceaux sont testés simultanément. Pour ce faire, il faut distribuer les shards de test sur différentes machines.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2023-06_playwright-test-shards/feature.jpg"/></item><item><title>Comment configurer plusieurs clés SSH pour plusieurs comptes</title><link>https://ludovicwyffels.dev/blog/2022-05_git-setup-multiple-ssh/</link><pubDate>Sat, 14 May 2022 15:03:35 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2022-05_git-setup-multiple-ssh/</guid><description>Vous possèdez peut-être plusieurs compte git. Nous allons voir comment connecter une identité personnelle et professionelle pour chaque compte avec des clés SSH.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2022-05_git-setup-multiple-ssh/cover.jpg"/></item><item><title>VS Code - utiliser les expressions régulières dans les recherches / remplacements</title><link>https://ludovicwyffels.dev/blog/2021-06_vscode-regex/</link><pubDate>Fri, 11 Jun 2021 14:23:55 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2021-06_vscode-regex/</guid><description>Petit pense-bête pour utiliser les expressions régulières sur VS Code. C&amp;rsquo;estt une fonctionnalité que j&amp;rsquo;utilise fréquement, mais pas assez pour que je me souvienne des motifs quand j&amp;rsquo;en ai besoin.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2021-06_vscode-regex/cover.jpeg"/></item><item><title>GitFlow</title><link>https://ludovicwyffels.dev/blog/2020-03_gitflow/</link><pubDate>Thu, 12 Mar 2020 11:22:31 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2020-03_gitflow/</guid><description>GitFlow est ce que l&amp;rsquo;on appelle un workflow, une stratégie d&amp;rsquo;utilisation de Git. Il en existe plein d&amp;rsquo;autres mais GitFlow est l&amp;rsquo;un des plus connu.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2020-03_gitflow/cover.jpg"/></item><item><title>Gestion des environnements Angular en livraison continue</title><link>https://ludovicwyffels.dev/blog/2019-09_angular-dynamic-environment/</link><pubDate>Sun, 08 Sep 2019 18:15:11 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-09_angular-dynamic-environment/</guid><description>Mise en oeuvre de la configuration de l&amp;rsquo;environnement dynamique dans Angular pour éviter un build par environnement</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-09_angular-dynamic-environment/cover.jpg"/></item><item><title>Journalisation: quelques règles pratique</title><link>https://ludovicwyffels.dev/blog/2019-09_logging/</link><pubDate>Sat, 07 Sep 2019 08:49:27 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-09_logging/</guid><description>&lt;p>La journalisation est quelque chose que chaque développeur fait depuis ses débuts en programmation, mais très peu connaissent la valeur qu&amp;rsquo;elle peut produire et les meilleures pratiques.&lt;/p>
&lt;p>Dans ce billet, nous aborderons les sujets suivants :&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-09_logging/cover.jpg"/></item><item><title>Mocking de la date actuelle dans les tests de Jest</title><link>https://ludovicwyffels.dev/blog/2019-08_jest-mocking-current-date/</link><pubDate>Sun, 25 Aug 2019 09:51:03 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-08_jest-mocking-current-date/</guid><description>Il y a des situations où new Date() ou Date.now est utilisée dans le code de l’application. Ce code doit être testé, et il est toujours difficile de se rappeler comment le moquer.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-08_jest-mocking-current-date/cover.jpg"/></item><item><title>Jest ignore ou exclure le fichier/fonction/état de la couverture de test</title><link>https://ludovicwyffels.dev/blog/2019-08_jest-exclude-coverage/</link><pubDate>Sun, 18 Aug 2019 10:56:42 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-08_jest-exclude-coverage/</guid><description>Cet article explique comment ignorer les fichiers, fonctions, lignes et déclarations de la couverture dans Jest en utilisant la configuration ou istanbul pragmas. Ainsi que les raisons et les limites du pourquoi/comment vous feriez une telle chose.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-08_jest-exclude-coverage/cover.jpg"/></item><item><title>Convertissez vos fonction callback en promise</title><link>https://ludovicwyffels.dev/blog/2019-08_callback-promise/</link><pubDate>Thu, 15 Aug 2019 20:53:51 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-08_callback-promise/</guid><description>Débarrassez-vous de ces fonctions callback ennuyeuses avec des promise.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-08_callback-promise/cover.jpg"/></item><item><title>Bien gérer ses textes de commit (partie 2)</title><link>https://ludovicwyffels.dev/blog/2019-08_git-manage-commit-text-part2/</link><pubDate>Sun, 11 Aug 2019 18:07:08 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-08_git-manage-commit-text-part2/</guid><description>Mettons en place l&amp;rsquo;application de la norme &amp;ldquo;conventional-changelog&amp;rdquo; pour un nouveau projet</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-08_git-manage-commit-text-part2/cover.jpg"/></item><item><title>Bien gérer ses textes de commit (partie 1)</title><link>https://ludovicwyffels.dev/blog/2019-08_git-manage-commit-text-part1/</link><pubDate>Sun, 11 Aug 2019 08:07:11 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-08_git-manage-commit-text-part1/</guid><description>Que l’on soit backend, frontend, il y a une chose qui nous rassemble, c’est notre gestionnaire de source et son utilisation. Dans cet article, je vais vous présenter le conventional-changelog qui vous permettra de produire un historique de super qualité !</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-08_git-manage-commit-text-part1/cover.jpg"/></item><item><title>Automatisez les mises à jour des dépendances</title><link>https://ludovicwyffels.dev/blog/2019-08_automate-dependency-updates/</link><pubDate>Sat, 10 Aug 2019 13:58:25 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-08_automate-dependency-updates/</guid><description>Voyons comment automatiser ce processus dans un environnement d&amp;rsquo;entreprise en supposant que vous ayez un environnement CI/CD et un repo GitHub privé.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-08_automate-dependency-updates/cover.jpg"/></item><item><title>Prise en main de PM2, le gestionnaire de processus Node.js</title><link>https://ludovicwyffels.dev/blog/2019-08_pm2/</link><pubDate>Thu, 01 Aug 2019 21:33:05 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-08_pm2/</guid><description>PM2 a beaucoup d&amp;rsquo;utilisations, jetons un coup d&amp;rsquo;oeil à quelques-unes d&amp;rsquo;entre elles</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-08_pm2/cover.jpg"/></item><item><title>Loopback 4 - Configuration de la base de données</title><link>https://ludovicwyffels.dev/blog/2019-06_loopback-database/</link><pubDate>Sat, 29 Jun 2019 21:45:25 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-06_loopback-database/</guid><description>Cet article va décrire quelques façons de configurer une application LoopBack 4 par rapport à une base de données à travers plusieurs environnements de développement (dev, test et production).</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-06_loopback-database/cover.jpeg"/></item><item><title>Premiers pas avec LoopBack 4</title><link>https://ludovicwyffels.dev/blog/2019-06_loopback/</link><pubDate>Sat, 29 Jun 2019 09:41:24 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-06_loopback/</guid><description>LoopBack 4 est un framework d&amp;rsquo;API open-source. La dernière version a adopté les dernières fonctionnalités de ES2016/2017/2018, supporte TypeScript et intègre de nouveaux standards tels que OpenAPI Spec et GraphQL, parmi d&amp;rsquo;autres.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-06_loopback/cover.jpeg"/></item><item><title>Vim Modelines Vulnerable</title><link>https://ludovicwyffels.dev/blog/2019-06_vim-modelines-vulnerable/</link><pubDate>Sun, 23 Jun 2019 19:00:00 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-06_vim-modelines-vulnerable/</guid><description>Mettez à jour Vim avec la dernière version en quelques minutes.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-06_vim-modelines-vulnerable/cover.png"/></item><item><title>Stratégie de déploiement de Kubernetes</title><link>https://ludovicwyffels.dev/blog/2019-05_k8s-deployement-strategies/</link><pubDate>Sat, 25 May 2019 10:24:34 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-05_k8s-deployement-strategies/</guid><description>Dans Kubernetes, il y a plusieurs façons de publier une application, il est nécessaire de choisir la bonne stratégie pour rendre votre infrastructure fiable pendant la mise à jour d&amp;rsquo;une application.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-05_k8s-deployement-strategies/cover.jpg"/></item><item><title>Configuration locale de Kubernetes avec minikube sur MacOS</title><link>https://ludovicwyffels.dev/blog/2019-05_minikube/</link><pubDate>Thu, 23 May 2019 08:19:47 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-05_minikube/</guid><description>Dans ce guide, je vais essayer de vous aider à le mettre en marche sur votre machine locale, à donner quelques conseils sur où et comment effectuer certaines tâches et à le rendre aussi capable (je suppose quand vous utilisez k8s que vous veulent apprendre et utiliser Helm, etcd, istio, etc.).</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-05_minikube/cover.jpg"/></item><item><title>Bash - Vérifier les variables d'environnement sont définies ou s'il existe des fichiers/références</title><link>https://ludovicwyffels.dev/blog/2019-05_bash/</link><pubDate>Tue, 21 May 2019 22:02:31 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-05_bash/</guid><description>&lt;p>La configuration, le CI et les flux de déploiement représente un peu l&amp;rsquo;ancien script bash.&lt;/p>
&lt;p>Malgré mon profond intérêt pour les subtilités de Bash (&lt;em>/sarcasme&lt;/em>), j&amp;rsquo;ai continué à chercher des solution aux mêmes situations sur Google et StackOverflow.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-05_bash/cover.jpg"/></item><item><title>Mocking des classes ES6 dans les tests unitaires</title><link>https://ludovicwyffels.dev/blog/2019-05_sequelize-mocking/</link><pubDate>Sat, 11 May 2019 19:34:50 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-05_sequelize-mocking/</guid><description>&lt;p>Cet article passe en revue certains modèles pouvant être utilisés pour tester les classes ES6.&lt;/p>
&lt;p>Les exemples utiliseront l&amp;rsquo;auto-mocking du module Jest mais devraient être portables à d&amp;rsquo;autres bibliothèques de mocking de module (par exemple Proxyquire) avec quelques modifications.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-05_sequelize-mocking/cover.jpg"/></item><item><title>Utilisation des classes ES6 pour les modèles Sequelize 4 ou 5</title><link>https://ludovicwyffels.dev/blog/2019-05_sequelize-classes/</link><pubDate>Fri, 10 May 2019 18:09:54 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-05_sequelize-classes/</guid><description>Sequelize supporte les classe ES6, mais la documentation manque un peu.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-05_sequelize-classes/cover.jpg"/></item><item><title>Sequelize DataTypes: guide pratique</title><link>https://ludovicwyffels.dev/blog/2019-05_sequelize-datatypes/</link><pubDate>Fri, 10 May 2019 09:03:17 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-05_sequelize-datatypes/</guid><description>Les DataTypes sont au coeur de la bibliothèque Sequelize. Ceci est un guide pratique et complet pour compenser la documentation officielle clairsemée de Sequelize sur le sujet.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-05_sequelize-datatypes/cover.jpg"/></item><item><title>Fractionner un commit existant</title><link>https://ludovicwyffels.dev/blog/2019-05_git-split-existing-commit/</link><pubDate>Wed, 08 May 2019 11:00:39 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-05_git-split-existing-commit/</guid><description>Une des choses les plus grandes et les pires avec git est que vous pouvez réécrire l&amp;rsquo;histoire. Voici une façon sournoise d&amp;rsquo;abuser de cela, je ne peux pas penser à une raison légitime de le faire.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-05_git-split-existing-commit/cover.jpg"/></item><item><title>Changer la date d'un commit</title><link>https://ludovicwyffels.dev/blog/2019-05_git-change-date-of-commit/</link><pubDate>Wed, 08 May 2019 09:26:56 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-05_git-change-date-of-commit/</guid><description>Une des choses les plus grandes et les pires avec git est que vous pouvez réécrire l&amp;rsquo;histoire. Voici une façon sournoise d&amp;rsquo;abuser de cela, je ne peux pas penser à une raison légitime de le faire.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-05_git-change-date-of-commit/cover.jpg"/></item><item><title>Changer d'environnement Node.js</title><link>https://ludovicwyffels.dev/blog/2019-05_nvm/</link><pubDate>Tue, 07 May 2019 14:37:53 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-05_nvm/</guid><description>&lt;p>Si vous travaillez sur plus d&amp;rsquo;un projet à la fois, travaillez beaucoup en open source ou si vous décidez de revenir à un projet que vous avez réalisé il y a un an, il y a de fortes chances pour que vous deviez changer de version de Node.js. Il se peut que quelques dépendances ne fonctionnent que sur une version de Node.js spécifique. Vous pouvez utiliser nvm pour changer vos versions de node.js en une seconde.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-05_nvm/cover.png"/></item><item><title>3 façons de communiquer entre les composants Angular</title><link>https://ludovicwyffels.dev/blog/2019-05_angular-3way-communication/</link><pubDate>Tue, 07 May 2019 08:19:19 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-05_angular-3way-communication/</guid><description>&lt;p>Bien que le titre de cet article soit un peu trompeur, car nous ne souhaitons pas vraiment communiquer directement entre les composants. Nos composants doivent être isolés et encapsulés. J&amp;rsquo;ai choisi ce titre parce que je pense que les développeurs aux prises avec ce problème le googleront de cette façon.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-05_angular-3way-communication/cover.png"/></item><item><title>Comment Gatsby évolue avec votre expertise</title><link>https://ludovicwyffels.dev/blog/2019-05_gatsby-expertise/</link><pubDate>Sun, 05 May 2019 22:35:01 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-05_gatsby-expertise/</guid><description>Et simplifiez leur maintenance tout en créant moins de bugs.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-05_gatsby-expertise/cover.png"/></item><item><title>Push notification</title><link>https://ludovicwyffels.dev/blog/2019-05_push-notification/</link><pubDate>Sat, 04 May 2019 20:20:29 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-05_push-notification/</guid><description>Contruire une notification en utilisant Node.js et un module appelé web push.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-05_push-notification/cover.jpg"/></item><item><title>Angular DevOps: CT/CI avec Travis CI et Github Pages</title><link>https://ludovicwyffels.dev/blog/2019-04_angular-travis/</link><pubDate>Mon, 29 Apr 2019 08:12:15 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-04_angular-travis/</guid><description>Utilisation de Travis CI pour implémenter les tests continus (CT) et l&amp;rsquo;intégration continue (CI) afin de déployer notre application Angular sur Github Pages</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-04_angular-travis/cover.png"/></item><item><title>Comment écrire des applications Node.js en TypeScript</title><link>https://ludovicwyffels.dev/blog/2019-04_node-typescript/</link><pubDate>Sat, 27 Apr 2019 19:24:19 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-04_node-typescript/</guid><description>&lt;p>Depuis que j&amp;rsquo;ai découvert TypeScript, je l&amp;rsquo;utilise pour toutes mes applications JavaScript. Il y a tellement d&amp;rsquo;avantages à utiliser TypeScript que vous aurez besoin d&amp;rsquo;un argument convaincant pour me permettre d&amp;rsquo;écrire quoi que ce soit en JavaScript Vanilla.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-04_node-typescript/cover.png"/></item><item><title>Comment créer une timeline avec React</title><link>https://ludovicwyffels.dev/blog/2019-04_react-timeline/</link><pubDate>Fri, 26 Apr 2019 08:07:20 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-04_react-timeline/</guid><description>&lt;p>Ces derniers jours, je travaille sur une nouvelle page pour mon site web. Je voulais avoir une timeline pour présenter certaines de mes réalisations au fil des ans.&lt;/p>
&lt;p>Je l&amp;rsquo;ai fait pour deux raisons:&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-04_react-timeline/cover.jpg"/></item><item><title>Architecture d'un projet node.js Bulletproof</title><link>https://ludovicwyffels.dev/blog/2019-04_node-architecture/</link><pubDate>Sat, 20 Apr 2019 08:02:06 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-04_node-architecture/</guid><description>Une architecture de projet simple mais puissante pour les APIs REST de node.js</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-04_node-architecture/cover.jpeg"/></item><item><title>Comment écrire de meilleures conditions en JavaScript</title><link>https://ludovicwyffels.dev/blog/2019-04_conditions/</link><pubDate>Fri, 19 Apr 2019 09:45:58 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-04_conditions/</guid><description/><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-04_conditions/cover.png"/></item><item><title>Comment utiliser la console JavaScript aller au-delà de console.log()</title><link>https://ludovicwyffels.dev/blog/2019-04_console-log/</link><pubDate>Thu, 18 Apr 2019 08:42:25 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-04_console-log/</guid><description>L&amp;rsquo;un des moyens les plus simples de déboguer quoi que ce soit en JavaScript consiste à &lt;code>console.log&lt;/code> des éléments</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-04_console-log/cover.png"/></item><item><title>Bienvenue sur mon blog crée avec Gatsby</title><link>https://ludovicwyffels.dev/blog/2019-04_gatsby-welcome/</link><pubDate>Wed, 17 Apr 2019 11:30:26 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-04_gatsby-welcome/</guid><description>Pourquoi Gatsby.js ?</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-04_gatsby-welcome/cover.jpg"/></item><item><title>Principales commandes SQL/PostgreSQL que vous avez besoin de connaître</title><link>https://ludovicwyffels.dev/blog/2019-04_sql-principes/</link><pubDate>Sun, 14 Apr 2019 08:48:49 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-04_sql-principes/</guid><description>&lt;p>Ici, nous allons passer en revue les commandes les plus importantes et les plus élémentaires que vous devez connaître pour créer, gérer et supprimer vos données sur votre base de données. Outre les commandes ici, j&amp;rsquo;utilise la syntaxe PostgreSQL. La plupart des bases de données relationnelles partagent les mêmes concepts.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-04_sql-principes/cover.png"/></item><item><title>Configuration d'un serveur OpenVPN sur Google Compute Engine</title><link>https://ludovicwyffels.dev/blog/2019-04_openvpn-google/</link><pubDate>Wed, 10 Apr 2019 19:17:25 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-04_openvpn-google/</guid><description>&lt;p>J&amp;rsquo;ai récemment commencé à utiliser OpenVPN et à profiter des différentes options qu&amp;rsquo;il propose, notamment le masquage du trafic VPN sous TCP:443 (autrement appelé HTTPS). Personnellement, j&amp;rsquo;aime utiliser GCE pour héberger mes VPN, car je profite de la puissance et de la personnalisation que cela procure.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-04_openvpn-google/cover.jpg"/></item><item><title>Map, filter, reduce</title><link>https://ludovicwyffels.dev/blog/2019-03_map-filter-reduce/</link><pubDate>Sun, 03 Mar 2019 08:35:31 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-03_map-filter-reduce/</guid><description>Ces trois fonctions sont utiles pour parcourir une liste (ou un tableau) et effectuer une sorte de transformation ou de calcul.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-03_map-filter-reduce/cover.png"/></item><item><title>Introduction aux stratégies de déploiement</title><link>https://ludovicwyffels.dev/blog/2019-02_deploy/</link><pubDate>Sat, 02 Feb 2019 08:46:15 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2019-02_deploy/</guid><description>De nos jours, le changement le plus important dans le développement logiciel est la fréquence des déploiements. Les équipes de produits déploient les versions en production plus tôt (et plus souvent).</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2019-02_deploy/cover.jpg"/></item><item><title>Git hooks avec Husky</title><link>https://ludovicwyffels.dev/blog/2018-11_git-husky/</link><pubDate>Sun, 25 Nov 2018 11:15:45 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2018-11_git-husky/</guid><description>En termes simples, les git hooks sont des scripts personnalisés, qui peuvent être exécutés automatiquement lorsque des événements spécifiques se produisent.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2018-11_git-husky/cover.jpg"/></item><item><title>Comment envoyer un epub vers une Kindle sans utiliser Calibre ni de cable USB ?</title><link>https://ludovicwyffels.dev/blog/2018-11_kindle/</link><pubDate>Sat, 24 Nov 2018 10:15:21 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2018-11_kindle/</guid><description>Si vous avez un Kindle d’Amazon, vous ne le savez peut-être pas, mais vous possédez une adresse mail ….@kindle.com qui vous permet de vous envoyer des livres et documents directement sur votre liseuse.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2018-11_kindle/cover.jpg"/></item><item><title>Docker Swarm vs Kubernetes</title><link>https://ludovicwyffels.dev/blog/2018-11_dockerswarm-vs-kubernetes/</link><pubDate>Thu, 01 Nov 2018 11:38:38 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2018-11_dockerswarm-vs-kubernetes/</guid><description>J&amp;rsquo;ai trouvé que Docker Swarm est très facile à installer et à configurer, alors que Kubernetes est un peu plus difficile à installer mais reste simple à utiliser.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2018-11_dockerswarm-vs-kubernetes/cover.jpg"/></item><item><title>Comment paginer des données dans MySQL avec Sequelize</title><link>https://ludovicwyffels.dev/blog/2018-10_sequelize-pagination/</link><pubDate>Sat, 13 Oct 2018 19:30:09 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2018-10_sequelize-pagination/</guid><description>&lt;p>Souvent, je me trouve aux prises avec Sequelize pour trouver une réponse directe à ma requête. Récemment, je travaillais sur une application full stack dans laquelle il était impératif de paginer les résultats depuis le backend (API REST) vers le client. Je me suis battu pour deux raisons. Tout d&amp;rsquo;abord, venant du context NoSQL, il est difficile de saisir les bases de données SQL. La deuxième raison étant que la documentation de Sequelize ne fournit pas une solution claire et directe à cette abstraction très basique. Beaucoup de gens supposent des choses dans le monde des bases de données SQL.&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2018-10_sequelize-pagination/cover.jpg"/></item><item><title>Démarrer avec Sequelize</title><link>https://ludovicwyffels.dev/blog/2018-10_sequelize-intro/</link><pubDate>Fri, 12 Oct 2018 19:41:34 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2018-10_sequelize-intro/</guid><description>ORM ou Object Relation Mapping est un processus de mappage entre des objets et des systèmes de base de données relationnels. Un ORM agit comme une interface entre deux systèmes. Les ORM offrent aux développeurs des avantages de base, tels que la réduction du temps et des efforts et la concentration sur la logique métier. Le code est robuste au lieu de redondant. ORM aide à gérer les requêtes sur plusieurs tables de manière efficace. Enfin, un ORM (comme sequelize) est capable de se connecter à différentes bases de données (ce qui est pratique lors du passage d’une base de données à une autre).</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2018-10_sequelize-intro/cover.png"/></item><item><title>AWS SDK pour Node.js: Meilleures pratiques</title><link>https://ludovicwyffels.dev/blog/2018-09_aws-sdk/</link><pubDate>Sun, 23 Sep 2018 08:06:49 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2018-09_aws-sdk/</guid><description>&lt;p>La plupart des exemples de code couvrant le kit AWS SDK comme ci-dessous, c’est à dire qu’ils importent l’intégralité du kit AWS même s’ils utilisent seulement quelques services AWS, parfois un seul (AWS DynamoDB).&lt;/p></description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2018-09_aws-sdk/cover.png"/></item><item><title>Flexbox illustré</title><link>https://ludovicwyffels.dev/blog/2018-07_css-flexbox/</link><pubDate>Thu, 12 Jul 2018 08:50:12 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2018-07_css-flexbox/</guid><description>Flex est un ensemble de règles pour étirer automatiquement plusieurs colonnes et lignes de contenu dans son conteneur parent.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2018-07_css-flexbox/cover.png"/></item><item><title>Conteneuriser des applications Node.js avec Docker</title><link>https://ludovicwyffels.dev/blog/2018-05_docker-nodejs/</link><pubDate>Fri, 11 May 2018 08:42:39 +0200</pubDate><guid>https://ludovicwyffels.dev/blog/2018-05_docker-nodejs/</guid><description>La légèreté et la reproductibilité des conteneurs en ont fait une option de plus en plus utilisée par les entreprises souhaitant développer des applications logicielles évolutives, hautement disponibles et contrôlées par les versions.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ludovicwyffels.dev/blog/2018-05_docker-nodejs/cover.jpg"/></item></channel></rss>