Accéder au contenu principal

Développement PHP et IA : Gain de Temps dans la Recherche par GitHub Copilot

Publié le : 20 Mai 2024 - Mis à jour le : 27 Septembre 2024 - Lu 40 fois - Temps de lecture : 5 minutes


Si nous avons vu dans les autres articles de ce dossier dédié à GitHub Copilot qu'il était particulièrement utile aux développeur, le point "Gain de Temps dans la Recherche" va vous montrer qu'il s'agit certainement de l'un des aspects les plus avantageux de GitHub Copilot. Porquoi ? Parce qu'il permet aux développeurs de réduire considérablement le temps passé à rechercher des solutions, des exemples de code, ou des documentations en ligne. Normalement, lorsqu'un développeur rencontre un problème ou cherche à implémenter une nouvelle fonctionnalité, il doit souvent se tourner vers des ressources comme Stack Overflow, la documentation des bibliothèques, des forums ou des blogs. Avec GitHub Copilot, ce besoin est considérablement réduit, car l'outil vous propose directement des solutions basées sur son apprentissage à partir de vastes quantités de projets open source et de documentation.

Voici un aperçu détaillé des différentes manières dont GitHub Copilot vous fait gagner du temps en réduisant la nécessité de recherches manuelles.

Suggestions Instantanées Basées sur des Exemples Précis

GitHub Copilot vous fait gagner du temps en proposant instantanément des solutions pour des problèmes de programmation courants. Plutôt que de passer du temps à rechercher un exemple de code sur Google ou Stack Overflow, vous recevez des suggestions de code directement dans votre IDE. Cela est particulièrement utile pour les développeurs PHP qui travaillent sur des tâches répétitives ou sur des fonctionnalités standardisées, comme l’interaction avec des bases de données, l’envoi d’emails, ou la gestion des sessions.

Réduction des Allers-Retours avec des Moteurs de Recherche

Traditionnellement, les développeurs passent beaucoup de temps à chercher des réponses sur des sites comme Stack Overflow, où ils doivent d'abord comprendre un problème, trouver une solution, puis l'adapter à leur propre contexte. Copilot fait une partie de ce travail pour vous, en fournissant des solutions immédiatement dans votre éditeur, réduisant ainsi le besoin d'aller chercher des réponses ailleurs.

Exemple : Supposons que vous cherchiez à écrire une requête SQL pour interagir avec une base de données en PHP. Plutôt que de rechercher des exemples en ligne, Copilot vous propose directement une requête SQL formatée, complète avec des mécanismes pour éviter les injections SQL.

Avant Copilot :

  • Recherche sur Google ou Stack Overflow : "How to query a database in PHP with PDO?"
  • Trouver l'exemple de code adéquat.
  • Adapter le code à votre projet.

Avec Copilot (gain de temps immédiat) :

$stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id');
$stmt->execute(['id' => $userId]);
$user = $stmt->fetch();

Ici, Copilot propose directement une requête SQL paramétrée, prête à être utilisée dans votre code, sans avoir besoin de chercher et adapter un exemple en ligne.

Complétion Automatique Basée sur des Cas d&39;Usage Répandus

GitHub Copilot comprend les cas d'usage fréquents dans le développement PHP, comme la gestion des formulaires, l'authentification utilisateur, la validation des données, et les interactions avec des APIs. Pour ces tâches courantes, il peut compléter du code qui correspond à ce que vous voulez accomplir en vous épargnant le besoin de rechercher des exemples ou de la documentation.

Exemple : Si vous devez valider un formulaire d'inscription dans Laravel, Copilot sait que vous aurez probablement besoin de valider certains champs comme l'email et le mot de passe. Il vous propose automatiquement un exemple de validation, sans que vous ayez besoin de rechercher les méthodes de validation dans la documentation Laravel.

$validated = $request->validate([
    'name' => 'required|string|max:255',
    'email' => 'required|string|email|max:255|unique:users',
    'password' => 'required|string|min:8|confirmed',
]);

Documentation Instantanée des APIs et Bibliothèques

Un des aspects les plus chronophages pour un développeur est de consulter constamment la documentation d'une bibliothèque ou d'une API externe pour comprendre comment l'utiliser correctement. GitHub Copilot intègre cette fonctionnalité en fournissant automatiquement des suggestions de code basées sur les APIs populaires, vous évitant ainsi d'avoir à rechercher comment implémenter une fonctionnalité spécifique.

Utilisation des Bibliothèques Populaires sans Recherche

GitHub Copilot est capable de proposer des solutions immédiates pour les bibliothèques les plus utilisées dans le développement PHP, comme Guzzle, PHPMailer, ou les ORM comme Eloquent dans Laravel. Ces suggestions sont basées sur la documentation officielle et sur les meilleures pratiques, ce qui vous évite de devoir consulter les guides ou la documentation détaillée pour chaque méthode ou fonction.

Exemple avec Guzzle (requête API) :

use GuzzleHttp\Client;

$client = new Client();
$response = $client->request('GET', 'https://api.example.com/users', [
    'headers' => [
        'Authorization' => 'Bearer ' . $accessToken,
    ]
]);
$data = json_decode($response->getBody(), true);

Plutôt que de chercher comment utiliser Guzzle pour envoyer une requête API avec des en-têtes d'autorisation, Copilot vous propose directement un code conforme aux bonnes pratiques.

Gestion des Paramètres d&39;API

