On est d'accord, l'IA qui aide à coder, c'est tentant. Mais entre les IDE qui rament avec leurs extensions gourmandes et le fait de devoir balancer tout son code source sur des serveurs cloud dont on ne sait pas grand-chose, l'enthousiasme retombe vite. J'ai toujours été un peu frileux à l'idée de confier mes projets persos, ou même pro, à un service externe. Et puis, soyons honnêtes, la lourdeur d'un Copilot intégré à VS Code, ça plombe l'expérience quand on veut juste un petit coup de main ponctuel.
C'est dans cette optique que je suis tombé sur Qwen Code. L'idée ? Un agent IA de code, mais directement dans ton terminal. Pas de fioritures, pas de cloud obligatoire, juste un assistant discret qui peut te filer un coup de main pour du PHP, du JavaScript ou n'importe quoi d'autre. Ça m'a interpellé, surtout le côté "terminal" et "open-source". Moins de friction, plus de contrôle, ça sonne bien.
Qwen Code, c'est quoi au juste ?
Alors, Qwen Code, c'est quoi exactement ? Pour faire simple, c'est un agent IA de codage. Il est capable de comprendre ta base de code, d'automatiser des trucs un peu relous, d'écrire ou de refactoriser du code, et même d'aider au débogage ou aux tests. Le tout, sans te faire quitter ton bon vieux terminal.
Ce qui est intéressant, c'est que Qwen Code est un fork de Gemini CLI, mais il a été adapté pour bosser au mieux avec les modèles Qwen-Coder d'Alibaba. Oui, l'équipe QwenLM d'Alibaba est derrière tout ça. Tu peux d'ailleurs jeter un œil au dépôt GitHub si tu veux creuser. Ça donne une certaine crédibilité, même si "Alibaba" et "souveraineté du code" peuvent sembler contradictoires. L'avantage, c'est que l'outil est open-source et peut être configuré pour utiliser des modèles locaux. C'est ça qui m'a vraiment plu.
Installation et première prise en main
Bon, assez de blabla, comment on installe le machin ? Les options ne manquent pas, ce qui est plutôt bien. Perso, j'ai une préférence pour les méthodes directes ou les gestionnaires de paquets quand c'est possible.
Installation rapide (Linux / macOS)
Si tu es sur Linux ou macOS, la commande curl est la plus simple :
curl -fsSL https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen-standalone.sh | bash
Via NPM (Node.js 22+ requis)
Si tu as Node.js d'installé (version 22 minimum pour cette méthode), tu peux passer par npm :
npm install -g @qwen-code/qwen-code@latest
Via Homebrew (macOS / Linux)
Les utilisateurs de Homebrew apprécieront :
brew install qwen-code
Depuis les sources (Node.js 20+ requis)
Pour les puristes ou ceux qui veulent bidouiller, le bon vieux git clone est là. Attention, il faut Node.js 20 minimum pour cette option. Toutes les infos sont sur le dépôt GitHub officiel.
git clone https://github.com/QwenLM/qwen-code.gitcd qwen-code && npm install && npm install -g
Une fois installé, tu peux lancer qwen pour voir si tout est en ordre. N'hésite pas à consulter la documentation officielle pour plus de détails sur l'installation et la configuration.
Configuration : l'art de dompter la bête
L'installation, c'est bien, mais pour que Qwen Code soit vraiment utile, il faut le configurer un peu. L'outil est plutôt flexible, ce qui est un bon point. Les réglages se trouvent dans ~/.qwen/settings.json pour les paramètres globaux, et tu peux en avoir un spécifique à ton projet dans .qwen/settings.json à la racine de ton dépôt. Pratique pour avoir des configs différentes selon les projets.
L'authentification et les modèles
C'est là que ça devient intéressant pour la souveraineté. Pour utiliser Qwen Code, il te faut un modèle d'IA. Tu peux t'authentifier avec un compte Qwen (payant), utiliser QwenCloud, une clé API Alibaba Cloud ModelStudio, ou, et c'est ce qui nous intéresse, des modèles auto-hébergés via Ollama ou vLLM. Ça, c'est la vraie bonne nouvelle !
Pour configurer une clé API (par exemple, pour un modèle compatible OpenAI si tu utilises Ollama), le plus propre est de passer par un fichier .env à la racine de ton projet. Par exemple :
OPENAI_API_KEY="sk-votre-clé-ici"OPENAI_BASE_URL="http://localhost:11434/v1"OPENAI_MODEL="llama2"
Ensuite, dans Qwen Code, tu peux taper /auth pour démarrer le processus d'authentification et choisir ton fournisseur. Une fois que c'est bon, la commande /model te permet de basculer entre les différents modèles configurés dans ton settings.json. C'est super pour tester différentes IA sans tout reconfigurer.
Quelques réglages utiles
Le fichier settings.json te donne pas mal de contrôle. Le champ generationConfig est ton ami si tu veux ajuster le comportement du modèle, comme le timeout, la temperature (pour la créativité) ou max_tokens (la longueur des réponses). C'est le genre de détail qui fait la différence pour avoir des réponses utiles.
Intégration avec un projet PHP existant
On est sur un blog de dev PHP, donc la question qui brûle les lèvres : ça donne quoi avec du PHP ? Qwen Code n'est pas un outil PHP en soi, il est écrit en TypeScript et c'est un agent généraliste. Donc, non, il n'y a pas de paquet Composer pour Qwen Code lui-même. Mais ce n'est pas un problème, car il est fait pour interagir avec n'importe quelle base de code, y compris la nôtre.
Imagine : tu es en train de bosser sur un vieux projet Symfony, tu as besoin d'écrire un test unitaire pour un contrôleur, ou de refactoriser une méthode un peu trop longue. Au lieu d'aller chercher sur Stack Overflow ou de lancer un IDE lourd, tu peux demander directement à Qwen Code dans ton terminal. Il lit ton code PHP, comprend le contexte et te propose des solutions.
Par exemple, tu pourrais lui demander :
Génère un test PHPUnit pour la méthode
calculatePricede la classeProductServicedanssrc/Service/ProductService.php.
Ou encore :
Refactorise la fonction
legacyProcessOrderdanssrc/OrderProcessor.phppour la rendre plus lisible et utiliser des objets.
Il est même capable d'exécuter des commandes shell, donc tu peux lui demander de lancer tes tests PHPUnit et de corriger les erreurs qu'il voit. C'est un vrai couteau suisse qui ne te sort pas de ton environnement de travail.
Petite parenthèse : il existe bien un client API PHP maintenu par la communauté, qwen-php/qwen-php-client, que tu peux trouver sur GitHub. Il permet d'interagir avec l'API Qwen AI depuis une application PHP. Mais attention, ce n'est pas Qwen Code l'agent terminal. C'est pour utiliser les modèles Qwen dans ton code PHP, ce qui est une autre histoire.
Personnalisation et limites
Comme tout bon outil, Qwen Code peut être personnalisé. Tu peux définir tes propres commandes, extensions et compétences dans les répertoires .qwen/skills/ de ton projet. C'est le genre de truc qui permet de vraiment l'adapter à tes habitudes de travail et de créer des automatisations spécifiques. Pour ceux qui aiment les trucs plus "daemon", il y a même une option qwen serve pour le faire tourner comme un service HTTP + SSE, mais c'est encore expérimental.
Les pièges à éviter (ou à connaître)
Soyons clairs, tout n'est pas rose. Il y a quelques points à avoir en tête :
- Télémétrie : Elle est activée par défaut. Si tu es aussi parano que moi sur la vie privée, c'est un détail qui pique. Des forks existent pour la virer, mais c'est un peu dommage de devoir bidouiller.
- Quotas : Le plan gratuit a des quotas quotidiens. Si tu l'utilises beaucoup, tu risques de les atteindre rapidement. C'est le revers de la médaille pour les services cloud.
- Expérimental : L'interface web et le mode daemon sont encore en phase de test. Donc, ne t'attends pas à une stabilité à toute épreuve sur ces aspects.
- Node.js : Ça demande Node.js 20+ (ou 22+ pour l'installation NPM). Si tu n'es pas développeur JavaScript de base, c'est une dépendance de plus à gérer.
Qwen Code vs. les autres : le match
Face à Qwen Code, on a les géants comme Copilot intégré aux IDE (VS Code, PhpStorm), ou des services cloud purs. L'avantage de Qwen Code, c'est ce positionnement hybride : local et terminal-centric. Tu gardes le contrôle de ton code, tu n'as pas la lourdeur d'un IDE qui gère tout, et tu peux choisir ton modèle (y compris local). Des alternatives comme Aider sont aussi sur le créneau du terminal. Les autres, comme Claude Code ou OpenAI Codex, sont souvent des services cloud avec des APIs. Qwen Code, avec son approche agentique et sa flexibilité sur les modèles, se démarque pour ceux qui veulent une assistance intelligente sans compromettre leur environnement ou leurs données.
Mon verdict : un bon compagnon de terminal ?
Alors, mon verdict ? Qwen Code, c'est un outil sacrément prometteur. Pour un développeur PHP qui passe une bonne partie de sa vie dans le terminal, c'est une bouffée d'air frais. L'idée d'avoir un assistant IA capable de comprendre mon code, de générer des tests ou de refactoriser des bouts de code complexes, sans quitter l'environnement où je suis déjà, c'est un gain de productivité évident. Et le fait de pouvoir le brancher sur des modèles locaux, c'est un argument de poids pour la souveraineté de mon code.
Bien sûr, il y a des limites. La télémétrie par défaut est un peu agaçante, et les quotas du plan gratuit peuvent être frustrants. Mais la possibilité de l'auto-héberger et de le personnaliser via les skills, ça ouvre des portes intéressantes. Si tu cherches une alternative aux solutions cloud ou aux intégrations IDE trop lourdes, Qwen Code mérite clairement le coup d'œil. C'est un outil qui a le potentiel de changer pas mal de petites habitudes de développement, pour le mieux.