Bruce SUIRE39 ans
Architecte & Consultant logiciel
Développeur Senior Full-Stack
23+ années en programmation
16 années dans le développement web
Développement
Symfony PHP SQL C#
Principes
SOLID DDD Hexagonal CQRS
Frontend
VueJS jQuery CSS3 TailwindCSS
Méthodologies
SCRUM TDD Kanban XP Agile
Infographie
Photoshop Illustrator 3DSMax Maya

🤓 Ce que j'ai appris...

Autodidacte depuis le début lycée, ma pratique intensive du mapping, une discipline à la croisée de nombreux métiers, m'a conduit à acquérir des compétences variées : programmation, développement web et logiciel, infographie, game et level-design...

🎓 ... ce qu'on m'a appris

Mon bac Scientifique (spé. Maths) en poche, je me dirige ensuite en Licence de biologie spécialisation géologie (Géosciences), fasciné par les mécanismes complexes qui ont contribué à la formation de nos paysages familiers.

🏭 Et après ?

À l'issue de mes études, je décide de me réorienter professionnellement vers ma compétence principale qui occupe toujours mon temps libre, l'informatique, et rejoint l'industrie du jeu-vidéo en tant que scripter/level-builder, game-designer et programmeur-outil... Une riche expérience professionnelle qui m’a permis d’approfondir mes connaissances des méthodologies Agiles et de la coordination inter-équipes au sein de projets à fortes contraintes.

Fort de cette expérience, je m'établis ensuite à mon compte en tant que Développeur et Consultant Web indépendant, métier que j'exerce maintenant depuis plus de 15 ans...

Projets personnels

Programmer pour le plaisir c'est aussi programmer pour progresser

Frameworks Web

Curieux de comprendre leur fonctionnement interne et de tester de nouvelles fonctionnalités, j'ai entrepris le développement intégral de plusieurs frameworks :

WebKore 2010 → 2012

Développement intégral d'un framework PHP inspiré de Symfony 1 et 2.

  • ORM (type ActiveRecord)
  • Configuration yaml (parseur personnalisé)
  • MVC - Organisation modulaire
  • Routeur HTTP avec réécriture d'URL intégré et gestion des urls canoniques/redirections
PHP

WebKore.NET 2013

Portage sur la plateforme .NET du framework WebKore.

  • Orienté conventions ("opinionated")
  • Inspiré du framework ASP.NET
  • Utilisation du moteur de templates RAZOR
  • Compatible GNU/Linux
C# ASP.NET

MediaKore/MediaServe 2014

Création d'un micro serveur HTTP pour avec des applicatifs ASP.NET, compatible GNU/Linux.

  • Requêtes multithreads
  • Chargement dynamique des différents applicatifs (dll) dans des environnements isolés (AppDomain)
  • Utilisation du framework Mono
  • Précompilateur Less CSS intégré
C# Mono

Divers Web

Mes principaux projets professionnels sont détaillés en page d'accueil mais vous trouvez ici quelques autres exemples tirés de mes réalisations personnelles.

CinéPortail 2017 → 2020

Une plateforme SaaS à destination des salles de cinémas qui propose de nombreux outils pour faciliter la gestion de salle et la communication avec les spectateurs.

  • Création de plateformes sur-mesure intégralement personnalisables : contenu, fonctionnalités, thème graphique...
  • Fonctionnalités principales : fiches films, événements, articles, outils d'administration...
  • Synchronisation de la programmation des salles avec le logiciel de caisse.
Front Back SaaS
  • PHP
  • Symfony
  • Twig/Vue.js
  • MinIO (S3)
  • RabbitMQ

Image cropper/resizer 2018

Composant de redimensionnement et de recadrage d'image pour Vue.js

  • Ratio fixe ou libre
  • Restriction de formats autorisés
  • Dimensions mini et maxi
  • Redimensionnement automatique (via un canvas html)
Front Vue.js

D3 Calculator 2018

Simulateur d'équipement pour Diablo 3, permettant de calculer l'impact des attributs sur les statistiques du héros (points de vie, dégâts...)

  • Mise à jour et calculs en temps réel
  • OOP : utilisation de pseudo-classes Javascript
