P
🤖AutomatisationAvancé5 étapes

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.

migration de coderefactoringPythonTypeScriptautomatisation

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

Type: text
Format: code

Code source à migrer (fichiers Python 2 ou JavaScript), avec indication du type de migration souhaité (Python 2→3 ou JS→TS)

étapes (5)

1

Audit et cartographie du code source

prompt

Analyse le code existant pour identifier toutes les incompatibilités et dépendances à migrer.

2

Plan de migration priorisé

prompt

Génère un plan de migration ordonné avec les dépendances entre fichiers et l'ordre optimal de traitement.

3

Migration du code fichier par fichier

prompt

Applique les transformations de migration sur chaque fichier en suivant le plan établi.

4

Génération des tests de non-régression

prompt

Crée une suite de tests vérifiant que le comportement du code migré est identique à l'original.

5

Rapport final et guide de déploiement

prompt

Synthétise la migration avec un rapport complet et les instructions de déploiement.

Sortie

Type: text
Format: structuré

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ètreDescriptionValeur par défaut
migration_typeType de migration à effectuer : Python 2 vers Python 3, ou JavaScript vers TypeScriptpython2-to-python3
strategieStratégie de migration : 'conservative' (comportement identique garanti) ou 'modern' (adoption des patterns modernes idiomatiques)modern
strictness_levelNiveau 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.

Prompts associés

⚡ProductiviteIntermediaireAll AIs

Process support client pour agence web : rédaction actionnable

Générez un process de support client B2B pour agence web, incluant SLA, ticketing, escalade et indicateurs, avec variables à personnaliser.

0217
⚡ProductiviteIntermediaireAll AIs

Générer une SOP hôtelière pour le B2B

Prompt structuré pour générer une SOP hôtelière avec variables sectorielles clés (catégorie, service, PMS, segment client).

0190
⚡ProductiviteIntermediaireAll AIs

Prompt Sora pour créer une base de connaissances

Sora, le modèle de génération vidéo développé par OpenAI, ouvre des perspectives inédites pour la création de bases de connaissances visuelles et interactives. Plutôt que de se limiter à des documents textuels statiques, vous pouvez désormais produire des vidéos explicatives, des démonstrations visuelles et des tutoriels animés qui enrichissent considérablement votre base de connaissances. L'approche vidéo facilite la compréhension de concepts complexes, réduit la courbe d'apprentissage et améliore la rétention d'information. Que vous construisiez une base de connaissances interne pour former vos équipes, un centre d'aide client ou une bibliothèque de ressources pédagogiques, Sora vous permet de transformer chaque article ou procédure en contenu visuel engageant. En structurant vos prompts de manière méthodique, vous obtenez des vidéos cohérentes qui s'intègrent parfaitement dans une architecture documentaire existante. Ce guide vous fournit les prompts optimisés pour exploiter Sora dans la construction d'une base de connaissances multimédia professionnelle, en couvrant tous les niveaux d'expertise.

0303
⚡ProductiviteIntermediaireAll AIs

Onboarding collaborateur agence de communication : le guide complet

Prompt pour construire un onboarding personnalisé et structuré pour une agence de communication, couvrant les aspects culturels, outils, processus et management.

0193