# Gekkode > Gekkode : JavaScript, PHP, Laravel, Vue.js et actualité de l’IA appliquée au développement web. Du code testé, des résultats mesurés, des limites documentées. Blog technique écrit par Damien Flandrin. Chaque article est testé avant publication ; le code des exemples est exécuté, pas seulement relu. Le site est publié en Français, English, Español, Deutsch, Italiano, Português, Polski, Nederlands ; cette version est en fr, et chaque page porte ses liens `hreflang` vers ses traductions. Texte intégral des articles : https://www.gekkode.com/llms-full.txt ## Rubriques - [Actualités](https://www.gekkode.com/category/actualites/) : Veille IA & dev web, filtrée, datée et reliée à nos tests. - [Développement web](https://www.gekkode.com/developpement/) : Tous les articles sur l'univers du développement web. - [Intelligence artificielle](https://www.gekkode.com/category/intelligence-artificielle/) : IA appliquée au développement web : agents, MCP, RAG, automatisation et visibilité IA, avec du code testé et des résultats mesurés. - [Visibilité IA & SEO](https://www.gekkode.com/category/seo/) : AI Overviews, AEO / GEO, données structurées, mesure des citations et impact sur le CTR. ## Actualités - [Libérer de l’espace sur Gmail gratuitement avec Unpile](https://www.gekkode.com/actualites/liberer-espace-gmail-gratuit/) : Pour libérer de l'espace sur Gmail, il faut supprimer les e-mails les plus lourds et les plus anciens, puis les effacer définitivement, car la corbeille compte encore dans les 15 Go pendant 30 jours. L'extension Chrome gratuite Unpile les trouve en un clic (plus de 10 Mo, plus de trois ans), annonce leur nombre exact avec un aperçu, puis les supprime. Elle ne nettoie que Gmail, pas Drive ni Photos. [l’auteur a travaillé sur ce produit] - [Unpile, l’extension gratuite pour supprimer ses mails Gmail en masse](https://www.gekkode.com/actualites/supprimer-mails-gmail-en-masse-gratuit/) : Pour supprimer tous ses mails Gmail en masse, on recherche les messages visés dans Gmail (par exemple older_than:3y), on coche la sélection, on choisit de sélectionner toutes les conversations, puis on clique sur la corbeille. L'extension Chrome gratuite Unpile fait la même chose en deux clics, avec des filtres par ancienneté, expéditeur ou taille, le nombre exact, un aperçu et une annulation en un clic. [l’auteur a travaillé sur ce produit] - [Signature Mail Pro : Pourquoi je recommande Email Impact](https://www.gekkode.com/actualites/signature-mail-pro-pourquoi-je-recommande-email-impact/) : Avertissement : Je suis Damien Flandrin, développeur technique d’Email Impact, solution éditée par l’agence Carredas. Mon avis est donc subjectif et n’engage que moi. Dans cet… [l’auteur a travaillé sur ce produit] - [Développement web sur mesure : pourquoi les entreprises choisissent des solutions personnalisées](https://www.gekkode.com/actualites/developpement-web-sur-mesure-pourquoi-les-entreprises-choisissent-des-solutions-personnalisees/) : Dans un écosystème digital qui évolue sans cesse, les entreprises doivent faire un choix structurant : s’appuyer sur une solution web standard ou investir dans un… - [Comment réussir sa transformation digitale en douceur ?](https://www.gekkode.com/actualites/comment-reussir-sa-transformation-digitale-en-douceur/) : À cette ère du numérique, la transformation digitale est bien plus qu’une option pour les entreprises qui veulent rester compétitives. Cette transition est une obligation. Cependant,… [article sponsorisé] - [Test Horizon Workrooms : est-ce pratique pour développer en VR ?](https://www.gekkode.com/actualites/test-horizon-workrooms-developpement-vr/) : Test d'Horizon Workrooms pour le développement : est-ce vraiment pratique ? Découvrez les avantages et inconvénients de coder avec le Meta Quest 3... - [J’ai acheté le Meta Quest 3, voici mon avis !](https://www.gekkode.com/actualites/jai-achete-le-meta-quest-3-voici-mon-avis/) : Hey les amis ! Vous le savez, j’adore tester les nouveaux gadgets tech, et la VR me passionne depuis des années. Alors quand j’ai vu les… [liens d’affiliation] - [5 conseils simples pour apprendre un language de manière efficace et rapide](https://www.gekkode.com/actualites/5-conseils-simples-pour-apprendre-javascript-de-maniere-efficace-et-rapide/) : Si vous avez appris le JavaScript ou le développement web en général, mais que vous avez toujours l’impression de ne pas être assez bon sur le… [article sponsorisé] ## Développement web - [Permettre au client de joindre un fichier à sa commande PrestaShop](https://www.gekkode.com/developpement/prestashop/joindre-fichier-commande-prestashop/) : Le tunnel de commande de PrestaShop n'a pas de champ pour joindre un fichier. Le champ File d'Easy Checkout Fields (plan Pro, 2 € par mois) l'ajoute : vous choisissez les formats et la taille maximale, le contenu du fichier est contrôlé, et le fichier se télécharge depuis la fiche commande du back-office. [l’auteur a travaillé sur ce produit] - [Demander une date de livraison souhaitée sur PrestaShop](https://www.gekkode.com/developpement/prestashop/date-livraison-souhaitee-prestashop/) : Le tunnel de commande de PrestaShop ne demande pas de date de livraison. Le champ Date d'Easy Checkout Fields (plan Pro, 2 € par mois) l'ajoute après le choix du transporteur, refuse les dates passées avec le réglage « Today or later », ne s'affiche que pour le transporteur choisi et reporte la date sur la commande et le bon de livraison. [l’auteur a travaillé sur ce produit] - [Demander un numéro de bon de commande sur PrestaShop](https://www.gekkode.com/developpement/prestashop/numero-bon-de-commande-prestashop/) : Le tunnel de commande de PrestaShop ne demande pas de numéro de bon de commande. Easy Checkout Fields ajoute ce champ texte au checkout dès son plan gratuit. Avec le plan Pro (2 € par mois), il le réserve aux clients professionnels et l'imprime sur la facture PDF, où le numéro fait partie des mentions obligatoires quand l'acheteur en a émis un. [l’auteur a travaillé sur ce produit] - [Demander le SIRET et le numéro de TVA à la commande PrestaShop](https://www.gekkode.com/developpement/prestashop/siret-tva-commande-prestashop/) : Avec Easy Checkout Fields, une question « Particulier ou Société » à l'étape Adresses fait apparaître le champ SIRET pour les seules sociétés, obligatoire dans ce cas et imprimé sur la facture PDF (plan Pro, 2 € par mois). Le SIREN du client professionnel devient une mention obligatoire des factures, en 2026 pour les grandes entreprises et en 2027 pour les PME. [l’auteur a travaillé sur ce produit] - [Ajouter un champ personnalisé à la commande PrestaShop](https://www.gekkode.com/developpement/prestashop/ajouter-champ-personnalise-commande-prestashop/) : PrestaShop n'a aucun réglage pour ajouter une question au tunnel de commande : il faut un module. Le plan gratuit d'Easy Checkout Fields ajoute jusqu'à trois champs (texte, liste, oui / non, consentement…) aux étapes du checkout, de PrestaShop 1.7.6 à 9.2, et affiche les réponses sur la fiche commande et dans les e-mails. [l’auteur a travaillé sur ce produit] - [MCP pour WordPress, sans donner les clés du site à un agent](https://www.gekkode.com/developpement/wordpress/mcp-wordpress-claude-code-codex/) : Trois voies existent pour brancher un agent sur WordPress : l'Abilities API du cœur (trois abilities seulement), l'adaptateur officiel WordPress/mcp-adapter (v0.6.1 du 13 août 2026), et un point d'entrée maison. La troisième est la seule où vous décidez de tout : 152 lignes de PHP, trois outils en lecture, un jeton dédié et un filtre SQL qui transforme toute écriture en SELECT 1. Testée ici au curl puis depuis Codex, contre un WordPress 7.1 local. - [MCP pour PrestaShop : brancher un agent sans lui laisser les clés](https://www.gekkode.com/developpement/prestashop/mcp-prestashop-claude-code-codex/) : PrestaShop édite depuis avril 2026 un module MCP officiel, propriétaire et lié à son OAuth. Pour garder la main, écrivez un serveur MCP en PHP qui enveloppe l'API Webservice avec une clé limitée à GET et quelques outils qui répondent à une question plutôt que de relayer l'API. Comptez environ 650 lignes de PHP et trois couches de refus indépendantes. - [Comment développer un jeu homebrew pour Nintendo 3DS](https://www.gekkode.com/developpement/comment-developper-un-jeu-homebrew-pour-nintendo-3ds/) : Vous voulez créer votre propre jeu homebrew pour Nintendo 3DS ? Bonne nouvelle : c'est encore tout à fait possible, et c'est un projet vraiment fun.… - [Tutoriel JavaScript: Promise](https://www.gekkode.com/developpement/tutoriel-javascript-les-promesses/) : Les promesses en JavaScript peuvent sembler complexes au premier abord, mais elles sont en réalité plus simples qu’il n’y paraît. Ce tutoriel, basé sur la vidéo… - [Tutoriel Pinia : la gestion d’état globale dans Vue 3](https://www.gekkode.com/developpement/tutoriel-complet-sur-pinia-simplifiez-la-gestion-detat-globale-dans-vue-js/) : Pinia est la bibliothèque de gestion d’état recommandée pour Vue 3, Vuex est en maintenance. Un store se déclare avec defineStore, s’utilise en appelant usePanierStore() dans n’importe quel composant, et se déstructure avec storeToRefs pour ne pas perdre la réactivité. - [Les 10 meilleurs packages Laravel pour créer votre site web](https://www.gekkode.com/developpement/les-10-meilleurs-packages-laravel-pour-creer-votre-site-web/) : En tant que développeur, vous vous demandez comment éviter de devoir réécrire vos codes pour pouvoir construire vos sites web plus rapidement ? Les packages Laravel… - [Les 10 meilleures pratiques pour renforcer la sécurité de vos applications web en 2024](https://www.gekkode.com/developpement/les-10-meilleures-pratiques-pour-renforcer-la-securite-de-vos-applications-web-en-2024/) : La sécurité des applications web est devenue un enjeu majeur pour toute entreprise présente en ligne. Les cyberattaques se multiplient et se sophistiquent, mettant en péril… - [Comment créer une fonction sleep en JavaScript](https://www.gekkode.com/developpement/comment-creer-une-fonction-sleep-en-javascript/) : JavaScript n’a pas de fonction sleep() native. On l’écrit en une ligne : function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); }, puis on l’appelle avec await sleep(2000); dans une fonction async. La pause ne fige pas la page : seule la fonction qui attend est suspendue. - [20 librairies Javascript à essayer en 2023](https://www.gekkode.com/developpement/20-librairies-javascript-a-essayer-en-2023/) : Le JavaScript est un langage de programmation puissant et polyvalent qui est utilisé pour développer des applications web. Il existe de nombreuses librairies JavaScript qui facilitent… - [Vue JS emit : le guide complet](https://www.gekkode.com/developpement/guide-complet-sur-lutilisation-de-vue-js-emit/) : Découvrez comment utiliser l'événement "emit" de Vue.js pour communiquer entre composants et améliorer la gestion de l'état de votre app... - [Guide complet des hooks du cycle de vie de Vue JS](https://www.gekkode.com/developpement/guide-complet-des-hooks-du-cycle-de-vie-de-vue-js/) : Ce guide détaillé sur les hooks de cycle de vie de Vue 3 vous aidera à comprendre leur fonctionnement et leur utilisation optimale pour développer des applications plus efficaces. - [Comment établir une connexion à une base de données en PHP ?](https://www.gekkode.com/developpement/comment-etablir-une-connexion-a-une-base-de-donnees-en-php/) : Utilisez PDO avec charset=utf8mb4 dans le DSN, ATTR_ERRMODE en exception et ATTR_EMULATE_PREPARES à false. Depuis PHP 8.0 les erreurs PDO lèvent déjà une exception par défaut, et depuis PHP 8.1 mysqli aussi : le motif if (!$conn) die(...) ne se déclenche plus jamais. Toute valeur venue de l'utilisateur passe par une requête préparée. - [Installer Redis sur Debian 13 et le brancher à Laravel](https://www.gekkode.com/developpement/comment-installer-redis-sur-debian-et-laravel/) : Installez redis-server et l’extension php-redis, puis renseignez dans le .env : REDIS_CLIENT=phpredis, CACHE_STORE=redis, SESSION_DRIVER=redis et QUEUE_CONNECTION=redis. Attention, CACHE_DRIVER et QUEUE_DRIVER n’existent plus : une clé inconnue est ignorée sans erreur et l’application garde son pilote par défaut. - [Guide détaillé sur les slots de VueJS](https://www.gekkode.com/developpement/guide-detaille-sur-les-slots-de-vuejs/) : Découvrez comment utiliser les slots de VueJS avec notre guide détaillé. Améliorez votre développement avec VueJS. - [Manipuler des images avec GD et Imagick en PHP](https://www.gekkode.com/developpement/manipuler-des-images-avec-gd-et-imagick-avec-php/) : Découvrez comment utiliser les librairies GD et Imagick pour la gestion des images en PHP. Apprenez à charger et afficher une image, à la redimensionner et à y ajouter du texte grâce à des exemples de code pratiques. - [Installer Laravel 13 sur un serveur Debian 13](https://www.gekkode.com/developpement/installation-de-laravel-sur-un-serveur-debian/) : Sur Debian 13, PHP 8.4 est fourni par les dépôts officiels : aucun dépôt tiers n’est nécessaire. Installez PHP et ses extensions, Composer (avec vérification de signature), créez le projet avec composer create-project laravel/laravel, donnez les droits d’écriture à storage/ et bootstrap/cache/, puis pointez la racine nginx sur public/. Contrôlez le résultat : la page d’accueil doit répondre 200 et /.env doit répondre 403. - [Servir une application Laravel avec Apache sur Debian 13](https://www.gekkode.com/developpement/installation-de-laravel-et-configuration-apache/) : Trois conditions pour servir Laravel avec Apache : DocumentRoot sur le dossier public/, sudo a2enmod rewrite, et AllowOverride All sur ce dossier. Sans cette dernière directive, Apache ignore le .htaccess livré par Laravel : la page d’accueil s’affiche mais toutes les autres routes renvoient 404. - [Installer MariaDB et phpMyAdmin sur Debian 13 pour Laravel](https://www.gekkode.com/developpement/installation-de-mariadb-et-phpmyadmin/) : sudo apt install mariadb-server, puis sudo mariadb-secure-installation (l’ancien mysql_secure_installation n’existe plus). Créez une base en utf8mb4 et un utilisateur dédié limité à cette base, jamais le compte administrateur. Côté Laravel, DB_CONNECTION=mysql vaut aussi pour MariaDB. - [Installer Composer sur un serveur Debian 13](https://www.gekkode.com/developpement/installer-composer-sur-un-serveur-debian/) : Téléchargez le programme d’installation, comparez son empreinte SHA-384 à celle publiée sur composer.github.io/installer.sig, et ne l’exécutez que si les deux concordent. Installez-le dans /usr/local/bin/composer pour le rendre disponible à tous les utilisateurs. N’utilisez ensuite jamais sudo composer install : lancez Composer avec le compte propriétaire du projet. - [Installer PHP et ses extensions pour Laravel sur Debian 13](https://www.gekkode.com/developpement/installer-php-et-ses-extensions-pour-laravel/) : Debian 13 fournit PHP 8.4 dans ses dépôts officiels : sudo apt install php-cli php-fpm php-mbstring php-xml php-curl php-zip php-bcmath php-intl php-mysql suffit pour Laravel 13, sans dépôt tiers. Attention à deux paquets souvent cités à tort : php-json ne sert plus à rien depuis PHP 8.0, et c’est php-mysql qu’il faut, pas php-mysqli, parce que Laravel passe par PDO. - [6 façons de passer des variables de PHP à JavaScript](https://www.gekkode.com/developpement/5-facons-de-passer-des-variables-de-php-a-javascript/) : La méthode par défaut est un bloc lu avec JSON.parse : les données ne sont jamais interprétées comme du code et la page reste compatible avec une politique de sécurité de contenu stricte. Si vous écrivez du JSON directement dans un script, faites-le sans guillemets ni JSON.parse, avec JSON_HEX_TAG et ses options voisines. - [Comment faire une requête cURL en PHP](https://www.gekkode.com/developpement/comment-faire-une-requete-curl-en-php/) : curl_init(), curl_setopt_array() avec CURLOPT_RETURNTRANSFER, puis curl_exec() dont il faut toujours tester le retour. Depuis PHP 8.5, curl_close() est déprécié : le handle est un objet libéré automatiquement. Un code HTTP 404 ou 500 n'est pas une erreur cURL, il faut lire CURLINFO_RESPONSE_CODE séparément. - [10 frameworks VueJS à connaître en 2023](https://www.gekkode.com/developpement/10-frameworks-vuejs-a-connaitre-en-2023/) : Vue.js est un framework JavaScript populaire utilisé pour créer des applications web interactives. Il existe de nombreux frameworks VueJS qui peuvent vous aider à améliorer votre… - [Créer un serveur WebSocket en PHP](https://www.gekkode.com/developpement/creer-un-serveur-websocket-en-php/) : Trois voies : Ratchet en pur Composer, les sockets natifs sans dépendance, ou OpenSwoole en extension PECL. Toutes exigent un processus permanent, donc un VPS ou un conteneur, jamais un hébergement mutualisé. Le critère de choix mesuré est la mémoire par connexion : 22,4 Ko pour Ratchet, 5,3 Ko en natif, quasi nulle avec OpenSwoole. - [Ajouter un Google reCAPTCHA à un formulaire Laravel](https://www.gekkode.com/developpement/comment-utiliser-un-recaptcha-google-dans-laravel/) : Pas besoin de paquet : une classe implémentant ValidationRule qui interroge https://www.google.com/recaptcha/api/siteverify avec la façade Http suffit. Contrôlez trois choses dans la réponse : success, l’action attendue et le score. Et associez toujours la règle à required : Laravel n’exécute pas une règle personnalisée sur un champ vide. - [Apprendre Git : le tutoriel pour les débutants](https://www.gekkode.com/developpement/apprendre-git-tutoriel-pour-les-debutants/) : Git est un système de contrôle de version distribué : il enregistre l’historique de vos fichiers et permet à plusieurs personnes de travailler sur le même projet sans s’écraser. Ce tutoriel en cinq chapitres part de l’installation et va jusqu’au choix d’un modèle de branches. Toutes les commandes ont été rejouées avec Git 2.55.0 avant publication. - [Tutoriel Git : installer et configurer Git](https://www.gekkode.com/developpement/tutoriel-git-installer-et-configurer-git/) : Installez Git avec le gestionnaire de paquets de votre système, puis réglez trois choses : votre identité avec git config --global user.name et user.email, le nom de la branche par défaut avec init.defaultBranch main, et l’authentification par clé SSH. Le mot de passe de compte GitHub ne fonctionne plus depuis le 13 août 2021. - [Tutoriel Git : créer un dépôt sur GitHub ou GitLab et le récupérer en local](https://www.gekkode.com/developpement/tutoriel-git-creer-un-depot-git-pour-un-projet-sur-github-gitlab/) : Deux chemins mènent à un projet suivi par Git et relié à GitHub ou GitLab. Si le dépôt distant existe déjà, git clone suffit. Si vous partez d’un dossier existant, enchaînez git init, git remote add origin et git push -u origin main. Préférez l’adresse SSH à l’adresse HTTPS : rien ne vous sera plus demandé ensuite. - [Tutoriel Git : les commandes de base (add, commit, push, pull)](https://www.gekkode.com/developpement/tutoriel-git-utilisation-des-commandes-de-base-de-git-pour-ajouter-et-gerer-les-fichiers-du-projet-notamment-commit-push-et-pull/) : Le cycle quotidien tient en quatre commandes : git status pour savoir où vous en êtes, git add pour préparer, git commit -m pour enregistrer, git push pour envoyer. Pour annuler, la bonne commande dépend d’une seule question : si le commit est déjà poussé, utilisez git revert, sinon git restore, git commit --amend ou git reset. - [Tutoriel Git : travailler en équipe avec les branches](https://www.gekkode.com/developpement/tutoriel-git-travailler-en-equipe-avec-les-branches-git/) : Créez une branche avec git switch -c nom, travaillez, puis fusionnez-la avec git merge depuis la branche de destination. En cas de conflit, Git insère des marqueurs dans le fichier : écrivez le bon contenu, supprimez les marqueurs, puis git add et git commit. git merge --abort annule tout à n’importe quel moment. - [Tutoriel Git : Gitflow ou trunk-based, choisir un modèle de branches](https://www.gekkode.com/developpement/tutoriel-git-gerer-les-versions-de-projet-avec-gitflow/) : Le trunk-based development garde une seule branche permanente et des branches de quelques heures : c’est le modèle à retenir par défaut pour une application web déployée souvent. Gitflow ajoute une branche develop et des branches de version : il reste pertinent pour un logiciel livré en versions numérotées ou maintenu en plusieurs versions. Son auteur lui-même déconseille depuis 2020 de l’imposer à une équipe en livraison continue. - [Tutoriel CSS Flexbox : Le guide complet](https://www.gekkode.com/developpement/tutoriel-css-flexbox-le-guide-complet/) : Apprenez à utiliser les propriétés Flexbox pour créer des dispositions flexibles et adaptatives pour vos éléments HTML avec notre tutoriel. - [CSS Grid vs Flex : comprendre les différences](https://www.gekkode.com/developpement/css-grid-vs-flexbox-comprendre-les-differences/) : Découvrez les avantages et les inconvénients de CSS Grid et Flexbox, deux outils de mise en page en CSS, et apprenez quand les utiliser. - [Apprendre JavaScript : le guide pour débutants (cours gratuit, exemples et plan en 30 jours)](https://www.gekkode.com/developpement/apprendre-javascript-tutoriel-pour-les-debutants/) : Pour apprendre JavaScript, il faut un navigateur, un éditeur de code et un ordre : variables, conditions, boucles, fonctions, objets, puis le DOM et les événements. Ce guide suit cet ordre en douze chapitres gratuits. À raison d’une heure par jour, les bases tiennent en trois à quatre semaines, le projet final, un jeu de devinette, se construit avec ce que vous aurez appris. - [TP jeu de devinette](https://www.gekkode.com/developpement/tutoriel-javascript-tp-jeu-de-devinette/) : Ce TP est conçu pour vous aider à mettre en pratique les concepts de base de JavaScript que vous avez appris dans le tutoriel. Vous allez… - [Intro aux modules et import/export (ES6)](https://www.gekkode.com/developpement/tutoriel-javascript-introduction-aux-modules-et-aux-importations-exportations-es6/) : Dans ce chapitre, nous allons aborder les modules et les importations/exportations en Javascript. Nous verrons comment utiliser ces outils pour organiser et partager notre code de… - [Introduction aux classes et aux objets en Javascript (ES6)](https://www.gekkode.com/developpement/introduction-aux-classes-et-aux-objets-en-javascript-es6/) : Dans le chapitre précédent, nous avons vu comment travailler avec les événements en javascript. Dans ce chapitre, nous allons nous intéresser aux classes et aux objets… - [Événements et gestionnaire d’événements](https://www.gekkode.com/developpement/tutoriel-javascript-evenements-et-gestionnaire-devenements/) : Les événements sont des actions qui peuvent être déclenchées par l’utilisateur, comme le clic sur un bouton, la saisie de texte dans un formulaire, etc. En… - [Manipulation de la page HTML avec Javascript](https://www.gekkode.com/developpement/tutoriel-javascript-manipulation-de-la-page-html-avec-javascript/) : Le DOM (Document Object Model) est un système de représentation des éléments d’un document HTML en tant qu’objets pouvant être manipulés par le langage de programmation… - [Propriétés et méthodes de l’objet Math](https://www.gekkode.com/developpement/tutoriel-javascript-proprietes-et-methodes-de-lobjet-math/) : Maintenant que nous avons vu comment fonctionnent les objets en JavaScript, nous allons découvrir comment utiliser un objet runtime qui est déjà inclus dans Javascript sans… - [Les objets en JavaScript : créer, lire, modifier, parcourir et supprimer des propriétés](https://www.gekkode.com/developpement/tutoriel-javascript-les-objets/) : Un objet JavaScript regroupe des données sous forme de paires clé-valeur : const personne = { nom: 'Jean', age: 30 };. On lit une propriété avec personne.nom ou personne['nom'], on la modifie ou on l’ajoute par simple affectation, on la supprime avec delete, et on parcourt l’objet avec Object.keys(), Object.values() ou Object.entries(). - [Les fonctions](https://www.gekkode.com/developpement/tutoriel-javascript-les-fonctions/) : Dans le chapitre précédent, nous avons vu comment utiliser les boucles et les instructions de contrôle de flux pour contrôler l’exécution de notre code. Dans cette… - [Boucles (for, foreach, while)](https://www.gekkode.com/developpement/tutoriel-javascript-boucles-for-foreach-while/) : Les boucles en Javascript permettent d’exécuter du code plusieurs fois de manière répétée. Elles sont utiles lorsque vous avez besoin de parcourir un tableau ou de… - [Les conditions (if, switch)](https://www.gekkode.com/developpement/tutoriel-javascript-les-conditions-if-switch/) : Le conditions en Javascript permettent d’exécuter du code en fonction de conditions spécifiques. Elles vous permettent de créer des programmes plus complexes et de prendre des… - [Opérateurs et expressions](https://www.gekkode.com/developpement/tutoriel-javascript-operateurs-et-expressions/) : Dans le chapitre précédent, nous avons vu comment déclarer et utiliser des variables en Javascript, ainsi que les différents types de données disponibles. Dans ce chapitre,… - [Variables et types de données](https://www.gekkode.com/developpement/tutoriel-javascript-variables-et-types-de-donnees/) : Ce tutoriel explore les concepts de base de la gestion des variables et des types de données en Javascript. Nous verrons comment déclarer et utiliser des… - [Introduction à JavaScript : intégrer un script dans une page HTML et afficher « Hello World »](https://www.gekkode.com/developpement/tutoriel-javascript-introduction-a-javascript/) : Pour ajouter du JavaScript à une page HTML, créez un fichier app.js et chargez-le avec dans le head, ou juste avant sans defer. Écrivez console.log('Hello World'); dans le fichier, ouvrez la page et la console (F12) : le message s’affiche. - [Tutoriel JavaScript – Comment créer un chat en ligne ?](https://www.gekkode.com/developpement/tutoriel-javascript-comment-creer-un-chat-en-ligne/) : Le chat en ligne est une application très populaire qui permet à plusieurs personnes de discuter en temps réel sur Internet. Ce tutoriel montre comment créer… - [Refactoring : Le pattern guard clauses](https://www.gekkode.com/developpement/refactoring-le-pattern-guard-clauses/) : Ce court tutoriel de refactoring explique comment écrire des clauses de garde ( ou guard clauses en anglais ) pour vos instructions if, plutôt que d’utiliser… - [Réaliser une carte en CSS ( Card UI CSS )](https://www.gekkode.com/developpement/realiser-une-carte-en-css-card-ui-css/) : Schématiser et réaliser une carte en CSS dans un tutoriel en deux étapes, nous utilisons dans ce tutoriel la propriété filter qui permet de faire un traitement sur une image... - [Expression régulière pour valider un mot de passe](https://www.gekkode.com/developpement/expression-reguliere-pour-valider-un-mot-de-passe/) : Les choses les plus importantes à savoir sur les regex de mots de passe et des exemples de validation et d'extraction de mots de passe à partir d'une chaîne donnée en langage de programmation JavaScript. - [Regex date : valider une date au format JJ/MM/AAAA ou AAAA-MM-JJ (JavaScript, PHP, HTML)](https://www.gekkode.com/developpement/expression-reguliere-pour-valider-une-date/) : La regex ci-dessous valide une date française JJ/MM/AAAA (séparateur /, - ou .) et refuse les dates impossibles comme le 30 février ou le 31 avril, années bissextiles comprises. Pour un format ISO AAAA-MM-JJ, une regex courte suffit si vous confirmez ensuite avec l’objet Date en JavaScript ou checkdate() en PHP. - [Expression régulière pour valider un code postal](https://www.gekkode.com/developpement/expression-reguliere-pour-valider-un-code-postal/) : Pour un code postal français : /^(?:0[1-9]|[1-8]\d|9[0-8])\d{3}$/. Elle exige cinq chiffres dont les deux premiers vont de 01 à 98 : elle refuse 00123 ou 99000, et accepte la Corse (20…) comme l’outre-mer (97…). Elle vérifie le format, pas l’existence du code : pour ça, il faut la base officielle des codes postaux de La Poste. - [Quand utiliser un trait en PHP ?](https://www.gekkode.com/developpement/quand-utiliser-un-trait-en-php/) : Vous vous posez la question « Quand est-ce qu’il faut créer un trait ? », quels sont les avantages et les inconvénients ? Ou peut être… - [Expression régulière pour valider une adresse IP](https://www.gekkode.com/developpement/expression-reguliere-pour-valider-une-adresse-ip/) : Ce code snippet simple vous permets de valider une adresse IP ( IPv4 ou IPv6) avec une expression régulière, une version javascript, php, ... - [Regex email : l’expression régulière pour valider une adresse e-mail (JavaScript, PHP, HTML)](https://www.gekkode.com/developpement/expression-reguliere-pour-valider-ladresse-email/) : Pour valider le format d’une adresse e-mail, testez-la avec la regex ci-dessous (test() en JavaScript, preg_match() en PHP). Elle accepte prenom.nom+tag@sous.domaine.fr et refuse les points doublés, les espaces et les domaines sans extension. Elle ne garantit pas que la boîte existe : pour cela, il faut envoyer un message ou interroger le domaine. - [Value Object en php](https://www.gekkode.com/developpement/value-object-en-php/) : Un Value object en PHP est un type qui englobe des données et qui se distingue uniquement par ses propriétés. Contrairement à une Entité, il ne… - [Comment créer vos propres plugins Vue.js](https://www.gekkode.com/developpement/comment-creer-vos-propres-plugins-vue-js/) : Un plugin Vue 3 est un objet doté d’une méthode install(app, options), installé avec app.use(). Il enregistre composants et directives, fournit des valeurs par app.provide() et configure l’application. Le code Vue 2 à base de Vue.prototype et Vue.mixin ne fonctionne plus. - [Réaliser un système d’onglets en Javascript et CSS](https://www.gekkode.com/developpement/realiser-un-systeme-donglets-en-javascript-et-css/) : Ce tutoriel vous permettra de créer des onglets fonctionnels avec du HTML, CSS et JavaScript. Nous ferons en sorte que vous puissiez ajouter les fichiers CSS… - [Différence entre require() et include() en PHP](https://www.gekkode.com/developpement/difference-entre-require-et-include-en-php/) : La fonction require() en PHP est essentiellement utilisée pour inclure le contenu/code/données d’un fichier PHP dans un autre fichier PHP. - [Détecter en JavaScript le dark mode](https://www.gekkode.com/developpement/detecter-javascript-dark-mode/) : Ce snippet javascript peut détecter si l'utilisateur a réglé son ordinateur en dark mode ! Si c'est le cas, il renvoie la réponse vraie. - [Comment modifier les classes CSS en JavaScript](https://www.gekkode.com/developpement/comment-modifier-les-classes-css-en-javascript/) : Dans cet article, vous apprendrez à modifier les classes CSS à l’aide du l’objet JavaScript classList pour votre projet de manipulation du DOM. L’objet classList vous… - [Déclarer vos routes par des classes dans Laravel](https://www.gekkode.com/developpement/declarer-vos-routes-par-des-classes-dans-laravel/) : Dans cet article, je vous explique comment déclarer proprement vos routes en passant par la création d’une classe Route Registrers dans lesquelles vous enregistrez vos routes.… - [Comment ajouter Firebase à votre application Vue JS](https://www.gekkode.com/developpement/comment-ajouter-firebase-a-votre-application-vue-js/) : Installez firebase et vuefire, initialisez l’application avec initializeApp et getFirestore, puis lisez une collection avec useCollection : la liste se met à jour toute seule. Développez contre l’émulateur Firestore local plutôt que sur le projet de production. - [Comment optimiser le SEO avec Vue JS](https://www.gekkode.com/developpement/comment-optimiser-le-seo-avec-vue-js/) : Commencez par vérifier ce que reçoit un robot avec curl : si le HTML est vide, aucune balise meta ajoutée côté client ne servira. Le prérendu ou le rendu serveur est la vraie réponse. Ensuite seulement, gérez titres, descriptions et données structurées avec unhead, qui remplace vue-meta. - [Introduction à l’objet Map de JavaScript](https://www.gekkode.com/developpement/introduction-a-lobjet-map-de-javascript/) : Map est un nouveau constructeur qui permet de fournir des moyens plus faciles et plus efficaces de structurer et d’accéder aux données dans certains cas d’utilisation.… - [5 méthodes LazyLoad pour améliorer les performances de vos sites Web](https://www.gekkode.com/developpement/5-methodes-lazyload-pour-ameliorer-les-performances-de-vos-sites-web/) : Les images étant parmi les types de contenu les plus populaires sur le web, le temps de chargement des pages sur les sites web peut facilement… - [7 solutions pour faire des sites ecommerce avec Laravel en 2022](https://www.gekkode.com/developpement/7-meilleurs-packs-ecommerce-laravel-de-2022-pour-les-magasins-en-ligne/) : L’intégration de Laravel dans une plateforme de commerce électronique présente de nombreux avantages intéressants et intéressante.. - [Comment installer Composer](https://www.gekkode.com/developpement/comment-installer-composer/) : Téléchargez l'installateur, comparez son empreinte SHA-384 à celle publiée sur composer.github.io/installer.sig, puis exécutez-le vers /usr/local/bin/composer. Versionnez composer.lock, ignorez vendor/. En production, composer install --no-dev --optimize-autoloader, jamais composer update et jamais sudo. - [Comment créer une barre de progression en HTML et CSS (css progress bar) ?](https://www.gekkode.com/developpement/comment-creer-une-barre-de-progression-en-html-et-css-css-progress-bar/) : Deux div suffisent : un conteneur gris en width: 100%, et dedans une barre colorée dont la largeur vaut l’avancement (width: 60% pour 60 %). Le pourcentage s’écrit dans la barre. Pour qu’elle avance toute seule, il suffit ensuite de modifier cette largeur en JavaScript. - [Tutoriel VueJS 3 pour les débutants](https://www.gekkode.com/developpement/tutoriel-vuejs-3-pour-les-debutants/) : Onze chapitres pour apprendre Vue 3 en construisant une boutique : réactivité, directives, composants, props, événements, formulaires et transitions. Le code est écrit en Composition API avec