Front Javascript

Emoji Picker 2025

Un site assez simple que les amateurs d'emojis apprécieront, permettant de rechercher et de les copier-coller en un clin d'oeil.

  • Classification par catégories
  • Recherche par nom et mots-clés
  • Copie dans le presse-papier en un simple clic
Front

Bureaux Beaux et Durables 2013

Site vitrine assez simple mais néanmoins intéressant de par l'utilisation du plugin Apostrophe pour Symfony.

  • Chaque page est constituée de blocs éditables indépendants (Apostrophe).
  • Synchronisation avec le site Scoop It pour la publication automatique des news.
  • Intégration html de la maquette fournie par un graphiste.
Back Front
  • PHP
  • Symfony 1.4

Text-highlighter 2010

Front
  • JS

Thèmes graphiques

Infographie
  • HTML
  • CSS
  • LESS
  • SASS
  • Tailwind

Divers Programmation

J'ai été amené à travailler sur des applications de types très différents, et notamment des moteurs 3D qui m'ont énormément appris ; en terme technologies bien sûr, mais aussi d'architecture, de contraintes et d'optimisation...

SEO Console / OkSEO 2016

Outils d'analyse des données des API Google Analytics et Search Console.

  • Statistiques des pages (position, impressions, clics, ctr)
  • Mises-à-jour incrémentielles (haut volume de données) à partir des API.
  • Outils d'analyse des mots-clés des recherches
  • Outils d'analyse comportementale SEO (flux de navigation)
C# SEO
  • WPF
  • Multithreading

Quark Engine 2010

Premier prototype de moteur 3D codé en C++ et utilisant le framework Qt.

  • Rendu de géométries simples
  • Rotation de la caméra
  • Chargement dynamique de renderers OpenGL
C++ 3D
  • OpenGL
  • Qt

Moon Editor 2011

Prototype de moteur 3D codé en C# utilisant le framework OpenTK.

  • Géométries statiques et UV Mapping (modèles et textures de Warcraft 3)
  • Translations et Rotations du modèle
C# 3D
  • OpenGL
  • OpenTK

Analyseur de séries temporelles 2008

Projet universitaire permettant de réaliser des régressions linéaires à partir de séries temporelles données (réalisé en IDL).

  • Calcul des régressions linéaires
  • Tracé des courbes
  • Lecture et écriture de fichiers
  • Configuration avancée de l'interface et des courbes
IDL Maths

Parsing et traitement de fichiers

Au-delà de simples fichiers texte, j'ai été amené à manipuler de nombreux autres formats et fait de la rétro-ingénierie de formats binaires, notamment pour la réalisation de plusieurs importateurs de modèles 3D :

BlizzImporter 2006

Script 3dsMax permettant d'importer les modèles 3D du jeu Warcraft 3 et leurs animations.

  • Parsing de fichiers textes (.mdl) et binaires (.mdx)
  • Importation de la géométrie (vertices) et du squelette (bones)
  • Import des animations (quaternions)
  • Import des textures (UV mapping) et matériaux
  • Éditeur d'animations (concaténation de plusieurs animations originales en une seule)
MaxScript

M2 Importer (WoW) 2005

Script 3dsMax permettant d'importer les modèles 3D du jeu World of Warcraft et leurs animations.

  • Parsing de fichiers binaires (.m2, .wmo)
  • Importation de la géométrie (vertices) et du squelette (bones)
  • Import des animations (quaternions)
  • Import des textures (UV mapping) et matériaux
  • Éditeur d'animations (concaténation de plusieurs animations originales en une seule)
  • Éditeur de géométrie (sélection des variations du modèle à importer)
MaxScript

MDL Importer 2003

Script 3dsMax avec interface graphique permettant d'importer les modèles 3D du jeu Warcraft 3.

  • Parsing de fichiers texte (.mdl)
  • Importation de la géométrie (vertices) et du squelette (bones)
  • Import des animations (quaternions)
  • Import des textures (UV mapping) et matériaux
  • Model events et émetteurs de particules
MaxScript

Geosets Merger 2003