GitHub Copilot ne se contente pas de générer des appels d'API. Il est aussi capable d’anticiper les paramètres attendus par une API et de vous les proposer directement, évitant ainsi d’avoir à rechercher comment une méthode ou une fonction doit être utilisée.

Exemple avec Stripe : Si vous travaillez avec l'API de Stripe pour gérer des paiements, Copilot vous suggère automatiquement les bons paramètres à passer à l'API, comme l'ID de source, le montant et la devise.

\Stripe\Charge::create([
    'amount' => 2000,
    'currency' => 'usd',
    'source' => 'tok_visa',
    'description' => 'Payment for order #1234',
]);

Au lieu de devoir consulter la documentation de Stripe pour connaître la structure exacte de la requête, Copilot vous fournit immédiatement une solution correcte, formatée avec les bons paramètres.

Réduction des Recherches sur les Meilleures Pratiques

GitHub Copilot intègre non seulement des exemples de code, mais il suggère également des solutions basées sur les meilleures pratiques de programmation. Cela permet aux développeurs de suivre des normes de codage optimales sans avoir à rechercher continuellement des guides ou des tutoriels.

Automatisation des Tâches Répétitives avec des Bonnes Pratiques

De nombreuses tâches courantes dans le développement PHP, comme la gestion des sessions ou la validation des données, peuvent être optimisées en suivant des bonnes pratiques établies. Copilot vous propose des solutions qui respectent ces standards, ce qui vous permet d’écrire du code plus propre et maintenable sans avoir à consulter des références externes.

Exemple de validation sécurisée dans un formulaire :

$email = filter_var($input['email'], FILTER_SANITIZE_EMAIL);

Copilot vous suggère d’utiliser filter_var() pour valider et assainir les entrées de formulaire, une bonne pratique largement recommandée pour éviter les vulnérabilités de sécurité.

Respect des Conventions de Frameworks

Copilot comprend les conventions propres à des frameworks PHP comme Laravel ou Symfony et propose des solutions qui respectent ces conventions. Par exemple, dans Laravel, Copilot sait que vous utiliserez des modèles pour interagir avec la base de données, et il peut vous proposer des méthodes conformes aux conventions de Laravel, sans que vous ayez besoin de consulter la documentation de ce framework.

Exemple avec Eloquent (ORM de Laravel) :

$users = User::where('active', 1)->get();

Au lieu de chercher comment écrire une requête SQL ou comment récupérer des enregistrements avec Eloquent, Copilot vous suggère automatiquement la bonne syntaxe qui respecte les conventions de Laravel.

Gain de Temps dans l’Apprentissage de Nouvelles Bibliothèques

GitHub Copilot vous permet d’intégrer de nouvelles bibliothèques et outils à vos projets plus rapidement, sans avoir à investir un temps significatif dans la lecture de la documentation ou dans l’apprentissage des détails de chaque bibliothèque. En vous proposant des snippets de code prêts à l'emploi et des exemples d'utilisation courants, il vous aide à adopter de nouvelles technologies plus efficacement.

Exemple avec une nouvelle bibliothèque : Supposons que vous décidez d'utiliser PHPMailer pour la première fois dans un projet. Plutôt que de devoir parcourir la documentation pour comprendre comment configurer et envoyer un email, Copilot vous suggère immédiatement un exemple complet.

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

$mail = new PHPMailer(true);
try {
    $mail->isSMTP();
    $mail->Host = 'smtp.example.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'user@example.com';
    $mail->Password = 'secret';
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
    $mail->Port = 587;

    $mail->setFrom('from@example.com', 'Mailer');
    $mail->addAddress('recipient@example.com');

    $mail->isHTML(true);
    $mail->Subject = 'Here is the subject';
    $mail->Body = 'This is the HTML message body';

    $mail->send();
} catch (Exception $e) {
    echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}

Ce snippet complet vous montre comment configurer et envoyer un email avec PHPMailer, sans que vous ayez à lire les détails de la configuration dans la documentation officielle.

Le gain de temps dans la recherche est l'une des principales forces de GitHub Copilot. Il permet de minimiser les interruptions causées par la nécessité de chercher des solutions ou des exemples en ligne, et propose des solutions prêtes à l'emploi directement dans l'IDE. Que ce soit pour implémenter des APIs, suivre des bonnes pratiques, ou utiliser de nouvelles bibliothèques, Copilot vous fournit des réponses immédiates et précises, vous permettant ainsi de rester concentré sur votre code sans avoir à quitter votre environnement de développement. Cela améliore non seulement la productivité, mais aussi la qualité du code produit, car les solutions suggérées sont souvent basées sur des pratiques éprouvées et des exemples courants dans l'industrie du développement.

Article mis à jour le 27 septembre 2024

Eric Lamy
Bio rapide : Après avoir passé plus de 20 ans dans le marketing et l'optimisation de Système d'Information, j'ai créé l'agence Agerix en 2009 afin d'avoir une approche des projets tout aussi commerciale que technique. Fouiller, creuser, réfléchir et amener le projet au plus haut niveau qualité, c'est le Leitmotiv de notre bureau d'études et l'ADN que nous insufflons chaque jour dans nos projets. Que ce soit pour nos développements, nos projets d'intégration, ou même l'article que vous venez de lire, notre but est de livrer le meilleur.

Vous souhaitez créer
votre site web ?

L'agence Agerix étudie votre besoin et vous établi sous 48 heures un devis personnalisé et adapté.