<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Adrien Poupa</title>
    <link>https://adrien.poupa.net/</link>
    <description>Recent content on Adrien Poupa</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Sun, 03 Mar 2024 00:00:00 -0500</lastBuildDate>
    <atom:link href="https://adrien.poupa.net/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Serving a S3 Bucket with Kubernetes and Ingress-Nginx</title>
      <link>https://adrien.poupa.net/serving-s3-bucket-kubernetes-ingress-nginx/</link>
      <pubDate>Sun, 03 Mar 2024 00:00:00 -0500</pubDate>
      <guid>https://adrien.poupa.net/serving-s3-bucket-kubernetes-ingress-nginx/</guid>
      <description>The traditional, production-ready way to serve a S3 bucket in production is usually to create a CloudFront distribution, add a S3 origin and configure the desired behaviour.
However, this comes with a small caveat: while you can specify an origin path, this will make CloudFront request the bucket from the path directory, then appending the requested URL.
For example, given the test origin path, example.com/index.html will retrieve s3://bucket-name/test/index.html; example.com/folder/index.html will retrieve s3://bucket-name/test/folder/index.</description>
    </item>
    <item>
      <title>Embracing Static Site Generation: WordPress to Hugo Migration</title>
      <link>https://adrien.poupa.net/embracing-static-site-generation-wordpress-to-hugo-migration/</link>
      <pubDate>Mon, 23 Jan 2023 00:33:31 -0500</pubDate>
      <guid>https://adrien.poupa.net/embracing-static-site-generation-wordpress-to-hugo-migration/</guid>
      <description>This is it! I finally migrated my blog to Hugo!
Static Site Generation? After close to a decade of running WordPress and months of procrastination, I finally took the decision to join the cool kids and drink the static website kool aid. There are numerous benefits with this approach:
I no longer need to rent a dedicated server. So long Kimsufi, it&amp;rsquo;s been great! Attack surface is much smaller, if not nonexistent I can use Markdown to write posts and stop fighting Gutenberg No need to worry about backups, WordPress and PHP upgrades Hosting is free GTmetrix performance is 100% Selecting a Static Site Generator There is no shortage of static site generators these days.</description>
    </item>
    <item>
      <title>Migrating Away from G Suite Legacy Free Edition: 2022 Email Providers Overview</title>
      <link>https://adrien.poupa.net/migrating-away-from-g-suite-legacy-free-edition-2022-email-providers-overview/</link>
      <pubDate>Tue, 08 Feb 2022 01:04:22 -0500</pubDate>
      <guid>https://adrien.poupa.net/migrating-away-from-g-suite-legacy-free-edition-2022-email-providers-overview/</guid>
      <description>On January, 19 2022 Google announced they were pulling the plug on the G Suite Legacy Free Edition, that was offered from 2006 to 2012. Among other things, it was offering Gmail with a custom domain.
Like many others, I subscribed to what was called Google Apps back then, to give custom e-mail addresses to my family (ie: surname@lastname.fr). Over the years, we used those Google accounts like personal accounts and bought applications, used Google Drive, Google Documents, and so on.</description>
    </item>
    <item>
      <title>Creating a Global Loader Component in Vue.js</title>
      <link>https://adrien.poupa.net/creating-a-global-loader-component-in-vue-js/</link>
      <pubDate>Sun, 20 Sep 2020 17:23:54 -0400</pubDate>
      <guid>https://adrien.poupa.net/creating-a-global-loader-component-in-vue-js/</guid>
      <description>In any frontend application, invariably, one has to deal with showing the user an HTTP request is in progress. This is usually done by displaying a spinner while the request is being executed.
