-- NORMAL --portfolio · 2026

Louis Pocheron

Je conçois des applications web de bout en bout — l’API, l’interface, et les outils qui rendent le tout agréable à développer.

Rôle
Concepteur & développeur d’applications, fullstack
Langages
TypeScript, PHP, Rust — un peu de Go et de Lua
Aujourd’hui
Da Viking Code, Dijon — depuis 2023
01

Projets

6 sélectionnés · 41 dépôts publics
  1. 01 typomaniac Jeu de dactylo multijoueur : runs solo, duels classés en Bo3, MMR et classement. Serveur de duel autoritaire en WebSocket. TypeScript · Elysia · Bun · React 19 2026 →
  2. 02 claude-tmux-notify.nvim Un toast Neovim quand une session Claude Code, dans une autre fenêtre tmux, vous attend. Lua · Neovim · tmux · ★ 3 2026 →
  3. 03 claude-status-line L’usage d’abonnement Claude Code dans la status line — binaire Bun multi-plateforme, installeur curl | sh. TypeScript · Bun 2026 →
  4. 04 pointcloud-viewer Nuages de points LiDAR dans le navigateur — parsing en Rust compilé en WebAssembly, rendu three.js. Rust · WASM · React · three.js 2026 →
  5. 05 trekker API de catalogue de randonnées — NestJS 11, Drizzle et Postgres, contrats Zod partagés en monorepo. TypeScript · NestJS · Drizzle 2026 →
  6. 06 ma_parcelle Tout ce que les données publiques disent d’une parcelle, sur une carte plein écran — sans compte, sans serveur. React 19 · Vite · MapLibre 2026 →
Banc de duel en vue isométrique : deux claviers aux extrémités d’un long banc, reliés par deux câbles à une tour d’arbitrage centrale. Par la porte ouverte de la tour, un guichet à quatre bras de barrière contrôle la date de chaque frappe et renvoie à l’expéditeur celle qu’il refuse. Sur ses côtés, deux paires de lampes comptent les manches gagnées, et un mât porte le rang de chaque joueur.
Ouvrir la fiche →
Tableau d’annonciateur mural. Cinq volets, un par fenêtre tmux, tombent quand une session Claude Code attend ou a fini ; une bande perforée reçoit les événements, un échappement la lit chaque seconde, une sonnette tinte, et une fiche à cordon, branchée dans le jack de la fenêtre au premier plan, retient son volet. Acquitter une fenêtre, c’est y brancher la fiche. Flèches ou chiffres pour choisir une fenêtre, Entrée pour appeler ou acquitter, F pour une fin de tour.
Ouvrir la fiche →
Rampe à cadran. Une longue règle d’instrument, bridée au bord d’une tablette, montre l’usage d’abonnement Claude Code. À gauche, un aiguillage choisit la source des limites : stdin, API ou cache. Le long de la rampe, deux peignes de dix lames marquent la fenêtre de 5 heures et la fenêtre hebdomadaire, chacune avec un compte à rebours jusqu’au reset. À droite, un cadran à deux aiguilles indique les pourcentages en trois zones, et un volant fait avancer le temps. Au clavier, les flèches avancent ou reculent d’une minute, Page suivante et Page précédente d’une heure.
Ouvrir la fiche →
Scanner laser sur un trépied haut et fin, planté sur quatre dalles d’orthophoto. Sa tête tourne et son miroir, en bleu, dépose une spirale de points qui se relève vers le bord du terrain ; la tête vise le pointeur, et un point du terrain touché l’attire. Une borne marque l’angle du nuage, un jalon l’angle opposé, et un disque gravé en quatre secteurs, posé sur un support fixé à une jambe, reçoit le fichier cuit. Flèches pour tourner la tête d’un huitième de tour, C pour changer de couleur.
Ouvrir la fiche →
Meuble à fiches en bois à six tiroirs, vu de trois quarts depuis le bas. Sur le dessus, une fiche de demande traverse un gabarit à broches avant d’entrer dans une fente à serrure ; un tiroir sort sur ses glissières, ses vingt fiches se soulèvent et laissent leur tracé au fond, pendant qu’un totalisateur sur le flanc affiche 100 fiches en 5 pages.
Ouvrir la fiche →
Colonne de sondage en écorché. Un carottier bleu descend d’un plateau gravé du plan cadastral à travers six strates de sol, de haut en bas : cadastre, urbanisme, risques, ventes, bâtiment et DPE. Tant qu’on appuie sur la colonne, il fore ; au relâcher, il s’arrête. Un log fixé au mât note ce que chaque strate a livré. Maintenir flèche bas pour forer, flèche haut pour remonter, Entrée pour relancer le sondage.
Ouvrir la fiche →
02

