a close up of a laptop on a desk

Utiliser l’API OpenAI en PHP : Guide rapide et pratique

Ce qu’il faut retenir

  • L’utilisation du client officiel openai-php/client permet d’intégrer l’API OpenAI de façon native, typée et simplifiée directement dans du code PHP.
  • Il est crucial de protéger sa clé API et de configurer les limites de budget sur le tableau de bord OpenAI afin d’éviter des facturations imprévues.
  • En nettoyant les prompts, en ajustant max_tokens et temperature, on optimise la consommation de tokens, ce qui réduit considérablement les coûts d’utilisation.

Résumé généré par IA

Introduction

La puissance de ChatGPT directement dans ton code PHP ? C’est possible ! Fini les allers-retours avec le navigateur et les copier-coller fastidieux – place à l’intégration native des modèles OpenAI dans tes apps.

🤔 Pourquoi intégrer l’API OpenAI à ton PHP ?

Imagine les possibilités :

  • Générer du contenu à la volée
  • Scanner et analyser des textes instantanément
  • Créer ton propre assistant IA
  • Booster tes workflows actuels avec l’IA

Et tout ça, direct dans ton code PHP !

💪 Le client officiel OpenAI, c’est quoi ?

openai-php/client, c’est comme ton couteau suisse de l’IA :

  • Du code PHP natif et typé
  • Une maintenance aux petits oignons
  • Une doc ! Et oui, tu as bien lu ! 🎉
  • Des requêtes simplifiées

Fini la galère des solutions bricolées !

📚 Au programme :

  1. Installation aux petits oignons
  2. Les secrets des paramètres clés
  3. Ta première intégration OpenAI

Pas de prise de tête : on reste simple et efficace, sans se noyer dans le jargon IA 🤖

🛠️ On met en place tout ça !

2 trucs à faire et c’est plié :

  • Installer le client PHP
  • Récupérer ta clé API

⚡️ Installation en mode express

Une ligne dans ton terminal et c’est réglé :

composer require openai-php/client

🔑 Choper ta clé API

  1. Direction platform.openai.com
  2. Connexion (ou création de compte si t’es nouveau)
  3. Cap sur « API Keys »
  4. Clic sur « Create new secret key » et voilà !

⚠️ MEGA IMPORTANT

  • Ta clé API c’est comme ton code de CB – garde ça pour toi !
  • Ne la commit jamais en clair dans ton code
  • L’API est un service PAYANT, distinct de ton abo ChatGPT (même premium)
  • CONSEIL EN OR : Va sur https://platform.openai.com/settings/organization/limits et active « Enable Budget Limit » pour éviter les mauvaises surprises : ajoute le montant mini et op tu seras plus safe
  • CONSEIL EN OR2 : Direction https://platform.openai.com/settings/organization/billing/overview et désactive l’auto recharge. Double sécurité = esprit tranquille !
  • Sans ces limites, une API qui part en vrille peut te coûter TRÈS cher !

Configuration de base

Voici le minimum requis pour démarrer :

require 'vendor/autoload.php';

// Initialisation du client
$client = OpenAI::client('votre-cle-api');

// Premier test simple
try {
    $response = $client->completions()->create([
        'model' => 'gpt-3.5-turbo-instruct',
        'prompt' => 'Dis bonjour en PHP !',
        'max_tokens' => 50,
        'temperature' => 0.7,
    ]);

    echo $response->choices[0]->text; // Affiche la réponse
} catch (Exception $e) {
    echo "Oups, quelque chose s'est mal passé : " . $e->getMessage();
}

Ici rien de bien méchant, on utilise simplement la lib github qui fait parfaitement le job.

Comprendre les paramètres essentiels 🎛️

Quand vous utilisez l’API OpenAI, chaque paramètre compte. C’est comme régler les boutons d’une table de mixage : chaque ajustement influence le résultat final.

Les paramètres de base

$response = $client->completions()->create([
    'model' => 'gpt-3.5-turbo-instruct',
    'prompt' => $payload,
    'max_tokens' => 300,
    'temperature' => 0.9,
]);

Model

'model' => 'gpt-3.5-turbo-instruct'
  • C’est votre choix de « cerveau » IA
  • gpt-3.5-turbo-instruct : Bon rapport qualité/prix pour du texte
  • Alternative : gpt-4o-mini

Tu peux aller ici pour voir les models disponible et comparer.

Prompt

'prompt' => 'Dis bonjour en PHP !',
  • C’est votre question ou instruction
  • Soyez précis et structuré
  • Pensez à inclure le contexte nécessaire

max_tokens

