Jérémy Decool
00h00 07  juillet
Utiliser MinIO comme stockage de données objets en PHP
Je travaille sur un projet ou il est question de stocker un grand nombre de fichiers. Ce dernier devrait être hébergé dans le Cloud et notamment sur des infrastructures orientées Serverless. Il est donc impensable d'utiliser un système de fichiers "classique" pour stocker des fichiers...
00h00 01  juin
Définition du rôle de Tech Lead
Je me suis déjà exprimé plusieurs fois sur le rôle de lead dev. Je découvre aujourd'hui la définition de Patrick KUA (si vous ne le connaissez pas, je vous recommande vivement de vous intéresser à son blog) sur le sujet. Si ce n'est pas déjà fait, je vous recommande vivement la lecture...
00h00 04  avril
Cohérence des données dans un modèle orienté objet
On en présentera plus la programmation orientée objet, c'est aujourd'hui l'un, si ce n'est le paradigme de programmation informatique le plus utilisé. Le concept central de ce paradigme, "les objets représente un concept, une idée ou toute entité du monde physique" (d...
00h00 16  mars
La confusion entre symptôme et problème
Dans mon travail de développement logiciel, il m'arrive régulièrement de parler de causes et conséquences. Il n'est en effet pas rare, lors de la correction d'un bug, de résoudre la conséquence d'un problème sans pourtant autant en corriger la cause de ce dernier. Ce qui implique...
00h00 18  février
Interroger un serveur DNS
Le protocole DNS (Domain Name System) est un protocole central du web. C'est ce dernier qui est chargé de communiquer l'adresse IP associée à un nom de domaine. Pour gérer au mieux la croissance de cet "annuaire", le protocole s'appuie sur un système distribué. Comme Wikip...
00h00 07  octobre
La gestion des enums en PHP
Un enum, on parle également de type énuméré ou énumération en français, "est un type de donnée qui consiste en un ensemble de valeurs constantes" (source Wikipédia). Il s'agit d'une structure très pratique, mais qui n'existe malheureusement pas nativement dans PHP. Si...
00h00 03  octobre
Tout ce que vous devez savoir sur PHP 7.4
La fin de l'année approche à grand et comme d'habitude, nous autres développeurs PHP auront sous le sapin une nouvelle version de PHP à notre disposition. La version 7.4 est une version que j'attends avec impatience notamment pour la possibilité de pouvoir typer les propriétés de...
00h00 23  août
Mettre en place une Review App d’application statique
J'ai décidé d'écrire une série de quelques billets sur la gestion des Review Apps. Ces dernières représentent aujourd'hui une partie du Saint Graal des équipes de développement et DevOps. Le concept de Review Apps a été popularisé par Gitlab et consiste à déployer automatiquement du...
00h00 13  août
Vous êtes lead dev ? Et maintenant ?
Il y a quelques mois, j'écrivais un article sur le rôle de lead developer afin de donner ma vision sur le travail qui en découle. Je découvre aujourd'hui une présentation de Eryn O'Neil sur le sujet. The tech lead is the owner of the technological vision for a project, and the...
00h00 28  juillet
Mettre à jour automatiquement une description sur le Docker Hub
Le Docker Hub c'est le registre officiel d'image Docker. L'annuaire ou toutes les personnes qui créent et maintiennent des images Docker peuvent les mettre à la disposition de tous. Pour avoir le plus de succès possible, il est alors important de bien remplir la description de son...
00h00 19  mai
Déployer un projet PHP depuis un monorepo
Je parlais dans un billet précédent de comment publier des composants PHP sur Packagist depuis un dépôt de code monolithique. Une autre question récurrente venant des équipes projet qui souhaitent mettre en place ce type de structure est: comment déployer un sous-projet du dépôt de manière ind...
00h00 18  mai
Publier des dépendances PHP sur Packagist dans un projet monorepo
Les dépôts monolithiques (on parle également de dépôt monorepo ou monorepository) consistent tout simplement à avoir un dépôt de code unique regroupant plusieurs projets. Cela peut être des applications distinctes (dans le cas de microservices), des composants d'un même projet (une API, avec...
00h00 13  mai
Tester une connexion SMTP avec SwiftMailer
J'ai pour habitude de créer une page de statut dans les applications que je développe afin de tester que l'ensemble des services nécessaires au bon fonctionnement de cette dernière (base de données, serveur mail, API...) sont lancés et correctement configurés. Nous allons voir dans cet...
00h00 18  mars
Open source, gratuité et utilisation professionnelle
J'aimerais aujourd'hui, au travers de ce billet, partager une réflexion concernant l'open source, que l'on utilise bien souvent gratuitement, dans un contexte professionnel. Ce billet découle de différentes discussions (aussi bien orales qu'au travers des réseaux sociaux) que...
00h00 06  mars
phpdaily le blog
Si vous suivez sur ce blog ou les réseaux sociaux, vous n'êtes pas sans savoir que depuis le mois de février, je travaille sur un projet qui met à disposition des images Docker pour tester les versions en cours de développement de PHP. En plus de simplifier l'accès aux futures versions du...
00h00 01  février
Envie de tester PHP 7.4 ? Il y a une image Docker pour ça
La version 7.4 de PHP est prévue pour la fin de cette année 2019. Elle apportera un certain nombre de nouvelles fonctionnalités dont celle que j'attends avec la plus grande impatience: les propriétés typées. PHP est un langage dont le code source est librement disponible, il est alors possible...
00h00 13  janvier
Rétrospective 2018
2018 s'est terminé et en ce début d'année 2019, je cède à l'écriture des traditionnelles "bonnes résolutions". Après tout, il est toujours intéressant de faire une petite rétrospective de l'année passée pour voir le chemin parcouru et de se motiver à définir de nouveaux...
00h00 10  décembre
Le rôle de lead developer
J'ai l'impression que le poste de lead developer (ou encore tech lead) n'a pas réellement d'équivalence en français puisque, comme pour de nombreux termes dans notre industrie en fait, nous utilisons exclusivement une version anglo-saxonne du terme pour nous exprimer. Avec l'...
00h00 03  septembre
Déploiement avec Deployer et Gitlab CI
Chez Opéra Energie, la société dans laquelle je travaille, nous développons nos outils en PHP et utilisons Deployer pour le déploiement de nos différents projets. Notre code est hébergé sur une instance Gitlab et c'est tout naturellement que nous utilisons Gitlab CI pour notre intégration...
00h00 01  septembre
Docker, déploiement et PHP
Si l'écosystème des conteneurs s'est autant démocratisé ces dernières années, c'est notamment grâce à l'apparition de Docker dont les ambitions sont clairement affichées sur le site: "Build, Ship, and Run Any App, Anywhere", que l'on pourrait traduire par...
00h00 20  août
Soumettre un formulaire HTML en AJAX avec Javascript
Nous travaillons aujourd'hui avec tellement de framework aussi bien pour concevoir les parties backend que frontend, que nous oublions parfois à quel point il peut être facile d'effectuer certaines actions pouvant paraître complexe sans utiliser aucun outil supplémentaire. C'est...
00h00 31  juillet
Pourquoi vous devriez utiliser la librairie HTTPlug dans vos projets
HTTPlug est une librairie d'abstraction de client HTTP. HTTPlug vous permet de découpler le code de votre application d'une implémentation spécifique d'un client HTTP. Lorsque tous les composants de votre application dépendent uniquement de la librairie, vous avez alors la possibilité...
00h00 25  juillet
Optimiser le stockage des adresses IP dans MySQL
C'est l'été, le mois d'août arrive, de manière générale les cadences et les volumes de travaillent ralentissent un peu pour la période estivale. C'est le moment parfait pour démarrer des travaux de refactoring ou pour travailler sur des tâches pour lesquels vous n'arrivez jamais...
00h00 23  juillet
La gestion des UUID dans MySQL
Il est maintenant acquis que l'utilisation de valeurs auto-incrémentées en tant que clé primaire présente plusieurs inconvénients lorsque cette technique est mal utilisée. C'est pour cela que l'utilisation des UUID se démocratise aujourd'hui. Néanmoins toutes les bases de données ne...
00h00 17  juillet
Pourquoi ? Donner un sens à notre travail
Depuis quelques jours, j'ai démarré la lecture de livre Commencer par pourquoi, la traduction française de Start with why de Simon SINEK. Dans la préface du livre, l'auteur y écrit la chose suivante : Je n'avais pas un poste désagréable, ce n'était pas un mauvais job en soi. Je...
00h00 13  juillet
Cloner des projets privés dans un runner Gitlab CI
Gitlab n'est aujourd'hui plus un simple outil permettant d'héberger son code sur Git au travers d'une interface agréable. Non, Gitlab est aujourd'hui un environnement extrêmement complet et orienté vers une culture DevOps tout en un. La plateforme permet aujourd'hui de...
00h00 14  mai
Réalisez vos benchmarks de code PHP avec PHPBench
Pour mes besoins personnels, je souhaitais tester du code PHP et obtenir certaines données sur l'exécution de ce dernier (temps d'exécution, mémoire consommée, ...) sans pour autant sortir l'artillerie lourde. En effectuant quelques recherches, j'ai alors découvert PHPBench qui...
00h00 11  mai
Améliorez vos applications avec l’analyse statique de code
Pour corriger des problèmes sur un projet, il est primordial de détecter ces derniers le plus rapidement possible. Effectivement, au plus tôt un problème est détecté et au moins il sera coûteux de résoudre ce dernier. Il est pour cela possible d'avoir recours à de l'analyse statique. Il...
00h00 09  mai
Les outils de profiling PHP open source
L'activité de profiling consiste à collecter un certain nombre d'informations sur l'exécution d'un code PHP. Une telle opération est effectuée lorsque l'on souhaite par exemple analyser le code d'un projet pour améliorer sa scalabilité ou encore optimiser ce dernier pour...
00h00 24  février
Tutorial Jobeet pour Symfony 4 - Partie 6: Aller plus loin avec le modèle
Notre application Jobeet commence à devenir utilisable. Nous savons maintenant créer des pages, les afficher et naviguer entre elles en utilisant le framework Symfony via les différents composants qui sont à notre disposition. Attardons-nous un peu sur la couche modèle de notre projet. Cette...
00h00 26  janvier
Que 2018 commence
Oui l'année a commencé depuis presque un mois, mais il n'est jamais trop tard (ni même trop tôt) pour faire un point sur sa vie aussi bien personnelle que professionnelle, car il est important de se fixer des objectifs pour évoluer et progresser. D'ailleurs, je n'avais même pas pr...
00h00 06  décembre
Symfony 4 et les tests avec le logger par défaut
Symfony 4 est sortie il y a quelques jours. Ce dernier est dorénavant fourni avec un minimum de dépendances. Monolog n'étant plus fourni par défaut, un logger proposant le strict nécessaire est inclus par défaut. Ce dernier, compatible PSR-3, va logger les informations par défaut sur la sortie...
00h00 04  décembre
Choisir ses dépendances applicatives
Il est rare lorsque l'on développe une application d'écrire soi-même (ou une équipe) 100% du code qui fera fonctionner le projet. Nous utilisons et réutilisation de nombreux outils et composants que nous intégrons à notre code pour gagner du temps et éviter de réinventer la roue. Le choix...
00h00 23  novembre
PHP Meminfo, l’extension qui vous fait voyager dans la mémoire PHP
Savez-vous vraiment comment est consommé la mémoire de votre application PHP ? Si la réponse est non, alors devriez considérer l'utilisation de PHP Meminfo. PHP Meminfo est une extension PHP vous permettant d'avoir un aperçu de l'utilisation de la mémoire de vos scripts PHP. Cette...
00h00 16  octobre
Tutorial Jobeet pour Symfony 4 - Partie 5: Les routes
Vous connaissez maintenant le principe d'une architecture MVC et comment cette dernière se met en place au sein d'un projet Symfony. Nous avons également rapidement évoqué le principe du routage (ou routing en anglais). Ce chapitre sera entièrement consacré à ce dernier point. Dans un...
00h00 11  octobre
Proxifier des requêtes HTTP en PHP
Ce soir, je me suis demandé comment il était possible de "proxifier" une requête HTTP effectuée depuis un script PHP. Pour être plus précis, je souhaitais faire une requête sur le réseau TOR (ou via n'importe quel proxy de manière générale) via une commande PHP. En fait cela est...
00h00 09  octobre
Ma semaine 40 de veille (02 10 2017 - 08 10 2017)
Retrouvez chaque semaine la sélection de mes 5 tweets les plus populaires concernant la veille que je partage sur Twitter. Abonnez-vous au flux RSS, du site ou plus précisément à celui de cette catégorie pour être notifié des mises à jour. Mon actu préférée One Million Tables in MySQL 8...
00h00 02  octobre
Ma semaine 39 de veille (25 09 2017 - 01 10 2017)
Retrouvez chaque semaine la sélection de mes 5 tweets les plus populaires concernant la veille que je partage sur Twitter. Abonnez-vous au flux RSS, du site ou plus précisément à celui de cette catégorie pour être notifié des mises à jour. Mon actu préférée Google partage gratuitement...
00h00 30  septembre
Tutorial Jobeet pour Symfony 4 - Partie 4B: La gestion des assets avec Twig
Dans la section précédente, nous avons commencé à afficher nos premières pages et avons défini une charte graphique. Nous avons donc inclus un certain nombre de fichiers CSS, Javascript et utilisé des images. Voyons avant de continuer quelques bonnes pratiques sur la gestion des assets. Les...
00h00 29  septembre
Tutorial Jobeet pour Symfony 4 - Partie 4A: Le contrôleur et la vue
Nous avons jusqu'à présent entrevu le fonctionnement de Doctrine en créant une base de données et en y insérant un jeu de données afin d'avoir des données initiales, nous évitant ainsi d'avoir une application vide. Nous allons maintenant pouvoir commencer à afficher nos premières...
00h00 24  septembre
Ma semaine 38 de veille (18 09 2017 - 24 09 2017)
Retrouvez chaque semaine la sélection de mes 5 tweets les plus populaires concernant la veille que je partage sur Twitter. Abonnez-vous au flux RSS, du site ou plus précisément à celui de cette catégorie pour être notifié des mises à jour. Mon actu préférée Relicensing React, Jest, Flow...
00h00 21  septembre
Tutorial Jobeet pour Symfony 4 - Partie 3B: Les données initiales
Nous avons donc créé notre base et données avec les tables qui permettront de stocker les informations que notre application va manipuler. Avant de commencer l'implémentation des fonctionnalités évoquées dans les billets précédents, nous allons commencer par insérer un jeu de données initiales ...
00h00 20  septembre
Tutorial Jobeet pour Symfony 4 - Partie 3A: Le modèle de données
Maintenant que l'aspect fonctionnel de notre projet a été défini, nous allons pouvoir créer le modèle de données associé à notre application, c'est-à -dire les classes qui permettront d'interagir avec la base de données. Nous allons pour cela avoir recours à un ORM. Ce sera également...
00h00 19  septembre
Tutorial Jobeet pour Symfony 4 - Partie 2: Le projet
Nous avons précédemment créé la structure de notre projet Symfony et préparé notre environnement de développement. Nous allons très prochainement pouvoir commencer à écrire nos premières lignes de code. Mais avant cela, attardons-nous un peu sur les exigences de notre projet. Ce billet est...
00h00 18  septembre
Ma semaine 37 de veille (11 09 2017 - 17 09 2017)
Retrouvez chaque semaine la sélection de mes 5 tweets les plus populaires concernant la veille que je partage sur Twitter. Abonnez-vous au flux RSS, du site ou plus précisément à celui de cette catégorie pour être notifié des mises à jour. Mon actu préférée Blog Tutorial Jobeet pour...
00h00 13  septembre
Tutorial Jobeet pour Symfony 4 - Partie 1: Démarrage du projet
Est-il encore nécessaire de présenter Symfony qui est l'un des frameworks PHP les plus populaires ? Dans cette première partie, nous allons créer la structure de notre application et voir comment s'organise un projet Symfony. Démarrons tout d'abord avec les prérequis nécessaires à la...
00h00 12  septembre
Tutorial Jobeet pour Symfony 4 - Introduction
J'ai récemment eu l'occasion de relire des articles concernant Jobeet, un tutorial pour concevoir une application de type "job board" écrit par l'équipe du framework Symfony (la première version à l'époque) afin de se familiariser avec l'outil. Ce dernier avait par la...
00h00 11  septembre
Ma semaine 36 de veille (04 09 2017 - 10 09 2017)
Retrouvez chaque semaine la sélection de mes 5 tweets les plus populaires concernant la veille que je partage sur Twitter. La semaine qui vient de s'écouler marque la fin des vacances scolaires ainsi que des congés d'été, cette dernière fut donc riche en actualités partagées. Vous...
00h00 06  septembre
La formation continue du développeur
Il est primordial lorsqu'on est développeur de rester "à jour", de garder un oeil sur ce qui se fait et les évolutions de notre métier (aussi bien concernant les produits, processus ou technologies que nous sommes amenés à utiliser au quotidien). Pour cela, faire de la veille est...
00h00 04  septembre
Ma semaine 35 de veille (28 08 2017 - 03 09 2017)
Cette semaine je vais essayer de démarrer une série de billets un peu particulière. Je fais beaucoup de veille que je partage abondamment sur Twitter. Je vais donc tenter de vous partager chaque semaine les 5 tweets ayant eu le meilleur taux d'engagements selon la plateforme. Mon actu préfér...