Agent de migration de codebase (Python 2→3, JavaScript→TypeScript)
Cet agent orchestre la migration complète d'une codebase entre technologies : Python 2 vers Python 3 ou JavaScript vers TypeScript. Il analyse le code source existant, identifie les incompatibilités et patterns obsolètes, génère un plan de migration priorisé, puis produit le code migré fichier par fichier avec les tests unitaires correspondants.
Pour qui
Développeurs et tech leads devant migrer une codebase legacy vers une version moderne du langage, cherchant à automatiser et fiabiliser le processus.
Entrée
Code source à migrer (fichiers Python 2 ou JavaScript), avec indication du type de migration souhaité (Python 2→3 ou JS→TS)
étapes (5)
Audit et cartographie du code source
promptAnalyse le code existant pour identifier toutes les incompatibilités et dépendances à migrer.
Plan de migration priorisé
promptGénère un plan de migration ordonné avec les dépendances entre fichiers et l'ordre optimal de traitement.
Migration du code fichier par fichier
promptApplique les transformations de migration sur chaque fichier en suivant le plan établi.
Génération des tests de non-régression
promptCrée une suite de tests vérifiant que le comportement du code migré est identique à l'original.
Rapport final et guide de déploiement
promptSynthétise la migration avec un rapport complet et les instructions de déploiement.
Sortie
Code migré complet, suite de tests de non-régression, changelog détaillé des transformations, et rapport de migration avec guide de déploiement
Exemple
Entrée
Migration Python 2→3 d'un module de traitement de données :
```python
# utils.py
import urllib2
import ConfigParser
from StringIO import StringIO
def fetch_data(url):
response = urllib2.urlopen(url)
return response.read()
def parse_config(path):
config = ConfigParser.SafeConfigParser()
config.read(path)
return dict(config.items('main'))
def process_items(items):
results = filter(lambda x: x > 0, items)
for key, value in {}.iteritems():
print key, value
return map(str, results)
```Sortie
**Code migré (utils.py)** :
```python
import urllib.request
import configparser
from io import StringIO
def fetch_data(url: str) -> bytes:
response = urllib.request.urlopen(url)
return response.read()
def parse_config(path: str) -> dict[str, str]:
config = configparser.ConfigParser()
config.read(path)
return dict(config.items('main'))
def process_items(items: list[int]) -> list[str]:
results = [x for x in items if x > 0]
for key, value in {}.items():
print(key, value)
return [str(x) for x in results]
```
**Changelog** : 6 transformations appliquées (3 imports renommés, 1 print→print(), 1 iteritems→items, 1 filter/map→list comprehension). **Tests** : 4 tests de parité fonctionnelle générés. **Confiance** : 95%.Personnalisation
| Paramètre | Description | Valeur par défaut |
|---|---|---|
| migration_type | Type de migration à effectuer : Python 2 vers Python 3, ou JavaScript vers TypeScript | python2-to-python3 |
| strategie | Stratégie de migration : 'conservative' (comportement identique garanti) ou 'modern' (adoption des patterns modernes idiomatiques) | modern |
| strictness_level | Niveau de strictness pour le typage en cible : 'loose' (any autorisé), 'moderate' (any limité), 'strict' (zéro any, types exhaustifs) | moderate |
Notes techniques
Cet agent fonctionne de manière optimale sur des modules de taille modérée (< 500 lignes par fichier). Pour les codebases volumineuses, procédez par lots en soumettant les fichiers module par module en suivant l'ordre de dépendance.
Pour les migrations Python 2→3, l'agent gère les incompatibilités majeures : print, unicode/bytes, imports renommés, itérateurs, division entière, et syntax changes. Les cas de métaprogrammation avancée (metaclasses, descripteurs custom) nécessitent une revue humaine.
Pour les migrations JS→TS, l'agent infère les types à partir du contexte et des usages. Fournissez les fichiers de types existants (@types/) et les interfaces API pour un typage plus précis. Activez le mode 'strict' pour les projets critiques.
Termes du glossaire
Prompts associés
Rédigez une note de service claire et impactante avec l'IA
Ce prompt génère une note de service structurée et professionnelle, adaptée à votre contexte d'entreprise, avec le bon niveau de formalisme et tous les éléments indispensables.
Préparer une due diligence
Pour se préparer à une levée de fonds sérieuse
Communauté de pratique en ligne
Communauté de pratique
Prompt Mistral pour créer une base de connaissances
Mistral, le modèle de langage français de référence, excelle dans la structuration et l'organisation de connaissances complexes. Créer une base de connaissances efficace nécessite bien plus qu'un simple copier-coller d'informations : il faut catégoriser, hiérarchiser, relier et formater les données pour qu'elles soient exploitables par une équipe ou un système. Grâce à ses capacités de compréhension contextuelle et de génération structurée, Mistral peut transformer des documents bruts, des notes éparses ou des expertises métier en une base de connaissances cohérente et navigable. Que vous soyez une startup cherchant à capitaliser sur son savoir-faire, une équipe support souhaitant centraliser ses réponses, ou un consultant voulant organiser son expertise, Mistral vous accompagne dans chaque étape : définition de la taxonomie, extraction des informations clés, rédaction des articles, et création des liens entre les sujets. Ce guide vous fournit des prompts optimisés pour exploiter pleinement Mistral dans la construction d'une base de connaissances professionnelle, structurée et évolutive.