Script avec interface graphique permettant de fusionner automatiquement les géométries issues de deux modèles 3D du jeu Warcraft 3.

MaxScript

Game programming/building - Mapping

De tous les éditeurs de jeux que j'ai pu tester, mon favori restera incontournablement celui de Warcraft 3 qui offrait une grande liberté de création et dans lequel tout était possible (ou presque !) : programmation des systèmes de jeu via un puissant langage de scripts, intégration de textures et de modèles, décors et modélisation du terrain... Je me suis entre autres amusé à recoder de nombreux systèmes tirés du jeu World of Warcraft dans cet éditeur pour enrichir les fonctionnalités du jeu original.

Au fur et à mesure de la complexification des systèmes développés, ces projets ont été un excellent terrain d'apprentissage de la programmation et de la *débrouille* pour contourner les limitations des outils disponibles.

JPhysics

Librairie de code simulant un moteur physique dans le jeu Warcraft 3.

  • Simulation de la gravité, rebonds, friction
  • Prise en compte du relief et de la texture du terrain
vJass

JQuest

Librairie de code automatisant la création de quêtes dans le jeu Warcraft 3 (vJASS).

  • Prérequis de quêtes (niveau et classe du héros, quêtes parentes...)
  • Journal de quêtes dynamique
  • Mise à jour automatique des objectifs (récolte, exploration, escorte...)
vJass

JBuff

Librairie de code enrichissant le système d'améliorations magiques (buffs/debuffs) du jeu Warcraft 3 et servant de framework pour la création d'améliorations personnalisées.

  • Améliorations 100% scriptables
  • Améliorations cumulables
  • Dissipassion des amélioration/enchantements
vJass

JSpell

Librairie de code enrichissant le système de sorts du jeu Warcraft 3 et servant de framework pour la création de sorts personnalisés.

  • Sorts 100% scriptables
  • Temps de cast / interruption
  • Sorts canalisables
  • Familles de sorts
  • Regénération de mana
  • Barre de progression personnalisable
vJass

JCombat

Librairie de code reproduisant les systèmes de combat de WoW dans le jeu Warcraft 3 (vJASS).

  • Gestion de la menace (aggro) & listes de combat
  • Phases de combat scriptées
  • IA des monstres personnalisables
  • Patrouilles programmables/automatisées
vJass

JEquipment

Librairie de code simulant un système d'équipement d'objets avancé dans le jeu Warcraft 3 (vJASS).

  • Affichage visuel des modèles 3D
  • Gestion avancée des préequis et des types d'objets (classe du héros, statistiques, mana...)
  • Système d'enchantements d'objets
vJass

Game building - Mapping

Ayant testé de nombreux éditeurs de jeux — d'Age of Empires à Half-Life (Hammer) — mon favori sera incontournablement celui de Warcraft 3 dans lequel tout (ou presque) était possible : modélisation du terrain, intégration de textures et de modèles, programmation des systèmes de jeu via un puissant langage de scripts... Et si ça ne l'était pas, on trouvait un moyen pour que ça le devienne !

Et surtout, une communauté très ingénieuse et créative... <3

Nights of Kalimdor

Support pour les compétences acquises au petit à petit, ce projet m'a servi d'inspiration et à bac à sable à de nombreux apprentissages...

Warcraft 3

Peinture et sculpture de figurines

J'ai également pratiqué la peinture de figurines pendant mes jeunes années (jusqu'au lycée) Mes années lycée ... en parallèle du début de ma passiond de l'informatique... la peinture de figurines...

Warhammers

...

Un peu plus à mon propos...

Au lieu de penser en dehors de la boîte, débarrassez-vous de la boîte

Langues

Français (langue maternelle), Anglais (lu, écrit, parlé), Allemand (notions avancées)

Hobbies

Musique (guitare, piano, chant), Randonnées, Voyages, Arts

Je m'adonne également à la rénovation et le bricolage, des activités qui font suprenamment écho à mon approche du développement : comprendre l’existant, intervenir avec mesure et améliorer durablement.

Éthique

Parvenir, dans mon choix de vie, à rester éveillé à ce qui parle au plus fort de moi, et à m’y vouer corps et âme.