Mon retour sur GitHub Copilot après test sur un projet perso
Après presque deux ans sans toucher à l’un de mes projets perso, j’ai décidé de m’y remettre… et d’en profiter pour tester enfin GitHub Copilot, dont j’entends parler depuis longtemps sans jamais avoir sauté le pas.
Mais avant de parler d’IA, il faut revenir au tout début du projet.
La perche basséenne : un pari de départ
À la base, la perche basséenne, c’est un défi lancé par mon parrain.
L’idée était simple : partir d’un formulaire papier et réussir à l’automatiser complètement.
Pas de site web au début, pas de code complexe. Juste un besoin concret : transformer quelque chose de manuel en un outil utilisable facilement.
Pour relever ce défi, j’ai commencé par une version sous Access.
Et honnêtement, ça faisait le job :
- saisie des données
- automatisation du formulaire
- logique fonctionnelle respectée
Mais comme souvent, une fois que ça marche… on a envie d’aller plus loin.
Passage à une vraie version web
Après cette première version, j’ai voulu transformer le projet en une vraie application web.
Objectif :
- → rendre l’outil plus moderne
- → plus accessible
- → et surtout plus propre techniquement
J’ai donc commencé une version « dev », avec une grosse partie réalisée en Bootstrap.
Et là, clairement, j’étais dans mon terrain de jeu. J’ai même voulu l’utiliser pour un projet pendant ma formation développeur web et web mobile.
Résultat :
- une grande partie de l’interface faite
- une structure solide
- une base déjà bien avancée
On peut dire que :
- → 85 à 90 % du projet actuel vient de ce travail initial fait à la main
Le blocage : la base de données
Comme souvent, le problème n’était pas côté front.
Le vrai mur, c’était la connexion à la base de données. Et comme je suis plutôt à l’aise en front-end, le back-end, je l’appréhende un peu… voire même, je le dis honnêtement : ce n’est pas mon truc. Faire du code sans voir le résultat, ce n’est pas ce que je préfère.
Avec aussi mes propres contraintes (je ne vais pas entrer dans les détails), je privilégie les chemins simples plutôt que complexes.
J’avais tenté d’implémenter un système vu en formation :
- → modifier les identifiants de connexion une seule fois
- → centraliser la configuration
Bonne idée sur le papier… mais dans la réalité :
- ça ne fonctionnait pas correctement
- erreurs difficiles à corriger
- manque de maîtrise côté back-end
Et comme je suis clairement plus à l’aise en front qu’en back…
- → le projet a fini en pause
- → pendant presque 2 ans
Reprise du projet et test de Copilot
Le 26 avril 2026, je décide de relancer le projet. Au départ, c’était surtout pour tester un peu GitHub Copilot.
Je ne l’avais jamais utilisé. Avant ça, j’avais demandé de l’aide à ChatGPT, Mistral ou encore Meta AI. Ils me donnaient des petits bouts de code, mais comme je ne suis pas expert, je trouvais ça parfois compliqué à intégrer.
Puis j’ai découvert l’agent IA de GitHub. Et là, ça m’a vraiment aidé.
Ce que Copilot m’a permis de débloquer
Même en version gratuite, j’ai pu :
- corriger la connexion à la base de données
- revoir certaines parties du code
- avancer là où j’étais bloqué depuis longtemps
J’ai même pu lui demander de créer un wizard d’installation, un peu comme le install.php de WordPress (pour les connaisseurs).
Le petit hic, c’est que j’utilise la version gratuite :
- → seulement 5 messages par jour
Du coup, le projet avance à son rythme.
Changelog
- passage de la base de données au format SQL
- correction de la connexion BDD avec l’aide de Copilot
Rien que cette correction a suffi à relancer complètement le projet.
Tentative d’amélioration : un wizard d’installation
Une fois la BDD fonctionnelle, j’ai voulu aller plus loin.
Objectif :
- → faire comme WordPress
- → proposer une page d’installation simple pour configurer la base de données
En gros :
- entrer les identifiants
- tester la connexion
- générer automatiquement la config
Un vrai plus pour rendre le projet facilement utilisable.
Limites rencontrées avec Copilot
J’ai demandé à Copilot de générer ce système…
Mais problème :
- → limite d’utilisation atteinte
Impossible de continuer sur le moment.
Petit détail intéressant :
- le lendemain, ça refonctionnait
- → donc les quotas se réinitialisent, mais pas de façon très claire
Problèmes en local
Autre difficulté : les environnements locaux.
Tests faits sur :
- WAMP
- MAMP
Et forcément :
- → différences de configuration Apache
- → erreurs différentes
- → comportements parfois incohérents
Même avec du code correct, ça ne passait pas toujours.
Exemple de type d’erreur rencontrée :
PDO::ERRMODE_EXCEPTION));
} catch(PDOException $e) {
die('Erreur de connexion : ' . $e->getMessage());
}
D’où l’intérêt du wizard d’installation que je voulais mettre en place.
Le tournant : utiliser Claude en version gratuite
C’est à ce moment-là que j’ai décidé de tenter une autre approche. J’ai uploadé tout mon projet à Claude (en version gratuite aussi), en pensant que ça ne changerait rien…
Mais là, surprise.
Claude a analysé le projet complet, identifié les bugs précis, et m’a littéralement fini le wizard d’installation que Copilot n’avait pas pu terminer.
Et ce n’était que le début.
Ce que Claude a fait (gratuitement)
- ✅ Wizard d’installation fonctionnel (style WordPress)
- ✅ Corrections majeure du code PHP (gestion des chemins Windows/Linux avec
DIRECTORY_SEPARATOR) - ✅ Restructuration complète de la BDD (clés étrangères, relations correctes)
- ✅ Réécriture du
traiter_formulaire.php(transactions PDO, sécurité) - ✅ Réécriture du
suivi.php(affichage correct des données filtrées par date) - ✅ Génération du
config.php(avec identifiants MAMP préchargés) - ✅ Debugging en profondeur (avec fallback chemins, affichage des erreurs détaillées)
Résultat : le projet était maintenant complètement fonctionnel.
Les bugs critiques qui ont été corrigés
Bug #1 : Chemin Windows invalide
Copilot avait généré :
$root_dir = dirname(__DIR__);
$sql_file = $root_dir . '/valenti1_carnetperche.sql';
// Résultat : C:\MAMP\htdocs/valenti1_carnetperche.sql ❌
Claude a corrigé avec :
$root_dir = __DIR__;
$sql_file = $root_dir . DIRECTORY_SEPARATOR . 'valenti1_carnetperche.sql';
// Résultat : C:\MAMP\htdocs\La-Perche-Bass-enne-Carnet\valenti1_carnetperche.sql ✅
Bug #2 : BDD mal structurée
Les tables avaient des types de données incorrects :
CREATE TABLE `Jour` (
`Date` date NOT NULL,
`Lieu` int(11) NOT NULL, -- ❌ Lieu en INT?
`Durée` int(11) NOT NULL -- ❌ Durée en INT?
)
Claude a restructuré avec les bons types ET les relations :
CREATE TABLE `Jour` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`Date` DATE NOT NULL UNIQUE,
`Lieu` VARCHAR(255), -- ✅ VARCHAR pour du texte
`Duree` VARCHAR(100), -- ✅ VARCHAR pour du texte
FOREIGN KEY (jour_id) REFERENCES Jour(id)
)
Bug #3 : Données affichées incorrectement
En Suivi, on recevait toujours les PREMIÈRES données de la table, pas celles de la date sélectionnée.
Claude a rewrite le suivi.php pour faire des requêtes filtrées :
// AVANT : récupère n'importe quoi
$stmt = $pdo->query("SELECT * FROM `Meteo` LIMIT 1");
// APRÈS : récupère les bonnes données
$stmt = $pdo->prepare("SELECT * FROM `Meteo` WHERE `jour_id` = ?");
$stmt->execute([$jour['id']]);
Comparaison Copilot vs Claude (version gratuite)
| Aspect | Copilot | Claude |
|---|---|---|
| Context du projet | Limité (fichier par fichier) | Complet (voit tout le repo) |
| Analyse de bugs | Basique | Approfondie |
| Solutions proposées | Code basique | Code optimisé |
| Débuggage | Difficile | Interactif |
| Limite gratuite | 5 messages/jour | Pas de limite stricte |
| Intégration IDE | Native | Via chat |
| Résultat final | Projet bloqué | Projet fonctionnel v1.7 |
Le résultat final : v1.7 stable
Grâce à Claude, le projet a atteint la version v1.7 avec :
✅ Installation fonctionnelle (wizard automatisé)
✅ BDD correctement structurée (relations, clés étrangères)
✅ Données affichées correctement (filtrées par date)
✅ Support Windows/Linux/Mac (chemins gérés correctement)
✅ Code sécurisé (transactions, prepared statements, htmlspecialchars)
✅ Configuration automatisée (pas besoin de toucher au code)
Et tout ça en version gratuite des deux IAs.
Répartition du travail final
- 85-90 % : fait à la main (structure, front, design)
- 5 % : corrections initiales avec Copilot (BDD, connexion)
- 5-10 % : terminage et optimisation avec Claude (wizard, corrections critiques)
Copilot vs Claude : mon avis honnête
Copilot (GitHub)
Avantages :
- Intégration directe dans l’IDE
- Très rapide pour l’autocomplétion
- Bon pour du code simple
Inconvénients :
- Peu de contexte sur le projet global
- Limite gratuite très restrictive (5 msgs/jour)
- Génère du code qui peut être « oui mais tu dois l’adapter »
Claude (Anthropic)
Avantages :
- Comprend le contexte complet (tu peux uploader des repos)
- Très bon pour le debugging
- Explique ses choix et propose des alternatives
- Pas de limite de messages stricte en version gratuite
- Capable de rewriter du code entier si nécessaire
Inconvénients :
- Pas intégré à l’IDE (il faut copier-coller)
- Un peu moins rapide pour l’autocomplétion
- Et j’ai du lui demander en plusieurs fois sur plusieurs jours en version gratuite.
Conclusion sur les deux
Copilot c’est bon pour : faire de l’autocomplétion rapide dans l’IDE, écrire du code basique Claude c’est bon pour : debugger un projet complexe, comprendre une architecture, terminer un projet bloqué
Pour mon cas, Claude a été le game changer.
Ce que j’ai appris de cette expérience
- L’IA n’écrit pas le projet : 85% reste du travail manuel
- L’IA débloque les problèmes : elle a résolu ce qui m’avait arrêté 2 ans
- La version gratuite peut suffire : tu n’as pas besoin de payer pour avancer
- Le contexte compte : une IA qui voit tout le projet > une IA fichier par fichier
- Comprendre le code reste crucial : je devais valider chaque correction
- Combiner les outils aide : Copilot pour l’IDE + Claude pour le debugging = gagnant
Suite du projet
Actuellement, il n’y a aucune suite à ce projet.
Lien du projet
👉 La Perche Basséenne sur GitHub
Si vous avez des questions sur le projet ou sur mon retour d’expérience avec les IA, n’hésitez pas !
Final thoughts
Je préfère être transparent : les IA ne vont pas te créer un projet de zéro. Mais elles peuvent absolument te débloquer quand tu es coincé sur du back-end et que tu maîtrises le front.
Et clairement, après cette expérience, je comprends mieux pourquoi tout le monde parle des IA en dev en ce moment.
Ça change vraiment la donne. Surtout quand c’est utilisé smartly.
0 commentaire