Plateforme
Un million de lignes legacy, en Go ou en Rust en 30 jours.
Des modèles affinés lisent tout le dépôt en une passe et le réécrivent tranche par tranche. Chaque tranche est rejouée sur votre trafic de production puis validée par l'un de nos meilleurs ingénieurs, qui livre du code en production depuis plus de 25 ans.
Ingestion
Tout ce que contient l'arbre
Carte
Un seul graphe de dépendances
Réécriture
Tranche par tranche
Contrôle
Parité sur trafic réel
Livraison
Bascule sans fenêtre de maintenance
Pipeline
Cinq étapes automatisées, chacune validée par un ingénieur senior.
- 01
Ingestion
Tout ce que contient l'arbre
Sources, scripts de build, planifications de jobs, schémas et procédures stockées entrent ensemble. Chaque langage de l'arbre est analysé en parallèle.
- 02
Carte
Un seul graphe de dépendances
Modules, appels, flux de données et code mort atterrissent dans un seul graphe. Les frontières de services se lisent directement dans sa structure.
- 03
Réécriture
Tranche par tranche
Des modèles affinés réécrivent une tranche délimitée à la fois en Go, Rust, TypeScript ou SQL idiomatique, tests écrits en premier.
- 04
Contrôle
Parité sur trafic réel
Les entrées de production enregistrées sont rejouées sur l'ancien système et sur le nouveau. Nous corrigeons chaque écart, ou vous le validez par écrit.
- 05
Livraison
Bascule sans fenêtre de maintenance
Le trafic bascule tranche par tranche. L'ancien système reste chaud en réserve jusqu'à ce que le nouveau porte toute la charge.
Modèles affinés
Entraînés sur le code que tout le monde a oublié.
Dialectes sur lesquels les modèles sont entraînés
- COBOL
- JCL
- CICS
- RPG IV
- PL/I
- Natural
- Fortran
- VB6
- Delphi
- PowerBuilder
- ColdFusion
- PHP 4–5
- Perl
- Classic ASP
- Java EE
- Struts
- PL/SQL
- T-SQL
- DB2 SQL
- Oracle Forms
- ABAP
- AngularJS
Un spécialiste par famille
Un affinage distinct pour le mainframe, le midrange, le desktop, le web et les données. Chacun connaît les idiomes de sa famille et sait où sont les pièges.
Un code que votre équipe voudra garder
Du Go, du Rust ou du TypeScript idiomatique, avec les noms, les tests et la structure qu'écrirait un ingénieur senior. Votre équipe le lit dès le premier jour.
Votre code reste le vôtre
Votre dépôt n'entraîne jamais nos modèles sans votre accord écrit. Sur site, les poids restent eux aussi dans vos murs.
Graphe de production réel
Voici comment la plateforme voit un système.
État actuel
Réécriture mécanique60%
Frontière coupée par un ingénieur29%
Candidat à la suppression11%
Le même graphe en tableau
| Module | Lignes | Importé par | Importe | Domaine | Classe | |
|---|---|---|---|---|---|---|
| M01 | 326 | loc | 0 | 10 | S01 | Réécriture mécanique |
| M02 | 142 | loc | 0 | 3 | S02 | Réécriture mécanique |
| M03 | 55 | loc | 0 | 3 | S02 | Réécriture mécanique |
| M04 | 89 | loc | 0 | 3 | S02 | Réécriture mécanique |
| M05 | 5,194 | loc | 3 | 15 | S03 | Frontière coupée par un ingénieur |
| M06 | 239 | loc | 5 | 1 | S03 | Frontière coupée par un ingénieur |
| M07 | 884 | loc | 20 | 0 | S03 | Frontière coupée par un ingénieur |
| M08 | 485 | loc | 4 | 6 | S03 | Réécriture mécanique |
| M09 | 9,835 | loc | 4 | 7 | S03 | Frontière coupée par un ingénieur |
| M10 | 514 | loc | 2 | 0 | S03 | Réécriture mécanique |
| M11 | 677 | loc | 1 | 5 | S03 | Réécriture mécanique |
| M12 | 236 | loc | 4 | 11 | S03 | Frontière coupée par un ingénieur |
| M13 | 187 | loc | 3 | 3 | S04 | Frontière coupée par un ingénieur |
| M14 | 454 | loc | 1 | 1 | S05 | Réécriture mécanique |
| M15 | 58 | loc | 3 | 1 | S05 | Réécriture mécanique |
| M16 | 356 | loc | 4 | 2 | S05 | Réécriture mécanique |
| M17 | 247 | loc | 4 | 2 | S05 | Réécriture mécanique |
| M18 | 59 | loc | 3 | 1 | S04 | Frontière coupée par un ingénieur |
| M19 | 139 | loc | 0 | 0 | S04 | Candidat à la suppression |
| M20 | 330 | loc | 13 | 2 | S04 | Frontière coupée par un ingénieur |
| M21 | 414 | loc | 1 | 1 | S06 | Réécriture mécanique |
| M22 | 1,670 | loc | 3 | 3 | S06 | Réécriture mécanique |
| M23 | 1,218 | loc | 18 | 0 | S06 | Frontière coupée par un ingénieur |
| M24 | 2,574 | loc | 15 | 3 | S06 | Frontière coupée par un ingénieur |
| M25 | 163 | loc | 4 | 1 | S04 | Frontière coupée par un ingénieur |
| M26 | 251 | loc | 2 | 5 | S04 | Réécriture mécanique |
| M27 | 161 | loc | 1 | 2 | S04 | Réécriture mécanique |
| M28 | 99 | loc | 2 | 0 | S04 | Réécriture mécanique |
| M29 | 45 | loc | 0 | 0 | S04 | Candidat à la suppression |
| M30 | 25 | loc | 0 | 0 | S04 | Candidat à la suppression |
| M31 | 1,417 | loc | 24 | 0 | S04 | Frontière coupée par un ingénieur |
| M32 | 82 | loc | 1 | 0 | S04 | Réécriture mécanique |
| M33 | 30 | loc | 4 | 1 | S04 | Frontière coupée par un ingénieur |
| M34 | 141 | loc | 3 | 1 | S03 | Réécriture mécanique |
| M35 | 79 | loc | 1 | 1 | S03 | Réécriture mécanique |
| M36 | 3,036 | loc | 3 | 10 | S03 | Réécriture mécanique |
| M37 | 173 | loc | 1 | 1 | S03 | Réécriture mécanique |
| M38 | 2,501 | loc | 1 | 9 | S03 | Réécriture mécanique |
| M39 | 1,452 | loc | 3 | 4 | S03 | Réécriture mécanique |
| M40 | 50 | loc | 1 | 1 | S03 | Réécriture mécanique |
| M41 | 2,148 | loc | 0 | 9 | S01 | Candidat à la suppression |
| M42 | 167 | loc | 0 | 1 | S01 | Candidat à la suppression |
| M43 | 4,873 | loc | 2 | 15 | S07 | Réécriture mécanique |
| M44 | 2,241 | loc | 1 | 10 | S07 | Réécriture mécanique |
| M45 | 474 | loc | 2 | 13 | S07 | Réécriture mécanique |
Banc de parité
Mêmes entrées, mêmes sorties, au centime près.
Chaque tranche fait passer les mêmes entrées enregistrées dans l'ancien système et dans le nouveau. Nous comparons les sorties champ par champ, jusqu'au centime, et une tranche ne part en production que lorsque le diff est vide. C'est pour cela que la date entre au contrat.
- Votre trafic de production enregistré sert de suite de tests
- Comparaison champ par champ, arrondis et cas limites de dates compris
- Chaque écart accepté validé par vous, par écrit
- ACCT 0048213 41.36ACCT 0048213 41.36
- ACCT 0048214 0.00ACCT 0048214 0.00
- ACCT 0051120 1,208.04ACCT 0051120 1,208.04
- ACCT 0051121 17.90ACCT 0051121 17.90
- ACCT 0060007 342.11ACCT 0060007 342.11
- ACCT 0060008 5.02ACCT 0060008 5.02
Les alternatives
Trois façons de moderniser. Une seule tient en 30 jours.
| Réécriture manuelle | Outils IA génériques | CodeHero | |
|---|---|---|---|
| Délai de mise en production | Des mois, voire des années | Flou, cale à grande échelle | 30 jours par phase |
| Prix | En régie | Le temps de vos ingénieurs | Ferme par phase, chiffré sous 48 heures |
| Preuve du comportement | Recette manuelle | Aucune | Parité sur votre propre trafic |
| Contexte du dépôt entier | Dans la tête des gens | Quelques fichiers à la fois | Un graphe, tous les langages |
| Fonctionne en air gap | Oui | Rarement | Oui, sur notre matériel ou le vôtre |
| Qui est responsable | Une grosse équipe | Vous | Un ingénieur senior à 25+ ans de métier |