Recently at work, at SNCF Connect & Tech,
we needed to expose some static documents as HTTP endpoints:
a GET /version
that would provide some information about the application version as JSON,
and a GET /openapi/yaml
that would return the OpenAPI 3 specification of our HTTP API as YAML.
We …
Très intéressante interview par Pierre l'Hopitalier d'un ancien responsable managérial avec qui j'ai beaucoup apprécié travailler :
Dans cet épisode, nous revenons sur quelques expériences, notamment le lancement par passion de son studio de jeux vidéo. Un studio qui cartonne avec un jeu vendu à plus d’un million d’exemplaires. Mais vendre ce n’est pas encaisser et cette aventure s’arrêtera par défaut de paiement des clients... Il ne touchera pas un centime sur le million d’exemplaires vendus !!
J’ai plaisir à revenir également sur son expérience chez OUI.sncf et notamment le rôle qu’il a joué dans la genèse du centre de service nantais. Thomas montera le centre de service from scratch et le quittera quand il atteindra la taille de 500 personnes !
Aujourd’hui Thomas est CTO de HiPay. HiPay est une plateforme de paiement. Nous parlons de roadmap dans une société où les idées et ambitions ne manquent pas.
À oui.sncf
, je travaille au sein d'une équipe en charge de l'usine logicielle,
qui administre depuis des années une instance Gitlab self-hosted.
Cet article contient quelques-unes de nos recommandations à l'intention des utilisateurs de notre Gitlab, ayant pour but à la fois améliorer les performances de leurs pipelines …
Today I finally took the time to put up a live demo website for Hesperides!
https://hesperides.herokuapp.com
Hesperides is an open source tool dedicated to configuration management: it stores applications properties and mustache templates for configurations files. It is strongly hierarchized based on few main concepts: modules, applications …
The FOSDEM'20 (Free & Open Source Developers’ European Meeting) conference is:
a free event for software developers to meet, share ideas and collaborate
It took place last week-end at the Université Libre de Bruxelles, and I had the chance to attend it.
Sincere thanks to my employer, oui.sncf, for financing …
At work, we needed to retrieve the full list of jobs a given Jenkins instance was hosting.
Our first solution was to use the jenkinsapi Python package:
import xml.etree.ElementTree as XmlElementTree
from jenkinsapi.jenkins import Jenkins
def get_all_jenkins_jobs(server_url):
jenkins = Jenkins(server_url, lazy=True, timeout=30,
username=os …
The iframe
above displays some graphs I've built last week,
in order to get some insight on some GitHub projects issues & pull requests evolution.
They are directly inspired by nf-core project activity statistics.
Over the past years, on software programming projects where my end users where developers (other than myself or my team), I have tried to follow the advice of this website : keepachangelog(.com)
A changelog is defined by Wikipedia as :
a log or record of all notable changes made to a …
Yesterday I've stumbled upon a very surprising bug in some Python 2 code,
related to the use of the __del__
method in a vendor library we employ at work.
Here is some minimal code that reproduces the issue I met:
class MyClass:
def __init__(self):
raise RuntimeError('Woops')
def __del__ …
At work we have a component not yet migrated to Python 3, and we recently had some difficulties diagnosing a problem with the MySQL connector.
Because we were catching the mysql.connector.errors.Error
and raising a custom exception,
we were loosing the underlying stacktrace and hence couldn't troubleshoot the …
flask
httpie
requests
simplejson
botocore
scrapy
docker-compose
ansible
What are those diagrams ?
They show dependencies between the internal modules of various well-known Python libraries.
They goal is to provide a global overview of a Python project architecture, as a map of modules & packages, the top-level code abstractions.
Note that all …
Une courte présentation que j'ai donné ce matin à l'école d'ingénieurs IMT Atlantique (ex Ecole des Mines) via oui.sncf :
(la navigation est meilleure avec les flêches gauche / droite du clavier)
Le code source …
Le week-end dernier, j'ai participé à ma première Global Game Jam, à Nantes. Dans cet article, je vais vous présenter comment elle s'est déroulée, et faire le point sur ce qui a plus ou moins bien marché pour notre projet, The King Must Know, dont voici l'écran d'accueil :
J'avais déjà …
Connaissez-vous l'accessibilité numérique ?
En très bref:
L'accessibilité numérique est la mise à la disposition de tous les individus, quels que soient leur matériel ou logiciel, leur infrastructure réseau, leur langue maternelle, leur culture, leur localisation géographique, ou leurs aptitudes physiques ou mentales, des ressources numériques.
Pour plus de détails …
Cette année, voyages-sncf.com m'a permis d'aller à la conférence annuelle Python à Toulouse.
En vrac, voici un petit résumé personnel de cette PyConFr.
J'y étais présent 3 jours sur 4 (sprint le premier et conférences les deux autres), et j'y ai donné donné 2 présentations, dont le contenu est …
Avec Thomas Durey, nous organisons un meetup à Nantes mardi 3 octobre dans les locaux de Voyages-Sncf.com avec l'AFPY pour échanger autour du langage Python !
Au programme :
Une courte présentation que j'ai donné cette après-midi à Voyages-sncf.com Technologies :
Les slides sont accessibles ici en plein écran.
Recently I lost a lot of time on this. Hence I want to share a working solution, even if i cannot take the time to detail the issue.
I'm taking about writing reusable code for Jenkinsfiles : https://jenkins.io/doc/book/pipeline/shared-libraries/
One cannot simply use Groovy HTTPBuilder
, because …
Ce court article détaille comment mettre en place simplement 3 analyseurs de code statique avec Maven.
Contexte
Au sein de mon équipe à Voyages-Sncf, le nombre de composants Java est en train d'augmenter.
Nous avons déjà toute une batterie de tests pour valider notre code, ainsi qu'un Sonar en place …
Le mois dernier j'ai rapidement présenté le language Python et les frameworks web existants à mon équipe à Voyages-Sncf.com.
Les slides sont accessibles ici, ainsi que les sources Markdown pour Reveal.js.
Il …