James Pic

James Pic

FullStack Dev & DevOps & SysOp in South West of France

About

Coding as an art, a sport, for human beings
Squashing bugs since 1995

Over 20k Open Source commits on all git sites, including commits to Python, Django, Ansible, OpenStack, ElectionGuard, and many many smaller projects.

Yes, this looks like a pure dev CV, but it's more than that: I'm running Linux at home since 2004, in production since 2006, and have led DevOps and Testing in each experience since 2008 :)

Also Lean Sensei

Awards

2024

With almost 600 answers on StackOverflow, I have reached a very nice rank. I love to debug bugs that are not mine, it's fun, and also, a great training like for a chess player who practices on problems coming from positions from other's games.

stackexchange.com/leagues/1/allt…

2021

Contributed code to 1 repository used in the Mars 2020 Helicopter Mission: Python.

2020

@jpic contributed code to several repositories in the 2020 GitHub Archive Program, including Python, Django, Ansible, and many more!

2015

Earn at least 1000 total score for at least 200 non-community wiki answers in the python tag.

2014

Earn at least 1000 total score for at least 200 non-community wiki answers in the django tag.

2008

Award given by Derick Rethans and his team for my research to create a new MVC component library

Exhibitions

2024
Angoulême

We regularly host Hack'n'Dev BarCamps at my hackerspace, the group "died of COVID" but we're rebooting it! Come for the free software and stay the free beer, or the other way around ;)

Speaking

2020
Online

eXtreme DevOps is the practice of an extremely aggressive Continuous Delivery strategy where each patch push deploys an ephemeral deployment such as branchname.ci.example.com

2017
France

Talk à la PyConFR 2017 dans le but d'attirer des contributeurs sur le projet Memopol

2017

This talk was made for the DevOps Guild @ PeopleDoc, but I got to present it at many other venues.

2016
Paris

In this talk in French, we explain how to orchestrated SaltStack with Ansible.

Volunteering

2007 — Now

Hacking has always been my work, and my after-work.

Contributions:

  • Python: 1 security bugfix, when the word was out that the Élysée's chat app had been hacked

  • Django: 9 contributions

  • Ansible: 14 contributions

  • ElectionGuard-Python: 1 contribution

  • OpenStack: 4 contributions

  • review.opendev.org/q/owner:jpic

  • Arch Linux: various contributions

  • Other smaller projects, literally tons, total over 20k commits:

  • github.com/jpic

  • github.com/yourlabs where live projects that I have been supporting or that have taken a life of their own!

  • gitlab.com/jpic

  • yourlabs.io/oss

I also maintain the CI and GitLab and other servers, including deployment of kubernetes and projects on kubernetes, of our cute little hacker club :)

2015 — 2017
Paris

#python #django #postgresql #gitlab-ci

Rewrote the Political Memory (memopol) project, famous for helping block ACTA at the EU parliament, from scratch and maintained it over the years. DevOps and SysAdmin on baremetal servers.

Work Experience

2017 — Now
Toulouse

#python #postgresql #postfix #docker #docker-compose #traefik #netdata #prometheus #grafana #django #bash #restic #rsync #gitlab-ci #linux #javascript #react #jenkins #pytest #kubernetes

From scratch to generating 8m/year of savings to Social Security thanks to 150k user requests per year handled by 10.000 Social Security administrators using the CRUDLFA+ administration interface for Django framework.

Started Django project from scratch, with CI (85% code coverage), CD (Ansible, docker, bare metal).

My company still has this in maintenance.

2022 — 2024

#python #ansible #vmware #kubernetes #jira #bitbucket #gitlab-ci #docker #redhat #selinux #firewalld #linux #windows #bash #powershell #pytest #aws #azure

Consulting for Thales Group: sneakersnet automation with Ansible, Ansible action plugin development in Python and Powershell, Ansible collections development, provided Ansible, git and docker trainings, also made 1 contribution to Ansible during this time: github.com/ansible/ansibl…