As I got bored dealing with Axios callbacks and independent isLoading data property in my Vue.js components, I realized I needed a global solution that would prevent me from cluttering my components with those redundant data properties.</description>
    </item>
    <item>
      <title>Modernizing a Legacy PHP Application</title>
      <link>https://adrien.poupa.net/modernizing-a-legacy-php-application/</link>
      <pubDate>Mon, 10 Aug 2020 20:25:00 -0400</pubDate>
      <guid>https://adrien.poupa.net/modernizing-a-legacy-php-application/</guid>
      <description>Update Aug, 11: This post was well received on Reddit, so I added new anti-patterns to reflect the comments.
Recently, I had the chance occasion to work on numerous legacy PHP applications. I spotted common anti-patterns that I had to fix. This article is not about rewriting an old PHP application to &amp;lt;insert shiny framework name here&amp;gt;, but about how to make it more maintainable and less of a hassle to work on.</description>
    </item>
    <item>
      <title>Modern PHP Development for WordPress</title>
      <link>https://adrien.poupa.net/modern-php-development-for-wordpress/</link>
      <pubDate>Sat, 01 Feb 2020 14:00:00 -0500</pubDate>
      <guid>https://adrien.poupa.net/modern-php-development-for-wordpress/</guid>
      <description>Let’s face it, WordPress’ reputation among PHP developers is atrocious. It is, for the most part, justified by the questionable code quality of most plugins (because the barrier entry is very low), the will of the core developers to keep backwards compatibility at all cost, and, as a result, its architecture.
However, as you may have noticed, this blog is running WordPress. Why would you ask me? Well, despite all its flaws, WordPress is stupidly easy to use and complete.</description>
    </item>
    <item>
      <title>Deploying a Containerized PHP Application to AWS Using Docker and ECS</title>
      <link>https://adrien.poupa.net/deploying-a-containerized-php-application-to-aws-using-docker-and-ecs/</link>
      <pubDate>Wed, 15 Jan 2020 18:38:39 -0500</pubDate>
      <guid>https://adrien.poupa.net/deploying-a-containerized-php-application-to-aws-using-docker-and-ecs/</guid>
      <description>Since I’ve been playing around with Laravel Envoy, I kept wondering how I could improve the deployment process. For sure it works and I’ve been using it for 6 months or so on a project in production, but having to deal with a physical server has drawbacks I wanted to overcome. For example, the PHP team just released 7.4 packed with cool features I am eager to try. But on a physical server, one has to manually upgrade the PHP version, for each environment and this is a process prone to errors and can lead to different results in different servers.</description>
    </item>
    <item>
      <title>Using highlight.js on WordPress</title>
      <link>https://adrien.poupa.net/highlight-js-on-wordpress/</link>
      <pubDate>Tue, 14 Jan 2020 19:27:41 -0500</pubDate>
      <guid>https://adrien.poupa.net/highlight-js-on-wordpress/</guid>
      <description>I was looking for a replacement for the syntax highlighter I was using on my blog, since SyntaxHighlighter Evolved never really gave me satisfaction (unwanted advertisements next to the code blocks, poor styling).
I wanted a lightweight solution and found highlight.js. It highlights blocks on code on the client side and can be enabled with just a few lines:
&amp;lt;link rel=&amp;#34;stylesheet&amp;#34; href=&amp;#34;/path/to/styles/default.css&amp;#34;&amp;gt; &amp;lt;script src=&amp;#34;/path/to/highlight.pack.js&amp;#34;&amp;gt;&amp;lt;/script&amp;gt; &amp;lt;script&amp;gt;hljs.initHighlightingOnLoad();&amp;lt;/script&amp;gt; There used to be a plugin to integrate it to WordPress but it was removed for security reasons (I am not sure what this means).</description>
    </item>
    <item>
      <title>Migrate Routines to Laravel</title>
      <link>https://adrien.poupa.net/migrate-routines-to-laravel/</link>
      <pubDate>Sun, 22 Dec 2019 21:28:38 -0500</pubDate>
      <guid>https://adrien.poupa.net/migrate-routines-to-laravel/</guid>
      <description>I had to work on a project that made heavy use of MySQL routines: stored procedures, views, functions and triggers. In the process of adding Laravel to the application, I found good packages to seed the database from existing data, create models from the existing schema and create migrations from existing tables.
