Les 5 techniques qui changent tout
Des recettes simples pour des résultats 10x meilleurs. Zéro jargon.
5.1Technique 1 : "Montre-moi d'abord, fais ensuite"
Au lieu de demander directement du code, tu donnes d'abord un ou deux exemples de ce que tu attends. L'IA comprend le pattern et le reproduit. C'est comme montrer un combo à un joueur débutant avant de le laisser essayer.
Je veux créer des fonctions utilitaires pour formater des données.
Voici le pattern que je veux suivre :
```ts
// Exemple 1
export function formatPrice(cents: number): string {
return new Intl.NumberFormat("fr-FR", {
style: "currency",
currency: "EUR",
}).format(cents / 100);
}
// Exemple 2
export function formatDate(date: Date): string {
return new Intl.DateTimeFormat("fr-FR", {
day: "numeric",
month: "long",
year: "numeric",
}).format(date);
}
```
Maintenant, crée les fonctions suivantes en suivant ce même pattern :
- formatPhoneNumber (format français : 06 12 34 56 78)
- formatFileSize (octets → Ko, Mo, Go avec 1 décimale)
- formatDuration (secondes → "2h 34min")5.2Technique 2 : "Réfléchis étape par étape"
Quand un problème est complexe, demande à l'IA de décomposer sa réflexion avant de coder. Ça évite les solutions bancales et les raccourcis dangereux.
Je veux implémenter un système de pagination côté serveur
dans mon app Next.js 15 (App Router) avec une base PostgreSQL.
Avant d'écrire du code, explique-moi :
1. Quelle stratégie de pagination choisir (offset vs cursor) et pourquoi
2. Comment structurer l'API route
3. Comment gérer le state côté client
4. Les edge cases à gérer (page vide, dernière page, tri)
Ensuite seulement, implémente ta solution recommandée.En forçant l'IA à réfléchir avant d'agir, tu obtiens des solutions mieux architecturées. Et bonus : tu apprends en lisant son raisonnement.
5.3Technique 3 : "Joue un rôle"
Donner un rôle précis à l'IA change drastiquement la qualité et le niveau de ses réponses. C'est comme choisir la classe de ton personnage : un guerrier et un mage ne gèrent pas les mêmes situations.
"Tu es un tech lead qui fait une code review"
→ L'IA pointe les problèmes, suggère des améliorations, cite des bonnes pratiques
"Tu es un dev junior curieux qui pose des questions"
→ L'IA explique simplement, avec des analogies, sans jargon
"Tu es un expert en sécurité web"
→ L'IA vérifie les failles XSS, CSRF, injection, les headers manquants
"Tu es un spécialiste en accessibilité (a11y)"
→ L'IA ajoute les ARIA labels, vérifie les contrastes, pense clavier et lecteur d'écran
"Tu es un architecte logiciel senior"
→ L'IA pense patterns, scalabilité, séparation des responsabilités
5.4Technique 4 : "Contraintes explicites"
Dire ce que tu ne veux pas est parfois plus utile que dire ce que tu veux. C'est comme mettre des barrières dans un circuit : ça guide l'IA vers le bon chemin.
Crée un hook useLocalStorage en TypeScript.
Contraintes :
- PAS de dépendance externe
- PAS de useEffect pour la synchronisation (utilise useSyncExternalStore)
- PAS de JSON.parse sans try/catch
- PAS de any dans les types
- DOIT fonctionner côté serveur (SSR safe)
- DOIT gérer le cas où localStorage n'est pas disponiblePourquoi ça marche si bien ?
Sans contraintes, l'IA prend le chemin le plus court. Et souvent, le chemin le plus court n'est pas le meilleur : any partout, useEffect pour tout, pas de gestion d'erreurs. Les contraintes forcent l'IA à produire du code de qualité production.
5.5Technique 5 : "Le rubber duck IA"
Tu connais le rubber duck debugging ? Tu expliques ton problème à un canard en plastique et, en l'expliquant, tu trouves la solution. Avec l'IA, c'est pareil, sauf que le canard te répond.
J'ai un bug et je n'arrive pas à comprendre d'où il vient.
Voici la situation :
- J'ai un composant UserProfile qui fetch les données utilisateur
- Le fetch marche (je vois les données dans le Network tab)
- Mais le composant affiche les données du PRÉCÉDENT utilisateur
- Quand je refresh la page, ça s'affiche correctement
Mon code :
```tsx
export function UserProfile({ userId }: { userId: string }) {
const [user, setUser] = useState<User | null>(null);
useEffect(() => {
fetch(`/api/users/${userId}`)
.then(res => res.json())
.then(data => setUser(data));
}, []);
// ... rendu
}
```
Aide-moi à comprendre ce qui se passe. Ne me donne pas juste la
correction, explique-moi le problème comme si j'étais un dev junior.5.6Résumé des 5 combos
À toi de jouer
Cette semaine, essaie d'utiliser au moins 3 de ces techniques dans ton travail quotidien. Note laquelle te donne les meilleurs résultats. Tout le monde a ses combos préférés !