Also was administrating the GitLab server, development servers for all the devs, debugged many user problems with RHEL, pushed for development of Kubernetes Operators etc...

2021 — 2022
Cloud Consultant at Accenture (Objectif Libre)

#openstack #python #mysql #galera #kolla #ansible #k8s #kubeflow #awx #rancher #vmware #kubernetes

Deployed a secure OpenStack platform with various patches at MBDA Systems, using Kolla-Ansible (contributed), OVN (based on OpenvSwtich), deployed AWX and Kubeflow on Kubernetes clusters, all on airgapped networks, which meant I had to debug both operators, opened the following issues:

Given my expertise on both Kubernetes and Ansible, I'm really looking forward to develop Kubernetes Operators: sdk.operatorframework.io/

Contributed to the storage team at Societe Generale bank, helped with migrations and upgrades on OpenStack Cinder, and created a patch to support multiple VLANs per compute with routed providers. review.opendev.org/q/owner:jpic

I'm most proud of that one but a colleague took over :) review.opendev.org/c/openstack/ne…

Implemented automatic provisionning over vCenter for Rancher Kubernetes for the French education institution (Rectorat).
Also, did a lot of OpenStack support for various customers, Orange, INRAE, and many more...

2019 — 2020
Paris

#python #django #ansible #docker #docker-compose #postgresql #nodejs #aws #blockchain #ethereum #tezos #django #djwebdapp #finance #vuejs #lemonway #javascript #cypress #pytest

I started consulting as Lean Sensei (Agile Coach) one day a week, after their CTO had left. My governmental contract was expiring at the end of the year, and was not renewable, as such I went full time starting 2020. There I did Python, Django, VueJS, Docker, Netdata, Prometheus, Grafana, Gitlab-CI, Ethereum and Tezos development.
Administrated all CI/Staging/Production servers too.

2015 — 2017
Paris

#lxc #openstack #ansible #jenkins #github #linux #bash #postgresql #saltstack

Developed CI for all the stack's automated deployment, including automating tests for legacy SaltStack code with LXC containers, ~40 services. Then, lead the migration to Ansible and implementation of CD & DevOps, then participating in the security team. Maintained the internal OpenStack platform during the years, which I ended deploying on OpenCompute servers over PXE

2014 — 2015
Paris

#python #rabbitmq #openstack #mysql #galera #iptables #openvpn

Development (Python, OpenStack) of 4 different custom OpenStack services to replace the default ones: NAT agent, firewall agent, load balancer agent, VPN agent.

Also, automated most (90%) of the infra with ansible and chef, including: automatic backup, rollback procedure, orchestrated updates with zero downtime, encrypted secrets.

2005 — 2014

#gentoo #linux #hardened #grsecurity #vserver #php #mysql #apache #fastgci

Co-Administrated NeoSkills servers with my Linux system admin mentor William Waisse, aka ne0futur, during FreeNode's IRC big time! We were hosting PHP projects of all sorts, including some developed by myself. Deploying Gentoo Linux Hardened GrSecurity and VServer was great for governmental security, but we were doing that for 60€/month PHP project hosting LOL we had a LOT of fun for sure!

But don't take my work for it, see the binary package distribution I was building: web.archive.org/web/2008030413…

And another one optimized for a different CPU: web.archive.org/web/2008100823…

My personal site looked like this in 2006 according to the footer in the copyright: web.archive.org/web/2007101205…

I think I was trying to conquer the world or something:
web.archive.org/web/2008013111…

SEO was kind at the time for freelancers, I did content sites like that
web.archive.org/web/2007110707…

Anyway, hacking day and night, with my friends on IRC, with an infinite thirst for knowledge!!

2010 — 2013
Full Stack Dev & DevOps & SysAdmin at France Premium

#python #linux #django #postgresql #php #mysql #redmine #javascript #linux #jenkins #prestashop

