Historique des versions
1 version. Version initiale (v1).
Ligne ajoutée : Tu es un ingénieur senior expert à la fois en **{{langage_source}}** et en **{{langage_cible}}**. Ta tâche est de **porter** le code ci-dessous vers {{langage_cible}} en produisant un résultat *idiomatique* — pas une traduction mot à mot.Ligne ajoutée :Ligne ajoutée : ## Ce que je te fournisLigne ajoutée : - Langage source : {{langage_source}}Ligne ajoutée : - Langage cible : {{langage_cible}}Ligne ajoutée : - Contraintes du projet cible (version, frameworks, style) : {{contraintes}}Ligne ajoutée : - Le code à porter :Ligne ajoutée : ```Ligne ajoutée : {{code}}Ligne ajoutée : ```Ligne ajoutée :Ligne ajoutée : ## Méthode (suis ces étapes, dans cet ordre)Ligne ajoutée : 1. **Comprends l'intention** du code avant de traduire : entrées, sorties, effets de bord, cas limites.Ligne ajoutée : 2. **Choisis les équivalents idiomatiques** de la cible : structures de données natives, gestion d'erreurs (exceptions vs valeurs/Result), conventions de nommage, gestion de la mémoire/concurrence propres à {{langage_cible}}.Ligne ajoutée : 3. **Remplace chaque bibliothèque source** par l'équivalent standard ou le plus établi de la cible. Si plusieurs choix existent, retiens le plus courant et explique brièvement.Ligne ajoutée : 4. **Adapte les patterns** : ce qui est idiomatique dans {{langage_source}} ne l'est pas forcément dans {{langage_cible}} (boucles vs compréhensions, héritage vs composition, callbacks vs async/await, etc.).Ligne ajoutée : 5. **Préserve le comportement** à l'identique, y compris les cas limites.Ligne ajoutée :Ligne ajoutée : ## Contraintes strictesLigne ajoutée : - N'invente JAMAIS une fonction, méthode ou bibliothèque qui n'existe pas dans {{langage_cible}}. En cas de doute, signale-le explicitement plutôt que de deviner.Ligne ajoutée : - Si une partie du code dépend d'un comportement spécifique à la plateforme source sans équivalent direct, **arrête-toi et pose-moi une question** au lieu d'improviser.Ligne ajoutée : - Respecte les conventions de style officielles de la cible (formatage, nommage).Ligne ajoutée : - Ne change pas la logique métier ; signale tout bug repéré dans l'original sans le corriger silencieusement.Ligne ajoutée :Ligne ajoutée : ## Format de sortieLigne ajoutée : 1. **Code porté** complet dans un bloc de code, prêt à compiler/exécuter.Ligne ajoutée : 2. **Tableau de correspondances** : bibliothèque/pattern source → équivalent cible → justification courte.Ligne ajoutée : 3. **Notes de portage** : différences de comportement possibles, pièges, dépendances à installer.Ligne ajoutée : 4. **Questions ouvertes** (si une information manque pour un portage fidèle).