However, I could not find anything to migrate the existing routines as a migration. I needed this to be able to make the existing application work when seeding a new database.</description>
    </item>
    <item>
      <title>Zero Downtime Laravel Deployments with Laravel Envoy</title>
      <link>https://adrien.poupa.net/zero-downtime-laravel-deployments-with-laravel-envoy/</link>
      <pubDate>Sun, 02 Jun 2019 21:00:15 -0400</pubDate>
      <guid>https://adrien.poupa.net/zero-downtime-laravel-deployments-with-laravel-envoy/</guid>
      <description>Recently, I was looking for a way to deploy a Laravel application with ease and no headache. After some time, I wrote a very basic Bash script to automate the common deployment tasks: pulling changes from Git, installing Composer dependencies, building NPM scripts, running migrations and so on. But it was still feeling primitive. There had to be a better way.
After some research, I found Laravel Envoyer. This service offers everything I needed but I was not ready to pay the costs associated.</description>
    </item>
    <item>
      <title>An Empirical Study of Performance in Laravel Applications</title>
      <link>https://adrien.poupa.net/empirical-study-of-performance-in-laravel-applications/</link>
      <pubDate>Fri, 11 Jan 2019 00:02:10 -0500</pubDate>
      <guid>https://adrien.poupa.net/empirical-study-of-performance-in-laravel-applications/</guid>
      <description>As part of my Software Verification and Testing class at Concordia University, my team and I chose to study empirically the performance of some popular Laravel applications. The goal was to replicate the paper “How not to structure your database-backed web applications: a study of performance bugs in the wild” by Junwen Yang et al.
This paper, focused on the Ruby ecosystem, found that ORM API misuses such as inefficient queries, lack of pagination, inefficient eager loading or lazy loading were common causes for performance degradation.</description>
    </item>
    <item>
      <title>Block attackers on CloudFlare using Fail2Ban</title>
      <link>https://adrien.poupa.net/block-attackers-on-cloudflare-using-fail2ban/</link>
      <pubDate>Sun, 09 Dec 2018 00:11:08 -0500</pubDate>
      <guid>https://adrien.poupa.net/block-attackers-on-cloudflare-using-fail2ban/</guid>
      <description>Recently, I had to counter a layer 7 HTTP Flood DDoS attack on my server, that is using CloudFlare. I started by setting up Fail2Ban using the Nginx logs, and Fail2Ban would ban attackers but they would still be able to hit my server. I finally understood that since they were passing through CloudFlare, I had to block them at a higher level, CloudFlare itself. Fortunately, CloudFlare offers a firewall and an API to block offenders.</description>
    </item>
    <item>
      <title>Introducing Vinyl Music Player</title>
      <link>https://adrien.poupa.net/introducing-vinyl-music-player/</link>
      <pubDate>Sat, 13 Jan 2018 23:52:31 -0500</pubDate>
      <guid>https://adrien.poupa.net/introducing-vinyl-music-player/</guid>
      <description>We all listen to music on our smartphones. Since I’m old-fashioned, I still have a local library and no Spotify subscription. I’ve been using the Phonograph music player for a few years but after having see its development stopped for a few months, its creator decided to put some of its best features behind a paywall. For instance, it was not longer possible to browse files to play a music.</description>
    </item>
    <item>
      <title>Formalités pour étudier au Canada</title>
      <link>https://adrien.poupa.net/formalites-pour-etudier-au-canada/</link>
      <pubDate>Sun, 08 Oct 2017 19:00:57 -0400</pubDate>
      <guid>https://adrien.poupa.net/formalites-pour-etudier-au-canada/</guid>
      <description>Depuis Septembre, je suis étudiant en Masters de Software Engineering à l’Université de Concordia, à Montréal ! J’en suis très heureux, mais les formalités administratives qui ont précédé ce moment ont été plutôt lourdes et nombreuses. Il m’avait été assez difficile de trouver des ressources complètes sur ces démarches. J’écris donc cet article pour les futurs étudiants (pourquoi pas de l’Efrei) destinés à partir au Canada, et même au Québec pour être plus précis.</description>
    </item>
    <item>
      <title>Certificat SSL avec Let&#39;s Encrypt, Nginx et CloudFlare