Development on MadeleineMarket.com which was an e-commerce site at the time, ie. used APIs to synchronize Prestashop with Easiware CRM, also implemented: a lot of features and bugfixes on LibéFood, a content aggregator using APIs, a social network about sports bets, betspire.com, a CRM for a specific niche and a CMS for art curators. DevOps and SysAdmin on Linux bare metal.

2006 — 2010
Full Stack Dev & DevOps & SysAdmin at Actif2i
Toulouse

#python #django #linux #php #gentoo #hardened #grsecurity #mysql #javascript #phpunit #unittest

Actif2i was an agency by a webdesigner and me as techie, did all the fullstack dev & devops, many PHP and Django projects for a wide variety of customers, on bare metal Linux servers that I was administrating.

2004 — 2006
Paris

#php #mysql #html #css #windev

Developed a print-on-demand online platform which really took off, back when industrial digital printing was a booming thing, as well as other developments on other smaller sites they had for SEO purpose and WinDev GUI development for their internal CRM - that was my last mission there before I decided to go freelance and full Open Source / Linux.

Projects

2020

Created Electis product from scratch, an Open Source online voting platform secured with homomorphic encryption and blockchain, deployed in various French institutions.

Writing

2019

Ce document n'aurait jamais du exister, mais c'est trop tard maintenant, alors autant vous en faire profiter.

2007
Programmation par composants MVC, Programmez! Magazine

Side Projects

Ongoing

#python #django #mvc #selenium #pytest #javascript #sphinx

Initially built for Alcatel to refactor CRUD code, this CRUD core embolishes Django with a CRUD engine that is much more powerfull than Django admin. It's deployed in a wide variety of companies and governmental institutions.

Ongoing

#javascript #python #django #selenium #sphinx

An autocompletion plugin for Django created and maintained over 10 years with over a thousand of stars. Deployed all over the world in various companies. Also did professionnal support for companies such as Hitachi on this product. Since 2012

Ongoing

#ansible #gitlab #pytest #cli2

Wrapper for Ansible that automates recursive role dependency download and encapsulates typical boilerplate.

Ongoing

#python #django #javascript #pytest

Open Source isomorphic web components in Python, transpiled to JavaScript, with support for Django and Material Design Components by Google. A crazy experiment with my hacker friends that has gone totally out of hands.

Ongoing

#python #django #pytest

HTTP response diffing against fixtures for testing (tests that write themselves). It's pretty much the same as django-dbdiff, except this is for HTTP response and includes a spider. Started in 2016 also.

Ongoing

#python #django #pytest

I'm pretty lazy when it comes to writing tests for existing code, however, I'm even lazier when it comes to repetitive manual testing action. pytest plugin for database state assertion and diff'ing. Started in 2016, still alive!

Ongoing

Long term solutions for features that I believe should be in Django but that Django doesn't want. Started in 2021

Ongoing
cli2

Python's click is great, but I find it too verbose for my own taste, Python's meta programming features allow me to do more with cli2, started in 2018.

Example Open Source project based on this lib: yourlabs.io/oss/djcli

2022
djwc

Django plugin to ease WebComponents integration

2022

Crazy attempts at creating another docker builder/executor and also Ansible, spent great nights hacking this just for the sake of it!

2020

Adding backup/restore features to docker-compose

2019

Build your own django.contrib.static-like

Contact

GitLab
Website
GitHub

Education

2007 — 2007
Systems & Network Administration Certificate at Illinois University of Technology

Features

2024

Just a video for you to see how I approach an algorithmic problem

2024

Filming a friend on my boat

2023

Fiddling with a guitar

2020

Billet humouristique autours du terme hacker

2020

Le terme “DevOps” pâti de plusieurs significations étant donné qu’aucun académicien n’a, à l’heure où j’écris ces lignes, pu développer une définition unique au terme “DevOps”, mais nous pouvons toujours explorer l’histoire, l’éthymologie, et les différentes sources possibles de confusion.

2020
Numérique à la Française on Capital Magazine