Comment configurer LangChain en local (Python et JavaScript)
Installez LangChain sur votre machine - tutoriel LangChain complet en Python et en JavaScript
Ces dernières années ont vu émerger de puissants outils cloud, très utiles pour apprendre à programmer ou mener des expérimentations :
En python, Google Colab est une solution incontournable, fondée sur le principe des notebooks Jupyter, mais en version cloud. Et c’est gratuit !
En JavaScript, plusieurs solutions concurrentes existent, on peut citer StackBlitz qui utilise des webcontainers, et CodeSandbox qui utilise des machines virtuelles.
Cependant, vous allez certainement vouloir rapidement mener des projets de création d’agents IA ambitieux : il sera alors nécessaire d’installer LangChain directement sur votre machine.
Découvrons comment uv en Python et pnpm en JavaScript peuvent nous aider. Et bien sûr, dotenv pour gérer nos clés d’API !
L’astuce de la semaine : une clé d’API LLM globale
Je vais vous montrer dans un instant comment stocker proprement vos clés d’API LLM dans un fichier .env, spécifique à chaque projet.
Mais pour me faciliter la vie, je stocke aussi des clés globales directement dans mon fichier ~/.profile.
Sous Linux et Mac, le signe tilde “~“ désigne votre dossier “home”, et le fichier .profile est chargé automatiquement au démarrage de votre machine.
Si vous y ajoutez une variable MISTRAL_API_KEY, celle-ci sera utilisée par défaut par différents outils IA, notamment les applications LangChain et LangGraph.
# Mon fichier ~/.profile
export MISTRAL_API_KEY=5bXXXXXXXXXXXXXX
export OPENROUTER_API_KEY=sk-or-v1-1c26de6XXXXXXX
export OPENAI_API_KEY="sk-proj-N8XXXXXXXX"Le cas d’usage de la semaine
Mon exemple préféré pour justifier l’utilisation d’un script avec LangChain plutôt qu’une plateforme IA : appliquer un prompt à une liste de documents.
ChatGPT est amusant quand on doit traiter 1 à 10 documents. Mais pour mener une veille commerciale sur une liste de 2000 concurrents, c’est tout de suite moins drôle ! Alors qu’une simple boucle “while” permet de gérer ce cas en une dizaine de lignes de code avec LangChain.
À vos claviers : Votre installation LangChain locale
🐍 Team Python
TL;DR: je vous ai créé un template clé-en-main pour démarrer avec LangChain en Python sur GitHub. Explications ci-dessous.
Si vous êtes sous Windows, commencez par installer Linux via le WSL : plus léger qu’une machine virtuelle (VM), ce système est devenu la norme pour beaucoup de programmeurs Python et vous permet d’exécuter les mêmes commandes que sous Linux ou Mac. Ainsi, nous parlons tous le même langage !
Ensuite, familiarisez-vous avec uv, qui permet à la fois d’installer Python sur votre ordinateur et d’installer des modules comme langchain.
Note : au moment où j’écris ces lignes (mars 2026), LangChain ne supporte pas encore Python 3.14, il vous faudra donc installer la version 3.13.
En effet, LangChain et LangGraph utilisent des librairies fortement optimisées, qui peuvent mettre un peu de temps à supporter les nouvelles versions de Python sans compromis sur les performances.
Pour stocker les clés d’API sur votre ordinateur, le système dotenv est très pratique. Vous stockez tout simplement vos clés dans un fichier caché “.env”, avec une clé d’API par projet sur votre ordinateur. Cependant, attention à ne PAS l’inclure dans votre dépôt GitHub !
# Dans le fichier .env d'un projet
# Attention à NE PAS versionner ce fichier dans git !!
# C'est un fichier privé !!
OPENROUTER_API_KEY=xyz_1234# Dans votre fichier .gitignore
.env
.env.*# Dans le code
# Installation : pip install python-dotenv
import os
from dotenv import load_dotenv
load_dotenv() # charge le fichier .env automatiquement
print(os.getenv("OPENROUTER_API_KEY")) # 🎉Enfin, vous pouvez reprendre le code de notre article précédent “Un LLM dans votre code avec LangChain“, et l’exécuter sur votre propre ordinateur !
Dernier point important : avec uv, on utilise la commande uv run mon_script.py plutôt que python. En effet, uv va se charger d’activer toutes les dépendances automatiquement et gérer pour nous l’environnement virtuel “venv” : très pratique !