</title>
      <link>https://adrien.poupa.net/certificat-ssl-avec-lets-encrypt-nginx-et-cloudflare/</link>
      <pubDate>Sun, 13 Aug 2017 18:54:10 -0400</pubDate>
      <guid>https://adrien.poupa.net/certificat-ssl-avec-lets-encrypt-nginx-et-cloudflare/</guid>
      <description>Avec Google qui fait ressortir les sites en HTTPS prioritairement et Firefox qui affiche désormais un joli message d’avertissement lors du remplissage d’un formulaire de connexion en HTTP, il est temps d’installer un certificat SSL sur vos sites, d’autant plus que c’est gratuit ! Nous allons en effet nous servir de Let’s Encrypt, fondation à but non lucratif qu’on ne présente plus, qui a l’avantage de fournir gratuitement des certificats SSL acceptés par tous les navigateurs modernes.</description>
    </item>
    <item>
      <title>Mise en place d&#39;un environnement chroot avec identification en clés SSH
</title>
      <link>https://adrien.poupa.net/mise-en-place-dun-environnement-chroot-avec-identification-en-cles-ssh/</link>
      <pubDate>Tue, 31 Jan 2017 21:11:58 -0500</pubDate>
      <guid>https://adrien.poupa.net/mise-en-place-dun-environnement-chroot-avec-identification-en-cles-ssh/</guid>
      <description>Sur mon serveur dédié, je voulais mettre en place un environnement chroot afin de pouvoir donner un accès limité à leur espace à des utilisateurs externes.
La mise en place d’un tel espace n’est pas complexe en soit, mais j’ai en revanche eu beaucoup plus de mal à activer la connexion par un jeu de clés SSH.
Nous allons partir du principe que le système est déjà configuré pour la connexion avec des clés SSH.</description>
    </item>
    <item>
      <title>Autocomplétion des adresses avec la Base Adresse Nationale</title>
      <link>https://adrien.poupa.net/autocompletion-des-adresses-avec-la-base-adresse-nationale/</link>
      <pubDate>Fri, 14 Oct 2016 14:53:45 -0400</pubDate>
      <guid>https://adrien.poupa.net/autocompletion-des-adresses-avec-la-base-adresse-nationale/</guid>
      <description>Lors de mon stage à Diagamter cet été, j’ai eu pour tâche de créer un formulaire d’autocomplétion des adresses. Après avoir fait un tour d’horizon des outils disponibles, un m’a marqué : la Base Adresse Nationale. Tout d’abord parce cette API est officielle, qu’elle peut faire office de référence ; toutes les modifications de communes y sont répertoriées rapidement. Ensuite, elle simple, bien documentée et n’a pas de quota de requête à ma connaissance.</description>
    </item>
    <item>
      <title>Installer un serveur web LNPM (Linux, Nginx, PHP, MariaDB)</title>
      <link>https://adrien.poupa.net/installer-un-serveur-web-lnpm-linux-nginx-php-mariadb/</link>
      <pubDate>Fri, 10 Jun 2016 13:47:58 -0400</pubDate>
      <guid>https://adrien.poupa.net/installer-un-serveur-web-lnpm-linux-nginx-php-mariadb/</guid>
      <description>Source: unixmen.com
Cet article est surtout là pour me servir de pense-bête en cas de réinstallation d’un serveur, mais sait-on jamais, il peut être utile à d’autres 🙂
Le but est de mettre en place un serveur web qui soit le plus léger possible ; pour ce faire, j’utilise Linux et sa distribution Debian (8 Jessie pour le tutoriel ci-dessous, mais facilement adaptable pour d’autres version), Nginx en remplacement d’Apache, PHP 7 en FPM et MariaDB en remplacement de MySQL.</description>
    </item>
    <item>
      <title>Bangkok : the big mango</title>
      <link>https://adrien.poupa.net/bangkok-the-big-mango/</link>
      <pubDate>Tue, 07 Jun 2016 18:16:23 -0400</pubDate>
      <guid>https://adrien.poupa.net/bangkok-the-big-mango/</guid>
      <description>Dernier voyage de mon immersion, mais pas des moindres : Bangkok ! Par une matinée à la chaleur dévastatrice, nous commençons par visiter l’incontournable Grand Palace (Palais royal). Malheureusement, il était bondé de touristes. Pour ne rien arranger, nous étions arrivés lors de la journée la plus sainte de leur calendrier, le Visakha Bucha : anniversaire du Bouddha, cette journée est la plus importante du calendrier religieux en Thaïlande, où 90% de la population est bouddhiste.</description>
    </item>
    <item>
      <title>Quelques jours à Bali</title>
      <link>https://adrien.poupa.net/quelques-jours-a-bali/</link>
      <pubDate>Tue, 10 May 2016 16:18:53 -0400</pubDate>
      <guid>https://adrien.poupa.net/quelques-jours-a-bali/</guid>
      <description>Pour ma première sortie hors de Malaisie, j’ai décidé de ne pas faire les choses à moitié et d’aller en Indonésie sur l’île de Bali, destination dont la simple évocation suffit à faire rêver et imaginer des paysages idylliques. C’est en partie vrai !
Quatre jours ne suffisent pas mais permettent de se faire une bonne idée de l’île. De toute façon, j’ai quand même quelques cours entre mes voyages 😉</description>
    </item>
    <item>
      <title>Laravel : envoi du token CSRF lors d&#39;un appel Ajax
</title>
      <link>https://adrien.poupa.net/laravel-envoi-du-token-csrf-lors-dun-appel-ajax/</link>
      <pubDate>Mon, 25 Apr 2016 11:07:19 -0400</pubDate>
      <guid>https://adrien.poupa.net/laravel-envoi-du-token-csrf-lors-dun-appel-ajax/</guid>
      <description>Lors d’une requête POST en Ajax sous Laravel 5, il faut passer le jeton CSRF sous peine de recevoir une erreur de TokenMismatch, la protection contre les failles CSRF s’activant. Pour ce faire, je ne trouve pas la documentation très simple, alors qu’il suffit de passer l’attribut ‘_token’ dans le champ data (sous jQuery).
