montées de version
Montée de version vers .NET 8, Java 21 et React, faite en 30 jours
La fin de support de votre framework est passée ou tombe bientôt, et chaque scan de sécurité ressort les mêmes alertes. Des ingénieurs avec 25+ ans de production vous mettent sur une version supportée en 30 jours, preuve faite sur votre propre trafic.
Sous 48 heures : un prix ferme par phase, l'ordre de la montée de version et la date où votre ancien runtime disparaît.
Java 8, .NET Framework 4.x ou AngularJS 1.x, plus de correctifs, et un rapport de scanner qui s'allonge chaque trimestre.
- Java 8Spring 4
- .NET Framework 4.xWindows only
- AngularJS 1.xend of life
- Python 2.7end of life
30 jours, parité vérifiée sur du trafic de production enregistré
Java 21 avec Spring Boot 3, .NET 8, React ou Python 3, dépendances à jour, alertes fermées.
- Java 21Spring Boot 3
- .NET 8Linux containers
- ReactTypeScript
- Python 3.12typed
La montée de version en 30 jours
- 01jours 1–3
Scanner et planifier
Chaque dépendance, chaque API dépréciée et chaque namespace supprimé repérés dans tout le code, avec vos alertes de sécurité rattachées. Vous recevez l'ordre de la montée de version et un prix ferme.
- 02jours 3–15
Monter le cœur
Runtime, build et framework passent d'abord : javax vers jakarta, System.Web vers ASP.NET Core, Struts et EJB vers Spring Boot. La plateforme fait la réécriture de masse et les ingénieurs relisent chaque pull request.
- 03jours 10–24
Remplacer ce qui est mort
Les bibliothèques sans version supportée sont remplacées ou réécrites, et les écrans AngularJS sont reconstruits en React une route à la fois. Le harnais de parité rejoue le trafic de production après chaque fusion.
- 04jours 22–30
Livrer et retirer
Le nouveau build prend le trafic derrière un interrupteur, l'ancien runtime gardé en repli jusqu'à votre signature. Ensuite, il est retiré de chaque serveur et de chaque image.
Qui fait quoi dans une montée de version
Trouver chaque API dépréciée ou supprimée
Plateforme
Dans tous les modules et toutes les dépendances transitives, y compris la réflexion et la configuration XML que le compilateur ne voit jamais.
Changements de code en masse
Plateforme
Déplacements de namespaces, remplacements d'API et mises à jour de syntaxe appliqués à tout le code sous forme de pull requests relisibles.
Remplacer les bibliothèques mortes
Ingénieur
Quelle bibliothèque prend le relais de celle qui s'est arrêtée à Java 8 ou .NET Framework, ou si quelques lignes de votre propre code sont plus sûres.
Fermer les alertes de sécurité
Les deux
La plateforme relie le rapport du scanner aux correctifs. Les ingénieurs vérifient que chaque alerte se ferme et qu'aucune nouvelle ne s'ouvre.
Parité de comportement
Les deux
Le rejeu du trafic enregistré est automatisé. Votre côté valide quels écarts sont des corrections et lesquels seraient des régressions.
Performance sur le nouveau runtime
Ingénieur
Ramasse-miettes, pools de threads et démarrage réglés sur le nouveau runtime et mesurés sous charge de production avant la bascule.
Un codemod automatique traite la moitié facile d'une montée de version. Ici, chaque changement passe en plus par un ingénieur senior et par le harnais de parité avant la production.
Qui fait votre montée de version
Nos ingénieurs écrivent du Java, du .NET, du Python et du PHP de production depuis plus de 25 ans, et ils ont livré sur les versions que vous quittez. Ils savent quelle config XML Spring cesse de se charger sans un mot, où .NET 8 sérialise une date autrement, et comment un cycle de digest AngularJS a caché une race condition pendant des années. Pour changer de runtime en gardant chaque réponse, ce sont les meilleurs que vous puissiez mettre dessus.
Prix ferme par phase, date de retrait de l'ancien runtime au contrat. Une phase est acceptée quand le rapport de parité est propre, et chaque commit est à vous dès qu'il arrive.
Ce que nous demandent les leads techniques
Notre équipe peut-elle continuer à livrer pendant la montée de version ?
Oui. Nous travaillons sur une branche rebasée chaque jour sur votre main, et la plateforme réapplique les changements mécaniques à tout ce que vous avez fusionné. Votre roadmap avance pendant que la montée de version se pose dessous. Demandez un devis, le plan montre comment les fusions circulent dès le premier jour.
Nous n'avons presque pas de tests. Comment prouvez-vous que rien n'a cassé ?
Le harnais de parité rejoue du trafic de production enregistré contre l'ancienne et la nouvelle version et compare chaque réponse : les parcours de vos utilisateurs sont couverts, tests ou pas. Vous recevez un rapport d'écarts par phase et le signez avant la bascule. Demandez un devis, le harnais est compris dans le prix.
AngularJS vers React, c'est une réécriture complète ?
C'est une réécriture du front, faite route par route dans l'application qui tourne : les utilisateurs voient les écrans changer un par un, sans grande livraison d'un coup. La plateforme porte templates et contrôleurs en composants, et les ingénieurs relisent chacun. Tout le front est sur React dans les 30 jours. Indiquez le nombre de routes et le prix revient en 48 heures.
Notre framework arrive bientôt en fin de vie. Est-il encore temps ?
Oui. La montée de version prend 30 jours : en commençant maintenant, vous êtes sur une version supportée bien avant l'échéance, et votre prochain audit de sécurité trouve un runtime à jour. Demandez un devis aujourd'hui et la date entre au contrat.
Pourquoi ne pas confier la montée de version à notre propre équipe ?
Elle le peut, et ça la sort de la roadmap aussi longtemps que ça dure. Nous apportons une plateforme qui applique les changements mécaniques à tout le code d'un coup, et des ingénieurs qui ont déjà fait exactement cette montée de version. Vos équipes restent sur les fonctionnalités. Demandez un devis et comparez-le à ce que votre roadmap perdrait.
Quittez le runtime sans support
Nommez le framework, la version et l'échéance aujourd'hui. Sous 48 heures, vous avez un prix ferme et l'ordre de la montée de version, et en 30 jours la production tourne sur un runtime supporté, l'ancien supprimé.
Des numéros de version et une taille de dépôt approximative suffisent pour chiffrer.