Skip to content

Articles from Maxime Thoonsen

Leverage Generative AI in your PHP E-Commerce website with Qdrant and LLPhant

August 28, 2023Maxime Thoonsen4 min read

LLPhant Logo

There are many use cases of Generative AI: e-commerce search, customer support and sales optimization, law case search... To help e-commerce and other use cases written in PHP, I'm happy..I'm happy to announce the addition of Qdrant as a vectorStore in LLPhant to open up the possibility of making…

Continue reading →

Manage your technical debt roadmap right from your code 🚀

October 21, 2020Maxime Thoonsen9 min read

A quality report generated by Tyrion

Exec summary: Technical debt leads to bugs creation: the number of bugs and the number of design flaws (technical debt) are 0.92 correlated in a [study from the Software Engineering Institute]( Static analysis tools like…

Continue reading →

Software-based CPU power consumption using PowerApi

September 03, 2020Maxime Thoonsen4 min read

PowerApi power consumption estimation graph

The ICT sectors carbon footprint represents now around 4% of the global CO2 emissions. To minimize that, one of our goals at Theodo is to design sustainable web applications with minimal carbon footprint. And in order to know how performant we are at this, we need to be able to evaluate the power…

Continue reading →

Typescript: use the nullish coalescing operator to prevent bugs

August 04, 2020Maxime Thoonsen1 min read

Good and bad code example

My goal as a CTO is to improve quality. The score of this game is the number of bugs we find each week. Today I share with you a typical bug that more than one person got caught by. Let's say you want to initialize the audio volume of your react application with the value previously saved in the…

Continue reading →

Security best practices tool for VMs including docker's host

December 28, 2017Maxime Thoonsen1 min read

TL;DR: try this security tool it's awesome. I was looking for best practices to secure docker applications. One of those best pratices is to make sure the host is secured and well configured. The main advice was to read the best pratices from the Center for Internet Security. This organisation…

Continue reading →

Deploy your Symfony application on AWS Elastic Beanstalk using CloudFormation

October 06, 2017Maxime Thoonsen3 min read

I decided to follow an advice shared on twitter via the The Practical Dev: the best way to learn AWS is to start using it. The problem I was looking for a way to quickly create a Minimum Viable Stack on AWS with the following properties: Be setup in less than 10min Be able to run a Symfony…

Continue reading →

Theodo React Summer School - Mise en place de Redux

July 26, 2017Maxime Thoonsen1 min read

Bonjour à tous, Nous organisons tout l'été des cours sur React au sein de Theodo. Cette 3ème session aura lieu le mercredi 2/08/2017 à 19h dans nos locaux près du métro Rome. Nous l'ouvrons aux personnes extérieures qui souhaitent apprendre à mieux maîtriser ce framework Javascript. Elle sera sur le…

Continue reading →

Symfony, Ansible and your staging server set up in one hour

January 17, 2017Maxime Thoonsen1 min read

[Edit]: I'm writting a book about Ansible, click here if want a free draft. When you start a new project and you create the Ansible provisioning for it, you will do those tasks: Find the right role on Ansible Galaxy and check if there is nothing odd inside. Write the role you need to have a final…

Continue reading →

How to run your Symfony application on Ubuntu Xenial

April 25, 2016Maxime Thoonsen2 min read

This article explains the differences I found between Trusty and Xenial to run a Symfony application. So what's new in the latest Ubuntu LTS release? On the application side we have: PHP 7.0 Nginx 1.9.15 Python 3.5 Postgresql 9.5 Mysql 5.7.11 Mongo 2.6.10 Docker 1.10 From Trusty to Xenial My goal…

Continue reading →

Microservices - Solve your Redis fixtures problem

April 04, 2016Maxime Thoonsen2 min read

Redis is a fantastic tool to handle data in an amazingly simple and rapid manner. If you're not using it yet, here's a way you can manage redis fixtures in your projects. Redis and microservices In our current web project, we use Redis to handle hot data that can be updated using microservices. To…

Continue reading →

Best practices to build great Ansible playbooks

October 12, 2015Maxime Thoonsen9 min read

I have been building playbooks for two years and I always try to make them understandable. However, one of our playbooks in a big project became very complex and is now very hard to understand and to maintain. I didn't want to make that mistake again so I made a list with my personal good practices…

Continue reading →

Protect your Node.js API with nginx and SSL client certificates

September 29, 2015Maxime Thoonsen3 min read

The problem we had We had to secure some routes of our Node.js API so only trusted servers could call them. There are other solutions to do so, but for this project, we had to do it using SSL client certificates. We followed the really nice tutorial from Nate Good that explained how to do it with…

Continue reading →

Create a custom world map with D3.js

August 26, 2015Maxime Thoonsen1 min read

Theodo travelers worldmap A new blog post on D3.js! Last time Jean-Rémi made this very nice article on the force layout. This time will we show you how we drew this worldmap of where the Theodoers have traveled. We started from this techslides demo to have countries grouped by continent. We…

Continue reading →

Create and publish an npm package

April 10, 2015Maxime Thoonsen3 min read

I just made an npm package: gulp-backpack and it was pretty easy to publish it to npm! Therefore, I wanted to share what you need to know so you can do it too. Create your package Obviously before publishing anything you'll need to code it! Package.json The core of your node package is the package…

Continue reading →

Méthode BRIGHTNESS : pour que vos talks restent dans les mémoires

February 10, 2015Maxime Thoonsen5 min read

Il y a quelques mois, je suis tombé par hasard sur une vidéo du site et j'ai tout de suite accroché. Pour ceux qui ne connaissent pas, les conférences TED sont une suite de talks d'une dizaine de minutes sur pleins de sujets différents.Je suis allé sur le site et j'ai alors commencé à…

Continue reading →

Conférence sécurité GTLL du vendredi 12 décembre 2014

January 08, 2015Maxime Thoonsen5 min read

This blog post is in French as the event it relates to is French-only. Theodo a rejoint le GTLL (Groupe de Travail Logiciel Libre de Systematic) il y a quelques mois. Ce pôle de compétitivité rassemble académiques et industriels autour de thématiques communes, les logiciels libres dans notre cas. C…

Continue reading →

Choose a specific MongoDb version in Travis

December 30, 2014Maxime Thoonsen1 min read

I just had a little problem with my tests on Travis due to a wrong MongoDb version. Travis uses the 2.4.12 version of MongoDb and I needed the 2.6.6 version. The official documentation of travis doesn't provide a way to change the MongoDb version. Fortunately just before that I needed to specify the…

Continue reading →

Ansible and Vagrant stack for Symfony2 projects

October 31, 2014Maxime Thoonsen1 min read

I made a talk at one London Symfony2 meetup about how you can easily build up a nice DevOps environment with Vagrant and Ansible. The slides and the video are available. Feedback is very much appreciated. As we work more and more with Ansible, we have also started a list of our favorites roles we…

Continue reading →

Linux and Mac: fix your bash vulnerability

September 25, 2014Maxime Thoonsen1 min read

Today a major security vulnerability has been found in GNU Bash. Bash is used by almost every Linux AND Unix systems. Ubuntu and Mac OS are examples of OS using it. It's highly advised to update your OS. If you want to know more about this, you should read this article. How can I checked if my OS is…

Continue reading →

First Ansible's London Meetup

September 23, 2014Maxime Thoonsen1 min read

I attented the first London ansible meetup and I wanted to share the few things I've learnt over there. TL;DR: Ansible is S-I-M-P-L-E that's why you should try using it. Ansible VS Puppet One of the talk was about how to move from Puppet to Ansible. At Theodo we use both to provision our servers, as…

Continue reading →

Learn the basics of nginx

August 28, 2014Maxime Thoonsen5 min read

The purpose of this article is to explain the basic things you'll need when you start using nginx. I will assume that we are on a ubuntu Trusty(14.04) OS, I let the readers translate the command for their own OS. Why Nginx? Nginx is the "new" popular webserver that competes with Apache. So why use…

Continue reading →


February 18, 2014Maxime Thoonsen4 min read

Ansible is a IT automation tool very popular on GitHub. It's written in Python and has been designed to be simple to use. This article explains how we have created an Ansible provisioning for a Symfony2 project working with a Postgresql database. This Ansible playbook has been tested with Vagrant…

Continue reading →