Koa.js, GraphQL, MongoDB, Docker, Mocha, Typescript
Koa.js, GraphQL, MongoDB, Docker, Mocha, Typescript

If you want to use the server starter directly without going through the tutorial, find the code on Github. Link to the next parts are at the bottom of this page.

In part I to III we built a generic server with the help of Koa.js, GraphQL, MongoDB and Docker. Let’s add some tests with Mocha to make sure we don’t introduce regressions when we add more code.

Requirements: Knowing why testing is important (😉).

☕ Mocha Setup

Mocha is a javascript test runner. We will use it to test both our graphQL resolvers and database accessors, to ensure the server is responding…


Koa.js, GraphQL, MongoDB, Docker, Mocha, Typescript
Koa.js, GraphQL, MongoDB, Docker, Mocha, Typescript

If you want to use the server starter directly without going through the tutorial, find the code on Github. Link to the next parts are at the bottom of this page.

In part I and II we didn’t write much code. Time to write some boilerplate code, and to make our first queries to the MongoDB database through the GraphQL API. There’s no easy way to proceed step by step with this chapter, but everything will make sense at the end.

Requirements: Knowing the basics of GraphQL (Apollo) and of the MongoDB driver for NodeJS.

GraphQL Code-Generator

Let’s install the packages we…


Koa.js, GraphQL, MongoDB, Docker, Mocha, Typescript
Koa.js, GraphQL, MongoDB, Docker, Mocha, Typescript

If you want to use the server starter directly without going through the tutorial, find the code on Github. Link to the next parts are at the bottom of this page.

In Part I we built a basic Koa.js server with Typescript and improved our workflows with some tooling. The next step would be to set up a database to store and retrieve data. We will use MongoDB, a NoSQL database. But we’d like to have a single and simple way to install it on each developer’s machine instead of relying on tedious manual configuration. …


Koa.js, GraphQL, MongoDB, Docker, Mocha, Typescript
Koa.js, GraphQL, MongoDB, Docker, Mocha, Typescript

If you want to use the server starter directly without going through the tutorial, find the code on Github. Link to the next parts are at the bottom of this page.

I recently needed to build a server for a side project. Building the foundation to provide generic features any server is expected to deliver ended up being a new side project by itself!

Today there are many great tools to build a robust and versatile back-end, and plenty documentation available. However it is hard to find tutorials for building a generic back-end, with very little configuration needed to adapt…


Originally published on August 9th, 2018

I had the opportunity to prepare a presentation of Git and thought it would be great to share it to whoever wants to use it in a project.

It targets beginners (no knowledge is required). It explains the process pipeline, and how to use Gitkraken as a graphic client. The presentation goes through the following subjects:

  • What is Git exactly ?
  • Git clients
  • Gitkraken in depth
  • Good practices
  • Keeping problems away (tentative)
  • Resources

It is available here : Link


Originally posted on February 26th, 2018

To go to the Github repository, click here.

There is already a lot of stuff on internet, related to dynamic loading of classes from a shared library. However I couldn’t find a simple example and explanation on how to do it with the following conditions :

  • Modern C++ (from c++11): Use of smart pointers to store the classes retrieved from the libraries
  • Cross-platform: Works on UNIX (tested on Linux & MacOS) and Windows.
  • Generic enough to be used by a wide range of programs.

One of the best ways to make a C++ program…


Originally published on October 7th, 2017

VivaTechnology is an event that takes place in Paris, every year in June, since 2016. Its main goal is to bring together the players in the Tech ecosystem. Big companies are there - Orange, Airbus, Google, Microsoft, IBM and many more - as well as startups, contractors, and investors. There’s even a day where the public is welcomed. An opportunity for everyone to discover the latest innovations in multiple fields : energy, luxury, food, transports…


À l’origine posté le 8 juillet 2017

Après 2 ans de vie commune avec Linux, je commençais à désespérer de trouver un environnement graphique un minimum “sexy”. J’avais plus ou moins réussi à rendre attrayant XFCE, mais j’ai depuis entendu parler de Deepin Desktop Environment (DDE pour les intimes). Je me suis donc lancé dans son installation, sur une base Arch linux.

Mes impressions après 2 mois de test : C’est beau ! Il faut avouer que les interfaces graphiques de Linux ne font pas le poids face à la cohérence de MacOS ou Windows. DDE a donc fait le…


Originally published on July 7th, 2017

I’m currently working on an Arch Linux distribution. What I love about it is the huge amount of Sys Admin stuff I learned while installing it again and again, each time faster than before, and with a better knowledge of what I was doing. I’m not going to explain how to install it, but rather present some packages I use to customize the default system.

System utilities

Let’s install the basics:

yaourt redshift oh-my-zsh
  • redshift allows you to change the temperature of your screen. …

Théo Penavaire

Software developer — theopnv.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store