---
title: "Reverse Engineering & Algorithmes - José DA COSTA"
description: "Le reverse engineering et l'algorithmique, c'est dans mon profil **la carte à fort levier sur les défis techniques pointus** : moteurs de recherche custom, optimisations combinatoires, audits binaires"
locale: "fr"
canonical: "https://portfolio.josedacosta.info/fr/competences/reverse-engineering-algorithmes"
source: "https://portfolio.josedacosta.info/fr/competences/reverse-engineering-algorithmes.md"
html_source: "https://portfolio.josedacosta.info/fr/competences/reverse-engineering-algorithmes"
author: "José DA COSTA"
type: "skill"
slug: "reverse-engineering-algorithms"
generated_at: "2026-04-26T21:12:18.867Z"
---

# Reverse Engineering & Algorithmes

Icône: 🔬

## Ma définition

Le reverse engineering et l'algorithmique, c'est dans mon profil **la carte à fort levier sur les défis techniques pointus** : moteurs de recherche custom, optimisations combinatoires, audits binaires, APIs non documentées, alternatives à un fournisseur qui ferme son API. Ce n'est pas une compétence quotidienne, c'est un **multiplicateur de force** quand l'équipe est bloquée et qu'aucune solution off-the-shelf ne convient.

### Contexte

Je l'active sur **2 déclencheurs** précis. **Exigence client sans solution off-the-shelf** : moteur de pricing combinatoire SOL's (15 000 variations), index inversé TF-IDF multilingue B2B (7 langues), analyse statique Babel AST + PostCSS pour Tailwind v4. **Lock-in fournisseur à briser** : reconstruction d'un endpoint pour s'affranchir d'une API qui ferme ou se monétise. Racines théoriques au **Master ESIEA Expert en Ingénierie du Logiciel** (CLRS, complexité, structures de données) et exposition production chez **Celiane** (reverse engineering des algorithmes Google, MSN, Voilà.fr. TOP 10 affiliés Carpediem) et **European Sourcing** (moteur catalogue B2B).

### Pertinence

En 2026, la compétence reverse-engineering reprend de la valeur sous l'effet conjoint de **trois tendances** : APIs fermées qui changent leurs T&C ou leur pricing, modèles IA opaques qui se déprécient (DALL-E 3 retiré en mai 2026), et **vendor lock-in agentique** qui devient un risque opérationnel chiffré, **89 % des entreprises** ont basculé en multi-cloud justement pour cette raison. Kai Waehner cartographie le sujet dans [Enterprise Agentic AI Landscape 2026: Trust, Flexibility, and Vendor Lock-in](https://www.kai-waehner.de/blog/2026/04/06/enterprise-agentic-ai-landscape-2026-trust-flexibility-and-vendor-lock-in/). L'équipe qui sait reverse-engineer une API quand le fournisseur ferme la porte gagne plusieurs mois de retard sur ses concurrents.

## Mes éléments de preuve

### Calculer le pricing combinatoire de SOL's en temps réel

**Contexte:** Sur l'extranet European Sourcing, certains fournisseurs comme **SOL's** descendaient à un niveau de complexité produit que je n'avais jamais vu : **jusqu'à 15 000 variations** pour un seul produit (un T-shirt décliné en tailles, coloris, col V ou col rond, avec ou sans manches, finitions...), **plus de 50 grilles tarifaires dégressives par produit**, **32 devises** indexées sur la BCE, **36 champs par option de marquage**. Aucun PIM du marché ne savait calculer ce pricing en temps réel à l'époque.

**Mise en œuvre:** J'ai conçu un **moteur de pricing combinatoire** maison capable de produire le prix d'une variante donnée à la volée, à partir d'une matrice de règles et d'une chaîne de surcoûts (taille × coloris × marquage × quantité × pays × devise). J'ai opté pour des **structures de données indexées** précalculées en arrière-plan plutôt qu'un calcul brute force à la requête, ajouté un **plan de cache** Memcache pour absorber les pics catalogue, et normalisé les attributs combinatoires pour que la même règle puisse s'appliquer indifféremment à un T-shirt SOL's ou à un stylo BIC. La complexité algorithmique a été le vrai différenciant.

**Résultat:** Catalogue extranet servi en **temps réel sur 7 langues** européennes (FR, EN, DE, ES, IT, NL, PT), latence acceptable sur les fournisseurs les plus lourds, et la même mécanique a tenu pendant **plus de 5 ans** en production sans réécriture algorithmique.

**Valeur ajoutée:** Cette discipline algorithmique brute, je l'ai forgée à mes débuts sur Celiane (reverse-engineering Google) et au Master ESIEA (CLRS, complexité). Elle reste rare sur le marché 2026 où la plupart des CTOs ne plongent plus dans les structures de données. C'est exactement la carte que je veux pouvoir jouer en CTO scale-up quand un domaine sort des cas usuels.

### Bâtir un moteur de recherche TF-IDF maison pour le B2B européen

**Contexte:** European Sourcing était le **moteur de recherche B2B** d'objets publicitaires à l'échelle européenne - un précurseur des marketplaces actuelles, **multi-fournisseurs** (Midocean, PF Concept, BIC, SOL's, TopTex, Makito...), **multilingue** (7 langues), avec **jusqu'à 15 000 variations** par produit. Aucune solution SaaS testée à l'époque ne savait gérer un catalogue B2B aussi atypique - les moteurs comme Algolia ou ElasticSearch standard étaient calibrés sur du e-commerce B2C grand public.

**Mise en œuvre:** J'ai bâti un **index inversé pondéré TF-IDF** maison adapté au domaine. Côté analyse, **scoring multilingue** sur les 7 langues européennes, **normalisation des attributs combinatoires** (taille, couleur, marquage, MOQ, pays), désambiguïsation des synonymes B2B (objet promotionnel, goodies, cadeaux d'affaires...). Côté infrastructure, **plan de cache** dédié pour absorber les pics catalogue, **index reconstruit en background** lors des imports fournisseurs (26+ connecteurs automatisés). J'ai ensuite étendu le moteur avec un layer **ElasticSearch** pour les agrégations à facettes et le typo-tolerant matching, mais l'algorithmique de scoring reste maison.