Parcours

~4 ans · santé, énergie, sport
  1. 2018 · main

    Baccalauréat ES

    Lycée Carnot, Dijon

  2. 2018 → 2020 · lea

    Langues étrangères appliquées

    UFR SLHS, Besançon

  3. 2020 · main

    Cap sur le code

    Besançon

  4. 2020 → 2021 · access-code

    Développeur web & mobile

    Access Code School, Besançon

  5. sept. → déc. 2021 · access-code

    Stage — Jordel Média

    Doucier · CMS interne

    • Nouvelles fonctionnalités sur le CMS interne de l’entreprise
  6. fév. 2022 · main

    CDOS

    Dijon · Symfony, React Native, Express

    • Application web sous Symfony
    • Application mobile React Native
    • API back-end en Node.js / TypeScript (Express)
  7. 2022 → 2023 · cda

    Concepteur & développeur d’applications

    Access Code School, Besançon

  8. mars 2023 · main

    Da Viking Code

    Dijon

    • Monorepos, Docker, CI/CD, Cloudflare Workers, authentification
  9. Da Viking Code · main

    Back-office santé

    NestJS, Prisma, PostgreSQL, GraphQL, React 19

    • Back-office d’une plateforme de santé — NestJS 11, Prisma, PostgreSQL, GraphQL, React 19
  10. Da Viking Code · main

    Micro-services Rust

    Axum — tuiles, CAD, nuages de points

    • Micro-services Rust (Axum) — serveur de tuiles, fichiers CAD, nuages de points
  11. Da Viking Code · main

    Cartographie énergie

    Laravel 12, React 19

    • Applications cartographiques pour un grand acteur de l’énergie — Laravel 12, React 19
  12. Da Viking Code · main

    Terrain hors-ligne

    React Native

    • Plateforme mobile terrain avec mode hors-ligne — React Native
  13. aujourd’hui · HEAD → main

    La suite

    Dijon

51 semaines actives sur 53

$ git log --date-order --format=%ad | group-by semaine | uniq

Jours actifs et contributions, semaine par semaine
Semaine duJours actifsContributions
26 octobre 2025514
2 novembre 2025618
9 novembre 2025619
16 novembre 2025716
23 novembre 2025624
30 novembre 2025414
7 décembre 2025524
14 décembre 2025530
21 décembre 202536
28 décembre 202500
4 janvier 2026533
11 janvier 2026526
18 janvier 2026412
25 janvier 2026510
1 février 2026629
8 février 2026416
15 février 2026625
22 février 2026536
1 mars 2026411
8 mars 2026655
15 mars 2026635
22 mars 2026529
29 mars 2026421
5 avril 2026312
12 avril 2026310
19 avril 2026317
26 avril 202616
3 mai 2026419
10 mai 2026338
17 mai 2026544
24 mai 2026637
31 mai 2026628
7 juin 2026417
14 juin 2026420
21 juin 202638
28 juin 2026325
5 juillet 2026530
12 juillet 2026312
19 juillet 2026473
26 juillet 20266110
2 août 202600
9 août 2026117
16 août 2026214
23 août 2026674
30 août 2026574
6 septembre 2026566
13 septembre 2026599
20 septembre 20266388
27 septembre 20267418
4 octobre 20265273
11 octobre 20266199
18 octobre 2026556
25 octobre 202611
Le nombre de commits importe peu. Ce qui compte : 51 semaines actives sur 53, et jamais plus de 12 jours sans y revenir.
04

Stack

:set stack?
Langages
TypeScript  Rust  PHP  SQL  Go  Lua
Data
PostgreSQL  Redis  Prisma  Drizzle
Back-end
NestJS  Laravel  Axum  Elysia  Node  GraphQL  REST
Front-end
React  Next.js  Vue  Vite  Tailwind
Carto & 3D
OpenLayers  MapLibre GL  PostGIS  Three.js
DevOps
Docker  CI/CD  Cloudflare  AWS  Sentry
Outils
Bun  Monorepo  Git  Neovim  tmux  Agile/Scrum

éditeur : neovim · multiplexeur : tmux · runtime : bun — la config est sur GitHub

05

Une API, une interface, un outil à construire ? Écrivez-moi. Ouvert au remote.

Remplissez le buffer, puis enregistrez et quittez. Pas besoin de connaître Vim : le bouton fait pareil.

type:
budget:
# sans objet, on discute

"contact.md" écrit — message envoyé à Louis, merci !

E1: type manquant

E2: email manquant ou invalide

E3: message vide

E4: champ invalide ou trop long

E5: envoi impossible, réessayez dans une minute ou écrivez-moi par mail

ou pocheron.louis@gmail.com