Ainsi, il n’y a qu’une ligne à rajouter :
$.ajax({ type: &amp;#34;POST&amp;#34;, url: &amp;#34;{{ url(&amp;#39;/votre-url&amp;#39;) }}&amp;#34;, data: { .</description>
    </item>
    <item>
      <title>Prise de hauteur dans les Cameron Highlands</title>
      <link>https://adrien.poupa.net/prise-de-hauteur-dans-les-cameron-highlands/</link>
      <pubDate>Sun, 24 Apr 2016 08:34:33 -0400</pubDate>
      <guid>https://adrien.poupa.net/prise-de-hauteur-dans-les-cameron-highlands/</guid>
      <description>Pour s’éloigner de la chaleur de Kuala Lumpur, rien de tel que les Cameron Highlands et leurs 22°C de température moyenne annuelle. Tout commence en 1885, quand Sir William Cameron explore les lieux qui seront désignés par son nom ; il y voit alors des plateaux et de forts dénivelés. Il ne se passe pas grand chose durant les quarante ans suivants, jusqu’au moment où George Maxwell déclare, après neuf jours d’observation, que les lieux devraient servir de station de montagne.</description>
    </item>
    <item>
      <title>Visite de Langkawi</title>
      <link>https://adrien.poupa.net/visite-de-langkawi/</link>
      <pubDate>Mon, 18 Apr 2016 10:57:17 -0400</pubDate>
      <guid>https://adrien.poupa.net/visite-de-langkawi/</guid>
      <description>Langkawi, surnommée “Perle de Kedah”, est un archipel de 104 îles situé à 30 kilomètres des côtes au nord ouest de la Malaisie. Comme Melaka, elle a une histoire riche de marchands, conquêtes et guerres; les premières traces sont à mettre au crédit de voyageurs chinois, alors appelée Long-ya-pu-ti (龍牙菩提) par le voyageur Wang_Dayuan au XIVème siècle. Au XVème siècle, l’île abritait des plantations de poivre; le général français Augustin de Beaulieu parlait alors de “Lancahui”.</description>
    </item>
    <item>
      <title>Un week-end à Melaka</title>
      <link>https://adrien.poupa.net/un-week-end-a-melaka/</link>
      <pubDate>Sun, 10 Apr 2016 08:21:40 -0400</pubDate>
      <guid>https://adrien.poupa.net/un-week-end-a-melaka/</guid>
      <description>Le week-end arrivant, il est temps de quitter Kuala Lumpur pour une ville à taille plus humaine, Melaka (Malacca en anglais). Pour y aller, rien de tel que le bus, avec des offres à RM10 (approximativement 2€), et un passage obligé vers la gare routière TBS, qui ressemble à s’y méprendre à un aéroport.
C’est son histoire riche qui nous a décidé à la visiter : plus vieux port de Malaisie, ses premières traces remontent à la fin du XIVe siècle, quand Parameswara, prince indonésien, a fondé la ville alors qu’il avait été chassé de son royaume.</description>
    </item>
    <item>
      <title>Cours et première semaine à Kuala Lumpur</title>
      <link>https://adrien.poupa.net/cours-et-premiere-semaine-a-kuala-lumpur/</link>
      <pubDate>Thu, 07 Apr 2016 16:42:56 -0400</pubDate>
      <guid>https://adrien.poupa.net/cours-et-premiere-semaine-a-kuala-lumpur/</guid>
      <description>Le lendemain de notre arrivée, première journée de cours où l’on s’aperçoit que cela risque de ne pas être trop difficile de profiter de la Malaisie : nous allons (ré)apprendre à coder en POO en C++ tout en faisant des graphes UML, palabrer en Entrepreneurship, apprendre quelques notions en Operating Systems et découvrir le merveilleux monde de l’HTML et du PHP (hahaha). Mention spéciale pour le professeur d’OS qui nous propose de toucher son stylo quand nous donnons une bonne réponse, nous donne des appréciations suffixées de “baby” ou encore nous demande de préciser notre genre M/F lors d’un e-mail… 🙂</description>
    </item>
    <item>
      <title>Arrivée et installation en Malaisie</title>
      <link>https://adrien.poupa.net/arrivee-et-installation-en-malaisie/</link>
      <pubDate>Thu, 07 Apr 2016 16:39:09 -0400</pubDate>
      <guid>https://adrien.poupa.net/arrivee-et-installation-en-malaisie/</guid>
      <description>Actuellement en troisième année à l’Efrei, mon école d’ingénieurs, j’ai la chance de pouvoir près de trois mois en Malaisie, à Kuala Lumpur. J’essaierai d’écrire des messages quand j’en aurai le temps la motivation, que ce soit pour d’autres étudiants Efrei partants, ou simplement pour ceux qui sont intéressés par mes modestes aventures malaisiennes.
Le départ se fait un samedi matin, lendemain de DE ( 🙁 ) à bord d’un vol opéré par Singapore Airlines à destination de Singapour.</description>
    </item>
    <item>
      <title>Colorer la barre de navigation de Chrome mobile (Android)</title>
      <link>https://adrien.poupa.net/colorer-la-barre-de-navigation-de-chrome-mobile-android/</link>
      <pubDate>Mon, 22 Feb 2016 14:09:10 -0500</pubDate>
      <guid>https://adrien.poupa.net/colorer-la-barre-de-navigation-de-chrome-mobile-android/</guid>
      <description>Depuis Chrome 39 et Android Lollipop, il est possible de colorer la barre de navigation de Chrome comme dans l’impression d’écran ci-dessus. Pour le faire, c’est (très) simple, il suffit de rajouter la ligne suivante entre les balises de votre site :
&amp;lt;meta name=&amp;#34;theme-color&amp;#34; content=&amp;#34;#ffffff&amp;#34;&amp;gt; Bien sûr, remplacez #ffffff par le code couleur attendu. Vous pouvez voir le résultat ici-même, ce n’est pas grand chose mais c’est une fonctionnalité sympathique pour une seule ligne de code 🙂</description>
    </item>
    <item>
      <title>H5ai : remplacez l&#39;explorateur par défaut de Nginx
</title>
      <link>https://adrien.poupa.net/h5ai-remplacez-lexplorateur-par-defaut-de-nginx/</link>
      <pubDate>Sun, 31 Jan 2016 22:55:14 -0500</pubDate>
      <guid>https://adrien.poupa.net/h5ai-remplacez-lexplorateur-par-defaut-de-nginx/</guid>
      <description>L’index de Nginx par défaut permettant l’affichage des fichiers est quelque peu spartiate. Pas vraiment l’idéal si on veut avoir un affichage de miniatures ou encore un rappel de l’arborescence des dossiers.
Heureusement, H5ai existe ! Originellement pensé pour Apache, d’où son nom (HTML5 Apache Index), il est désormais compatible avec les serveurs web les plus populaires (Apache, Nginx, Lighttpd, Cherokee). De bons guides existent pour Apache, mais peu pour Nginx, d’où le fait que je ne m’attarderai pas sur les autres serveurs (ça, et le fait que Nginx est bien supérieur de toute façon 😉 )</description>
    </item>
    <item>
      <title>YouTube en arrière-plan et sans publicités</title>
      <link>https://adrien.poupa.net/youtube-arriere-plan-sans-publicites/</link>
      <pubDate>Tue, 29 Dec 2015 18:32:43 -0500</pubDate>
      <guid>https://adrien.poupa.net/youtube-arriere-plan-sans-publicites/</guid>
      <description>Si l’application Android officielle de YouTube n’est pas trop mal faite, ce qui m’embête le plus est sans conteste l’arrêt forcé du son lors du passage de l’application en arrière-plan et les publicités incessantes avant le début de chaque vidéo. Je me suis renseigné et j’ai essayé plusieurs applications sans jamais être vraiment comblé (suppression de l’application du Play Store, fonctionnement bancal, support douteux…)
Le salut est venu d’un module Xposed.</description>
    </item>
    <item>
      <title>Sauvegardez vos sites et bases de données sur Google Drive</title>
      <link>https://adrien.poupa.net/sauvegarde-ftp-mysql-google-drive/</link>
      <pubDate>Thu, 24 Dec 2015 18:30:31 -0500</pubDate>
      <guid>https://adrien.poupa.net/sauvegarde-ftp-mysql-google-drive/</guid>
      <description>J’ai de plus en plus de mal à comprendre les sites web, mais le plus souvent de petites communautés, qui ne rouvrent qu’après un certain temps hors-ligne, ou pire, qu’elles ferment en raison de l’absence d’une sauvegarde après un problème avec leur hébergeur. Comment cela peut-il être possible à l’heure du cloud, où toutes nos données nous sont accessibles d’un bout du monde à l’autre, via des services gratuits ?</description>
    </item>
  </channel>
</rss>