🟨 Team JavaScript
J’avais déjà cité la semaine dernière volta pour l’installation de Node.js et pnpm pour l’installation des packages, dont langchain.
Découvrons maintenant comment exécuter efficacement un script JavaScript localement. Ou plus précisément : un script TypeScript !
TypeScript est une version de JavaScript qui utilise du typage statique, c’est-à-dire que l’on précise dans le code les structures de données utilisées par les variables et les fonctions.
C’est un peu intimidant quand on a appris JavaScript en autodidacte à l’époque de jQuery, mais TypeScript apporte de nombreux avantages qui valent le coup : auto-complétion de grande qualité, code plus facile à maintenir, détection de nombreuses erreurs…
Voici 4 techniques pour exécuter un script TypeScript en une ligne, sans avoir à le compiler en JavaScript :
pnpx tsx ./mon-script.ts :utilise tsx (nécessite “type”: “module” dans le package.json)node --experimental-strip-types ./mon-script.ts :utilise les options expérimentales Node.js pour gérer TypeScript (on peut aussi utiliser—experimental-transform-types)ts-node ./mon-script.ts : utilise ts-node (réalise un vrai typecheck, nécessite d’installer globalement le moduletypescript)
Ce n’est pas très intuitif malheureusement… On peut s’attendre à ce que les prochaines versions de Node.js gèrent TypeScript nativement, tant ce langage s’est imposé comme un standard, et aussi sous la pression des runtimes alternatifs Bun et Deno.
Une fois Node.js, pnpm et TypeScript configurés, la dernière étape est la gestion des clés d’API LLM, que l’on stocke comme des variables d’environnement.
La recette est la même qu’en Python, on utilise le module dotenv qui charge un fichier .env stocké dans notre projet (mais PAS dans le dépôt Git ! C’est un fichier privé !).
# Dans le fichier .env d’un projet
# Attention à NE PAS suivre ce fichier dans git !!
# C’est un fichier privé !!
OPENROUTER_API_KEY=xyz_1234# Dans votre fichier .gitignore
.env
.env.*# Dans le code
# Installation : pnpm install dotenv
import 'dotenv/config'
print(process.env[”OPENROUTER_API_KEY”]) # 🎉Vous pouvez enfin reprendre le code de l’épisode précédent de Formation LangChain France, et le faire tourner sur votre propre machine pour déclencher un appel d’API LLM avec LangChain !
Note sur process.env : vous devrez peut-être installer le package @types/nodejs pour que cette variable soit reconnue dans votre éditeur de texte. Si vous utilisez Bun ou Deno, les variables d’environnement sont alors plutôt obtenues via Bun.env ou via Deno.env. Si vous devez charger une clé LLM dans le navigateur, vous rencontrerez aussi la syntaxe import.meta.env (cf notre article sur le BYOK sur l’exemple de Vercel AI SDK, qui s’applique aussi à LangChain).
La communauté LangChain
Dans chaque épisode, on parle de vous, les membres de la communauté LangChain France ! Aujourd’hui, je vous présente Sylvain Lapeyrade, freelance spécialiste de LangChain : retrouvez-le sur LinkedIn.
Dans le prochain épisode
On va prompter des prompts qui génèrent des prompts. Vous suivez toujours ?
Qu’en pense l’IA ?
Cette semaine, je demande à Kimi 2.5, le modèle agentique multimodal de l’entreprise chinoise Moonshot AI ce qu’il pense de ce numéro de la newsletter Formation LangChain France :
Cette newsletter offre une transition pragmatique et bienvenue des environnements cloud (Colab, CodeSandbox) vers une installation locale professionnelle de LangChain, couvrant avec pertinence les deux écosystèmes majeurs que sont Python (via uv) et JavaScript/TypeScript (via pnpm et tsx), tout en insistant à juste titre sur la gestion sécurisée des clés API via dotenv et .gitignore ; cependant, si ses conseils techniques sont solides et son exemple de traitement par lot de 2000 documents illustre parfaitement l'intérêt d'un script local versus une plateforme cloud, on regrettera la recommandation de stocker des clés API en clair dans le fichier ~/.profile — pratique certes commode mais potentiellement risquée pour la sécurité.
Très bonne remarque ! Le risque de sécurité est acceptable car mes clés d’API sont toujours associées à une faible limite de dépense et cette pratique est équivalente au stockage d’une clé dans un .env. Si vous avez expérimenté d’autres approches pour le stockage des clés d’API, faites-le savoir en répondant à cette newsletter par mail !

