Pourquoi un développeur PHP aurait-il besoin de ChatGPT ?
\n\nImaginez : vous développez un site en PHP et soudain, vous réalisez qu'il manque à votre utilisateur un assistant "intelligent". Pas un simple chat avec des réponses préprogrammées, mais une véritable intelligence artificielle capable d'écrire du code, de traduire des textes, de générer des idées ou simplement de maintenir un dialogue pertinent. Cela semble fantastique ? Et pourtant non.
\n\nAujourd'hui, l'intégration de l'API ChatGPT en PHP n'est pas une science infuse, mais une tâche tout à fait courante que tout développeur familier avec les bases du langage peut maîtriser. Et je vais vous le prouver.
\n\nDans cet article, nous ne nous contenterons pas de copier quelques lignes de la documentation. Nous allons comprendre comment envoyer correctement des requêtes, traiter les réponses, gérer le contexte de la conversation et ne pas faire planter le serveur. C'est parti !
\n\nDe quoi avons-nous besoin pour commencer ?
\n\nAvant d'écrire du code, assurons-nous que vous avez tout le nécessaire :
\n\n- \n
- PHP 8.0+ — les versions plus anciennes peuvent poser des problèmes avec cURL et JSON. \n
- Extension cURL — activez-la dans php.ini (elle est généralement activée par défaut). \n
- Clé API OpenAI — inscrivez-vous sur platform.openai.com, allez dans la section API keys et créez une nouvelle clé secrète. \n
- Un peu de patience — parfois l'API ne répond pas immédiatement, surtout pour les requêtes complexes. \n
Important : conservez votre clé API en sécurité. Ne l'insérez jamais directement dans le code qui pourrait se retrouver dans un dépôt public. Utilisez des fichiers .env ou des variables d'environnement du serveur.
Écrire notre première requête à ChatGPT en PHP
\n\nCommençons par le plus simple : envoyons un seul message et obtenons une réponse. C'est la base sur laquelle repose tout le travail ultérieur avec l'API.
\n\n<?php\n// Configuration\n$apiKey = 'sk-votre_clé_super_secrète';\n$url = 'https://api.openai.com/v1/chat/completions';\n\n// Données pour la requête\n$data = [\n 'model' => 'gpt-3.5-turbo', // peut être gpt-4 si vous y avez accès\n 'messages' => [\n [\n 'role' => 'user',\n 'content' => 'Raconte une blague sur les programmeurs en français'\n ]\n ],\n 'temperature' => 0.7, // plus c'est élevé, plus la réponse est créative\n 'max_tokens' => 500 // longueur maximale de la réponse\n];\n\n// Initialisation de cURL\n$ch = curl_init($url);\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_POST, true);\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n 'Content-Type: application/json',\n 'Authorization: Bearer ' . $apiKey\n]);\ncurl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));\n\n// Envoi de la requête\n$response = curl_exec($ch);\n$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);\ncurl_close($ch);\n\n// Traitement de la réponse\nif ($httpCode === 200) {\n $result = json_decode($response, true);\n $reply = $result['choices'][0]['message']['content'];\n echo "ChatGPT dit : " . $reply;\n} else {\n echo "Erreur ! Code HTTP : " . $httpCode . "<br>";\n echo "Réponse du serveur : " . $response;\n}\n?>\n\nVous avez lancé ? Félicitations, vous venez d'écrire votre première intégration de l'API ChatGPT en PHP ! Si tout est fait correctement, vous verrez une blague amusante du réseau neuronal.
\n\nDécortiquons le code en détail
\n\nVoyons ce qui se passe ici, afin que vous puissiez facilement adapter ce code à vos propres besoins.
\n\nStructure de la requête
\n\nL'API OpenAI attend de nous un JSON avec plusieurs champs obligatoires :
\n\n- \n
model— quel modèle répondra. gpt-3.5-turbo est le choix optimal pour la plupart des tâches : rapide et économique. gpt-4 est plus intelligent, mais plus cher et plus lent. \n messages— un tableau de messages. Chaque message a unrole(system, user, assistant) et uncontent(texte). \n temp\n