Réalisations
Outil de déploiement et administration de serveurs
Outil de type CLI (ligne de commande) pour déployer et administrer des serveurs, équivalent à Ansible.
- Permet de configurer un serveur Linux à partir de fichiers de description.
- Codé en Go pour être rapide et facile à déployer.
- Configure un système de base sécurisé (fail2ban, nftables...)
- Un serveur Caddy avec certificats automatiques.
- Création d'utilisateurs.
- Lancement d'applications utilisateur par Systemd.
- Lancement d'applications sous container Podman.
- Configuration des sauvegardes avec PgBackrest.
Challenge technique
Outil minimaliste plutôt que généraliste comme Ansible. Très robuste.
Go Linux Systemd Podman Caddy PostgreSQL PgBackrestCMS sites de présentation
CMS simple, léger pour site de type CV
- https://flibuste.net
- https://laetitiadode.eu (Pianiste)
- https://morganesolignac.eu (Chanteuse lyrique)
Challenge technique
CMS très simple d'utilisation, léger, modulable et facilement déployable.
Go PostgreSQLExportation vers Tempo
Application de mise à jour de contrats de paye.
- Connexion sur l'API de Tempo pour récupérer et envoyer des informations de paye.
- Intégration à l'application Medipers.
Challenges techniques :
- Connexion à l'API Tempo
Migration d'applications du cloud vers Hetzner pour conformité aux directives EU.
Configuration de VPS pour installer des applications et bases de données.
- Sauvegardes PostgreSQL avec pgBackrest, PITR et réplication en continue.
- Applications lancées par Systemd.
- Automatisation et versionning des procédures avec Ansible.
Challenges techniques :
- Migrations des services à chaud, avec downtime minimal.
Facturation de bulletins de paye
Application de facturation de bulletins de paye.
- Connexion sur l'API de Silae pour récupérer les informations des bulletins et salariés.
- Application de coéficients et export vers un logiciel de facturation.
Challenges techniques :
- Connexion à l'API Silae
- Calculs complexes.
Suivi de chantier fibre
Développement d'une application de suivi d'interventions pour la pose de fibre. Accès sur mobile.
Challenges techniques :
Accès mobile de type PWA.
Go Docker PostgreSQL PWA MobileAPI France Travail
Accès aux API France-Travail pour accéder aux métiers ROMES et adresses. Situation des adresses sur une carte avec calcul automatique des distances entre l'intérimaire et la mission. Recherche IA des métiers et mise en correspondances avec les métiers recherchés.
Challenges techniques :
Migrer une base de données de métiers d'anciens libellés vers les appellations ROME sans interruption de service. Recherche multicritères des correspondances de métiers, distance etc.
Go FranceTravailGalleries photos avec classement.
Application mobile de classement de photos.
Classement par Tags.
Challenges techniques :
Accès mobile de type PWA.
Gestion de plus de 100000 photos.
Vignettes générées dynamiquement en mode proxy.
Application mobile de suivi d'interventions
Développement d'une application mobile de suivi d'interventions pour
les interventions chez les résidents.
Dialogue en temps réel entre intervenants.
Challenges techniques :
Accès mobile de type PWA.
Notifications mobiles.
Gestion des accès en salle
Développement d'une application a haute résilience de gestion des accès par badges. Synchronisation par Pub/Sub avec une base de données centralisée sur Google Cloud.
Lead sur une équipe pluridisciplinaire.
Challenges techniques :
Réaliser dans un court laps de temps une application fiable (gestion d'accès) et résiliente aux aléas de réseau. L'application devant tourner sur des mini-pc en autonomie tout en se synchronisant avec une base centrale.
Go Docker PostgreSQLDéploiements Docker
Adaptation d'applications pour un déploiement serverless.
- Docker
- GCP CloudRun
- Scaleway
- Scalingo
Challenges techniques :
- Mise en container.
- Mise en conformité des applications en mode Stateless.
- Stockages objets dissociés des applications.
- Verrouillages adéquats en scalling horizontal.
- Adaptations aux différents fournisseurs.
Formation Go
Formation à distance d'équipes sur le langage Go.
- Concepts de base et mécanismes multithreads
- Support sur contraintes techniques spécifiques à la demande
Challenges techniques :
Adapter la formation aux besoins spécifiques d'équipes de grands groupes (URSSAF, Orange) reprennant un passif avec fortes spécificités Go (goroutines, channels).
Réécriture applications Python vers Go
Réécriture d'applications Python 2.7 vers Go.
- Gain en performance
- Déploiement facilité
- Robustesse
- Maintenance
- Formation
- Contributions open source
- ...
Challenges techniques :
Réécriture d'applications en fonctionnement sans perturber l'utilisation. Util
Mise à disposition de personnel
Service extranet de mise à disposition de personnel pour des coopératives d'employeurs dans le milieu médical.
Plus de 50.000 demandes par mois sur une infrastructure haute disponibilité.
- Plusieurs centaines de coopérateurs répartis sur plus de 30 départements saisissent leurs demandes de personnel.
- Les recruteurs de chaque agence affectent les remplaçants aux demandes.
- Envoi de l'emploi du temps aux remplaçants.
- Suivi du déroulement des demandes.
Challenges techniques :
- Reprise des données existantes, réécriture d'un service sans coupure.
- Forte montée du trafic, multiplié par 10 en 2 ans.
- Agences multiples.
- Mises à jour en mode blue/green, progressives, chaque agence séparément.
- Architecture cloud haute disponibilité.
Algorithme d'itinéraires de train
Réalisation d'un algorithme optimisé particulièrement performant pour la recherche d'itinéraires de trains en fonction des horaires.
Travail en équipe.
En production sur un site grand public avec plusieurs dizaines de milliers de requêtes/jour.
Challenges techniques :
Conception d'un algorithme particulièrement adapté aux contraintes particulieres de la circulation des trains. Précalculs des correspondances potentielles, prise en compte des temps de trajets etc.
Service résilient avec scalling horizontal adapté aux fluctuations des demandes.
PostgreSQL Python Go SaasSites web
Réalisation de sites de type CMS au graphismes épurés ou en collaboration avec un graphiste éditeur (Lekti).
- Site du festival de Toulouse « L'histoire à venir ». Avec Lekti
- Présentation et vente artisanale (lucane.net)
- Domaine des foudres (vente beaujolais)
- L'asso du vélo (association)
- Solact (entreprise de l'économie sociale & solidaire
Plus anciens :
- Manèges (Elcey)
- Troizaire (développement informatique dans le social)
- France patrimoine investissement
- La pétanque au dès
- Gîte Maison de martre (Cap Ouest)
- ...
Liste non exhaustive...
Postgresql Go Python SiteRéalisation de nombreux sites d'éditeurs de livres.
Societe: Atheles, Agone, IEO Diffusions... Lekti Écriture, L'histoire à venir
- Atheles : portail regroupant plusieurs éditeurs indépendants
- IEO Diffusions : portail d'éditeurs en occitan
- Agone
- Le mot et le reste
- La fosse aux ours
- La dispute
- Le croquant
- ...
Outils de développements et diffusions de livres numériques (epubs), transfert sur Gallica avec Lekti.
Postgresql Go Python SiteJeu de scrabble en ligne
Jeu de scrabble en ligne multi-joueurs : seps.flibuste.net
- Plus d'un million de parties jouées
- Plus de 20000 joueurs inscrits depuis 2001
- Plus de 500 parties en cours
- Réalisation d'une IA de calcul des meilleurs coups en Go
- Dialogues et notifications en temps réel par websocket
Challenges techniques :
- Utilisateurs très novices.
- Notifications en temps réél par ServerSentEvent.
- Pages réactives avec https://htmx.org
Réalisation de multiples applications spécifiques de gestion, la plupart en sous-traitance pour Logics Informatique.
- Application de comptabilité pour cabinet comptable (Lomaco).
- Saisie de commandes en ligne (Serres Baderand, Boulegon, Framacold, Ferme de Collongec...)
- Transfert de commandes d'un site à l'autre
- Caisse enregistreuse de pressing (SNC Sud Pressing)
- Préparation de commandes (Beaujelec)
- Statistiques et rentabilité (Lealex, AD3, Aermec...)
- Saisie heures et contrat en paye pour groupements d'employeurs (AD3, Actim, Gexterna, Maison de l'horticulture... sur Sage)
- Pointages, suivi d'ordres de fabrications (Bennes Sempère)
- Calcul de sélection de batteries (Yuasa)
- Agenda de chauffeurs de taxi (AGL, Mickael-Taxi)
- Placement et suivi de manèges (Kiddie, Elcey)
- Gestion de séchoir de menuiserie (CGSM)
- Gestion de résidence senior (Clos saint jean)
- CRM (Logics)
- Gestion de tickets (type Trello)
- Gestion d'adhérents d'aïkido (aïkilibre-atda)
- Mailing list (cine400)
- ...
Liste non exhaustive...
Challenges techniques :
- Maintenir des applications sur très long terme.
- Besoins très spécifiques.
- Liaisons avec produits de gestion divers, souvent très fermés.
Gestion de chantier
Application extranet de gestion de chantiers en service depuis 1994.
- Objectifs des chantiers.
- Affectation des équipes sur les chantiers.
- Réalisations effectuées.
- Nombreuses éditions détaillées sur les activités des chantiers.
- Saisies effectuées dans toute la France, sur chantier et en agence.
- Préparation de devis (Société Normande d’Applications du Caoutchouc)
Challenges techniques :
- Évolution de l'application à très long terme.
- Connaissance approfondie du métier.
- Utilisateurs répartis dans toute la France.
Serveurs Télématiques
- Premier micro-serveur télématique à 16 ans, en C : La Flibuste
- Serveur télématique professionnel chez Marvin : 3615 marvin
Challenges techniques :
Le micro-serveur "La Flibuste" est un projet dans la pure tradition du hacking des années 80. Ecrit à l'adolescence en language machine 6502 sur un Apple ][+ connecté à un minitel avec modem inversé. L'ordinateur est alors éteint et s'allume grace à un boitier maison qui se déclenche lors de la sonnerie du téléphone. Le serveur démarre en quelques secondes grace à un "fastboot" maison.
Serveur réécrit ensuite en C sur un Atari ST sur un système Minix. Le kernel est modifié pour pouvoir utiliser le modem du minitel et permettre un accès telnet.
Le tout grace à la complicité d'une famille de hackers père et oncles.
Le serveur Marvin est réalisé ensuite en C sous Unix SCO. Cette fois-ci de manière professionnelle.
C Télématique Unix