**Résultat:** **Pertinence de recherche supérieure** aux moteurs SaaS testés sur le domaine objet publicitaire, **latence sub-seconde** sur les 7 langues, et le moteur a été **réutilisé par les apps en aval** (sites revendeurs MyEasyWeb, applications mobiles PhoneGap/Cordova) sans refonte.

**Valeur ajoutée:** Sur ce projet j'ai durablement compris que **l'algorithmique brute reste un différenciant produit** dès qu'on sort du cas standard. C'est une compétence niche mais à fort levier dans mon profil : quand un futur client ACCENSEO ou un futur scale-up se retrouve face à un domaine de recherche atypique (catalogue régulé, multilingue exigeant, structures combinatoires), je peux proposer un moteur maison plutôt qu'un SaaS qui n'ira pas au bout - et cet écart se compte en mois de retard pour ceux qui ne savent pas faire.

## Mon autocritique

### Degré de maîtrise

Niveau **Confirmé**, avec des racines théoriques au Master ESIEA (algorithmique, complexité, structures de données) et une exposition production sur trois types de défis : moteur de recherche **TF-IDF + index inversé** pour catalogue B2B 7 langues, moteur de **pricing combinatoire** temps réel sur 15 000 variations produit, et plus récemment **analyse statique Babel AST + PostCSS** pour tailwindcss-obfuscator. Reste à muscler : reverse engineering binaire avancé (Ghidra / IDA Pro à grande échelle) et CTF compétitif.

### Importance dans mon profil

**Niche mais à fort levier.** C'est la carte que je joue quand aucune solution off-the-shelf ne convient, lock-in fournisseur, API non documentée, contrainte combinatoire. C'est rare, mais quand le besoin tombe, l'écart entre une équipe qui sait et une équipe qui ne sait pas se compte en mois de retard. Pour un CTO scale-up, c'est aussi un multiplicateur de force quand un fournisseur tente de capturer la valeur (changement de licence, fermeture d'API).

### Conseils (pour moi-même et pour les autres)

*Documenter chaque session de reverse engineering* avec un journal de décisions (méthode tentée, signal observé, hypothèse retenue) - sans documentation, la compétence se perd entre deux usages. Aux autres : ne pas confondre reverse engineering et bricolage, toujours valider la légalité du cas d'usage (licences, T&C, droit auteur) avant la session, et investir dans la profondeur algorithmique (CLRS, Skiena) plutôt que dans la quantité de katas.

## Mon évolution dans cette compétence

### Rôle dans mon projet professionnel

Le reverse engineering et l'algorithmique sont la **compétence niche qui sécurise l'autonomie technique** d'ACCENSEO et de tout futur rôle CTO scale-up. Dans le projet à 24 mois, ils me permettront de débloquer un projet client sur un domaine sans solution standard (search, scoring, optimisation combinatoire) ou de répondre à un changement de licence fournisseur en construisant une alternative interne. Pas un axe primaire mais un **filet de sécurité décisif**.

### Niveau souhaité à moyen terme

Maintenir le niveau et **livrer au moins un OSS ou un projet client par an** mobilisant cette compétence. Garder la lecture algorithmique CLRS / Skiena suffisamment à jour pour intervenir en revue de code senior - c'est l'indicateur observable, pas un score.

### Formations en cours

Katas algorithmiques en rotation ([LeetCode](https://leetcode.com/) hard + Project Euler), pratique sur les codebases ACCENSEO (analyse statique tailwindcss-obfuscator). Master Expert en Ingénierie du Logiciel actif jusqu'en 2026.

### Formations à venir

Participation CTF (Capture The Flag) optionnelle déclenchée selon le contexte cible (industrie sécurité). Possible immersion sur le reverse engineering binaire (Ghidra avancé, formation NoStarch ou OpenSecurityTraining) en 2027.

## Progression à travers les parcours

Cette compétence a été développée dans 2 parcours différents.

- **1999** - [CTO · Founder · directeur technique](https://portfolio.josedacosta.info/fr/parcours/celiane-founder.md) (entrepreneurship) - Confidence: 4/5
- **2023** - [Master Expert en Ingénierie du Logiciel](https://portfolio.josedacosta.info/fr/parcours/master-software-engineering.md) (education) - Confidence: 5/5

## Réalisations associées

- [European B2B Search Engine for Promotional Products (European Sourcing)](https://portfolio.josedacosta.info/fr/realisations/moteur-de-recherche-europeen-b2b-objets-publicitaires.md) - Implemented combinatorial pricing algorithms (Cartesian product generating thousands of combinations per product: sizes × colors × quantities × marking types × marking zones × finishes) and search-engine indexing theory (inverted index, analyzers, TF-IDF scoring)
- [PIM Extranet for B2B Promotional Products Search Engine (European Sourcing)](https://portfolio.josedacosta.info/fr/realisations/extranet-pim-b2b-objets-publicitaires.md) - Cartesian-product pricing engine: thousands of combinations per product (sizes × colors × markings × zones × finishings)

Version interactive avec navigation : https://portfolio.josedacosta.info/fr/competences/reverse-engineering-algorithmes
