Bus de données et RabbitMQ, pour de l'échange de données entre services Je vous propose de parler un peu de Bus de données. Un bus de données permet de transférer des données... ProtoBuf : un super-standard pour échanger des données Après une longue absence sur ce blog (avoir des enfants vous savez, ça occupe :) ), j’avais envie de parler... Un environnement complet de tests avec Docker - jour 2 (tests d'IHM) Ce billet est le second d’une série sur la création d’un environnement de test pour des projets web. Aujourd’hui... Un environnement complet de tests avec Docker - jour 1 (Behat) Ce billet est le premier d’une série sur la création d’un environnement de test pour des projets web. A la... Un outil pour améliorer la qualité d'un projet web Le mot “qualité”, quand on parle d’un logiciel, est très ambigu : parle-t-on de faible complexité du code source ?... Open source, libre et gestion des medias Composer, Bower, NPM… autant d’outils pour gérer les dépendances techniques de nos projets. C’est bien. Mais quid de la gestion... Semver, Git et tags : automatisation Pour résumer, le sémantique versionning est une logique de fabrication des numéros de version d’un produit où l’on identifie... Intégration continue : utiliser le fichier .travis.yml dans Jenkins avec Docker J’utilise massivement travis-ci comme plate-forme d’intégration continuepour mes projets open source. Qualité logicielle et métriques de code - comment fixer les valeurs limites ? Plus j’avance dans la réalisation de PhpMetrics, plus une question se pose : je dispose de métriques sur le... Indice de maintenabilité d'un projet PHP et Jenkins Dans mon dernier billet je vous avais présenté un outil sur lequel... La maintenabilité d'un projet PHP en images Ça faisait longtemps que je cherchais un outil capable de me fournir un aperçu, très général et visuel, de la... eBooks open source sur le Développement piloté par le comportement Ça faisait longtemps que je les avais rédigés (plus de 6 mois), je viens de les retrouver au fond... Mutation Testing en PHP : indicateurs de qualité des tests unitaires Aujourd'hui, dans l'écosystème PHP, on ne se pose enfin plus la question de savoir ce qu'est un test unitaire.... Mais... on peut faire "ça" en PHP ? Mais c'est horrible ! Pour changer, je ne vais pas parler de ce qui est super avec PHP, mais plutôt de ce qui pue... Behat - créer des tests solides et efficaces Ca commence à faire déjà quelques temps que j'utilise Behat, et j'ai eu la chance de pouvoir l'utiliser sur... dependency.me, un service pour savoir si vos dépendances composer sont à jour Ça faisait pas mal de temps que l'idée me trottait en tête : un service pour savoir si l'on utilise... Doctrine n'est pas un ORM ? Pour bien commencer l'année, je vous propose de troller un peu sur les ORM. Ce qui suit est mon point... Automatisation des tâches avec Phing Je ne vais pas vous convaincre qu'un bon développeur est un développeur faignant, c'est à dire qui sait employer suffisamment... Industrialiser le Contrat dans un projet PHP - Slides Suite à l'invitation de l'antenne nantaise de l'AFUP pour un rendez-vous PHP (très sympa au passage!), j'ai eu envie de... Gérer des règles métiers complexes et/ou changeantes Désolé d'avance pour la longueur de ce billet ; comme ça fait longtemps que mon blog n'a pas été mis... Behat - Une interface graphique pour rédiger / lister ses fonctionnalités Encore du Behat, mais du neuf cette fois ! Slides AFUP Orléans - Exploiter PHP 5 Comme promis à ceux qui étaient présents, voici mes slides de notre rendez-vous du 5 juillet à Orléans, durant lequel... BDD : produit mal pensé, développement raté Ce billet, non technique, peut surprendre, mais je pense qu'en tant que développeur il faut comprendre un minimum ce que... Les principales causes d'échec du BDD Bonjour à tous ! Alors bien évidemment, il serait absurde de vouloir lister toute les erreurs possibles, et totalement illusoire... Mémento Industrialisation PHP : Outils et bonnes pratiques Flux personnalisés et filtres en PHP (Streams) Lorsque vous faites un fopen(), ou toute autre fonction équivalente, PHP vous retourne une ressource, sous forme d'un flux. Il... Behat : liens et ressources utiles Ce billet fait suite à : Behat... Behat - jour 4 : API Mink, Sous-contextes et Hooks Voici l'avant dernier billet de la série sur la prise en main de Behat. Pour rappel, on a vu :... Behat – jour 3 : Tester une application web avec Mink On a vu précédemment ce qu'était Behat et... Behat – jour 2 : Installation et premiers tests Maintenant qu'on a vu à quoi sert Behat,... Cheat Sheet Behat Je vous propose une petite feuille d'astuces (cheat sheet) pour Behat et Mink. N'hésitez pas pas à vous en servir... Behat - jour 1 : comment tester son produit SCRUM ? Ce billet démarre une série consacrée à cet outil que je trouve génial : Behat. Désolé pour la longueur, mais... Atelier PHP sur Orléans - Tester son code / produit Comme chaque premier jeudi du mois, demain se tiendra un atelier afup à Orléans. Utilisez un moteur javascript en PHP et faites exploser vos perfs Bon, je l'admets, ce titre est un brin accrocheur et trolleur :-) . Ceci dit, je viens de tomber sur... Le point sur les limites du typage de PHP Les limites PHP a ceci de particulier qu'il est est un langage de typage faible (le type des variables peut... Slides de l'atelier php sur les Traits pour l'AFUP Pour ceux qui étaient là hier pour notre atelier php à Orléans sur la programmation orientée objet, php 5.4 et... PHP à Orléans : ça bouge ! Et bien pour un premier apéro php sur Orléans, on peut dire que ça s'est bien passé ! Une bonne... Comment tester un Trait avec phpUnit ? Il peut être intéressant dès aujourd'hui de tester un code avec des Traits, avec PHP 5.4 (alpha) et phpUnit Couverture de code de PHP : un avis sur la polémique de PHP 5.3.7 ? Si vous êtes intéressé par la couverture de code de PHP* (la manière dont les fonctions natives du langage sont... PHP Solutions d'Aout est disponible Bon, et bien comme un peu de pub n'a jamais fait de mal, et surtout que j'ai écrit comme je... Redonner son sens à l'héritage grâce aux Traits Suite à la rédaction d'un petit article pour PHP Solutions sur l'approche Orientée Objet, je me suis mis à faire... Compiler et installer PHP Comme promis, voici le pas-à-pas d'une installation personnalisée de PHP (en l'occurrence PHP 5.4 alpha1). Ca vous dit d'installer l'alpha de PHP 5.4 ? Ca y est, depuis le 28 juin une alpha de PHP 5.4 est officiellement disponible. Ca vous dit de la... Apéro PHP à Blois : Joyeux anniversaire PHP ! Pour l'anniversaire de PHP 5.3, Sophie a fort gentiment organisé... Tour d'horizon des Callbacks en PHP Je suis toujours étonné de voir de nombreux développeurs PHP, pourtant habitués à travailler avec des callbacks en JavaScript, connaître... Le Design Pattern Flyweight (Poids mouche) Aujourd'hui je vous propose de parler Design Pattern, et plus particulièrement d'un pattern intéressant à mettre en place quand... Objet : accéder au grand parent en PHP S'il est courant de surcharger une méthode parente en PHP, il est plus rare d'accéder directement à la classe "grand... PHP 5.4 : les Traits (Horizontal Reuses) PHP 5.4 offre son lot de nouveautés, dont les Traits. Un trait permet d'injecter dans une classe des méthodes d'une... plus rapide et facile qu'un array_merge : l'opérateur + Aujourd'hui, j'ai envie de partager avec vous une astuce PHP peu connue, mais qui est bien pratique : l'union (+)... Performance PHP : l'héritage Quand on parle d'orienté objet, une crainte récurrente est celle de la performance.Or le moteur PHP Objet est très bien... Forum AFUP : Slides disponibles Tous les slides des conférences AFUP 2010 sont disponibles. Ca se passe ici : Slides Forum AFUP 2010 Forum AFUP 2010 Le forum AFUP c'est quoi ? C'est LE lieu de rencontre des professionnels PHP à ne pas manquer. Et cette... Forum AFUP 2010 : Plein PHAR Première conférence intéressante : Plein Phar, de Fréderic Hardy. Un blog est né (encore!) Aujourd'hui, ouverture de mon blog. Développeur PHP à plein temps et fan de SEO à mes heures, je compte vous...

© Jean-François Lépine, 2013 - 2022