Valentin Bosson

Rouen, Normandie · développeur full-stack en formation

Des racines à la canopée.

Je suis Valentin Bosson, développeur à Zone01 Rouen. Je construis le web de bout en bout : des serveurs Go et du SQL sous terre, des interfaces accessibles à la lumière. Je cherche aujourd'hui une alternance pour continuer à grandir sur des projets réels.

Fig. 1 · ma stack, dessinée en coupe. Ce qui est au-dessus du sol repose sur ce qui est en dessous.

Travaux de terrain

Tout a poussé d'un dossier vide.

Zone01 fonctionne par projets, entre pairs : pas de cours, pas de raccourcis. Chaque projet ci-dessous est parti d'un sol nu, un dépôt vide et un cahier des charges, et devait finir par tourner pour de vrai.

Groupie Tracker

go · api rest · openstreetmap · équipe de trois

Une application web de découverte de concerts, construite avec deux camarades. Au démarrage, le serveur Go récupère quatre sources d'API éparpillées, les artistes, les salles, les dates et les relations entre elles, les fusionne côté serveur, et sert à la fois les pages et sa propre petite API JSON.

Ce que je défendrais en revue de code : un panneau de filtres où quatre critères se combinent (nombre de membres, année de création, premier album, lieu) sans que la page ressemble jamais à une requête de base de données, et une carte des concerts qui géocode les salles via OpenStreetMap, avec un cache pour ne jamais chercher deux fois la même adresse.

Fig. 2 · quatre sources d'API éparpillées, une seule rivière navigable.

Net Cat

go · sockets tcp · goroutines · concurrence

Une reconstruction de nc en salon de discussion : un serveur Go, jusqu'à dix clients, du TCP brut. Chaque client vit dans sa propre goroutine, un mutex protège ce qu'ils partagent. Les nouveaux venus choisissent un nom unique, reçoivent l'historique, puis chaque message atteint chaque client connecté, horodaté et consigné dans un journal de session.

Le projet a aussi gagné ses petits conforts : des commandes /rename et /list, un admin qui peut rendre muet ou bannir, et assez de soin sur les codes d'échappement du terminal pour qu'un message entrant n'abîme jamais la ligne en cours de frappe. C'est le projet qui m'a appris que la concurrence est moins une affaire de vitesse que de savoir qui parle quand.

Fig. 3 · un serveur, plusieurs clients : des arbres sur un même mycélium. Chaque message atteint tout le bosquet.

Forum

go · sqlite · docker · sessions & cookies

Une plateforme de discussion construite de zéro en petite équipe : inscription et connexion, posts avec images, commentaires, likes et dislikes, filtres par catégorie. Du Go côté serveur, SQLite en dessous, le tout livré dans une image Docker multi-étapes.

La partie qui m'a le plus appris : l'authentification, faite à la main avec des cookies de session en UUID. Construire une porte que de vraies personnes franchissent, c'est là que mon bagage cybersécurité a enfin rencontré mon code.

Fig. 4 · beaucoup d'alvéoles, une seule entrée gardée.

Lem-in

go · graphes · pathfinding · parsing de fichiers

Une fourmilière numérique. Le programme analyse une carte de salles et de tunnels, trouve plusieurs plus courts chemins qui ne partagent aucune salle, puis répartit la colonie pour que tout le monde atteigne la sortie en un minimum de tours.

Sous le capot : des parcours en largeur sous contraintes, des files de priorité du package heap de Go, et une fonction de répartition qui décide quelle fourmi prend quelle route. De l'algorithmique pure, aucun serveur à l'horizon.

Fig. 5 · la colonie se répartit sur des chemins sans salle commune et traverse en moins de tours.

D'autres semis poussent sur mon GitHub.

Les strates

Toutes les couches de la stack, de haut en bas.

Climatce qui fait pousser Gestion de projet · analyse de données · travail en équipe.
Canopéece que les gens touchent HTML · CSS · JavaScript : des mises en page responsives, l'accessibilité comme un réflexe, pas comme une retouche.
Sous-boisce qui fait le travail Go : serveurs web, API REST, routage, templates, structure de projet soignée. Python et Java en appoint.
Solce qui persiste SQL · SQLite · MySQL : conception de schémas, modélisation de données, requêtes qui restent lisibles.
Mycéliumce qui relie Sockets TCP · goroutines · channels : la concurrence comme coordination.
Roche mèretoujours là Git · Linux · Docker · VS Code · Canva · outils du navigateur · lire la doc avant de deviner.

Une forêt n'a l'air simple qu'au-dessus du sol. Le logiciel aussi.

Carnet

Quelques pages honnêtes.

Avant

La cybersécurité au lycée Grieu, à Rouen. J'y ai appris à me demander ce qui peut mal tourner avant de me demander ce qui peut réussir, et ce réflexe ne m'a jamais quitté.

Aujourd'hui

Zone01 Rouen. Par projets, entre pairs, sans cours : on livre, ou on ne valide pas. Ça me correspond.

Ensuite

Une alternance à Rouen ou dans les environs. De vrais projets, une vraie équipe, de vrais utilisateurs : les conditions où un jeune développeur grandit le mieux.

Hors écran

Plus heureux dehors : mes bugs les plus têtus se sont souvent résolus en marchant, loin du clavier. Quand il pleut : basket et jeux vidéo.

Contact

La porte est ouverte.

Je cherche une alternance de développeur, full-stack ou cyber, à Rouen ou dans les environs. Je travaille en français et en anglais (B2). Si votre équipe a besoin de quelqu'un qui se soucie autant des racines que de la canopée, écrivez-moi. Je réponds.

English-speaking recruiter? This site also exists in English.