'max_tokens' => 300
  • Limite la longueur de la réponse
  • 1 token ≈ 4 caractères en français
  • Influence directement le coût
  • 300 tokens ≈ un paragraphe moyen

💡 ASTUCE ÉCONOMIES

$cleanContent = strip_tags($rssContent); // Bye bye HTML
$cleanContent = preg_replace('/\s+/', ' ', $cleanContent);  // Adieu espaces multiples
$cleanContent = trim($cleanContent); // Clean début/fin
  • Chaque caractère = potentiellement des tokens = du $$$
  • Un bon nettoyage peut diviser ta facture par 2 !

temperature

'temperature' => 0.9  // Plus créatif
'temperature' => 0.2  // Plus focalisé
  • Contrôle la créativité de l’IA
  • 0 = très focalisé, toujours même réponse
  • 1 = très créatif, réponses variées

Exemple pratique

Créons un outil simple pour résumer des articles.

require 'vendor/autoload.php';

try {
	$client = OpenAI::client( 'votre-cle-api' );

	// Message initial
	$msg = 'Texte très long et hyper intéressant';

	// Nettoyage et optimisation
	$msg = strip_tags( $msg );                        // Supprime HTML
	$msg = preg_replace( '/\s+/', ' ', $msg );       // Normalise espaces
	$msg = trim( $msg );                             // Nettoie début/fin
	$msg = substr( $msg, 0, 5000 );                  // Limite longueur

	$payload = 'Résume moi cet article en français en moins de 100 mots : ' . $msg;

	// Appel API
	$response = $client->completions()->create(
		array(
			'model'       => 'gpt-3.5-turbo-instruct',
			'prompt'      => $payload,
			'max_tokens'  => 300,
			'temperature' => 0.9,
		)
	);

	// Affichage résultat
	echo '<pre>' . print_r( $response->choices[0]->text, true ) . '</pre>';

} catch ( \OpenAI\Exceptions\ErrorException $e ) {
	echo '<pre>' . print_r( 'Erreur OpenAI', true ) . '</pre>';
	echo '<pre>' . print_r( $e->getMessage(), true ) . '</pre>';
} catch ( \Exception $e ) {
	echo '<pre>' . print_r( 'Erreur générale', true ) . '</pre>';
	echo '<pre>' . print_r( $e->getMessage(), true ) . '</pre>';
}

🔍 Décortiquons ce code

  • On prend un texte long (genre un article)
  • On le passe à la moulinette pour virer tout le superflu :
    • Bye bye HTML inutile
    • Au revoir espaces en trop
    • Ciao les caractères parasites
  • Résultat ? Moins de tokens = moins de $$$

🎯 La partie cool :

  • On guide l’IA avec un prompt clair et précis
  • On limite la réponse avec max_tokens (pas besoin d’un roman !)
  • On gère les erreurs comme des grands

💰 Petit rappel économies :

Pro tip : Commence petit, mesure, optimise, puis scale. Ton compte en banque te remerciera ! 🚀

💡 L’IMPORTANCE DE L’OPTIMISATION : 1 an de recul

Petit flashback novembre 2023 :

  • Mise de départ : 10$
  • Objectif : Tester une veille auto avec l’IA
  • Première version : pas optimisée, YOLO !

📊 Les chiffres qui piquent (avant optim) :

  • 0.01$ par requête…
  • 0.06$ à 0.1$ par jour…
  • Multiplication des sources = Multiplication des coûts

🔧 Après optimisation :

  • Moins de 0.01$ PAR JOUR (pour plusieurs appels !)
  • Code plus propre
  • Même résultat final

🏆 Le verdict après 1 an ? 5$ toujours en poche sur les 10$ de départ !

La morale ? « C’est que 0.01$ » × 365 jours × plusieurs sources = Bye bye budget ! Mais avec un peu d’optimisation = Service viable et économique

Samy Kantari - Expert WordPress + IA

Kantari Samy

Expert WordPress + IA

👨‍💻 10 ans dans le game WordPress, chez Whodunit, à bricoler du code, à dompter des bugs et à faire tourner des projets de toutes tailles.
Puis l’IA est arrivée… et là, révélation 💡 !
J’ai switché de mindset, réinventé ma façon de coder et avec le vibe coding : une nouvelle ère où je ne suis plus limité par le temps ni par les outils.

Aujourd’hui ? Je code toujours… Mais avec mon copilote IA.
On forme une team de choc. Lui, c’est la puissance. Moi, c’est la vision. Ensemble, on déverrouille ce qui semblait impossible hier. 🚀

10+ Années d'expérience
+++ Projets réalisés
80% code par IA
S’abonner
Notification pour
guest
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires