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é.
Rouen, Normandie · développeur full-stack en formation
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.
Travaux de terrain
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.
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.
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.
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.
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.
D'autres semis poussent sur mon GitHub.
Les strates
Une forêt n'a l'air simple qu'au-dessus du sol. Le logiciel aussi.
Carnet
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
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.