Veille de la semaine #201546

Tackling Technical Debt

Travailler sur un ancien projet legacy peu être frustrant. La plupart du temps, une réécriture massive de code n'est pas faisable et vous êtes contraint de faire avec un code loin d'être idéal, avec beaucoup de dette technique et de mauvaises pratiques.

– breathe new life into a legacy project with Symfony2

Dans ce talk, Carl Vuorinen décrit comment il est possible d'utilise le framework Symfony côte à côte avec du code legacy. Ce talk explique comment introduire de nouvelles fonctionnalités en utilisant du code de haute qualité et des bonnes pratique et dans le même temps maintenir la code legacy. Il explore également quelques stratégie de refactoring de l'ancien code petit à petit en utilise des composants Symfony.

When monolog meets ELK (& bermudas!)

Monolog est un outils de gestion de logs créé par Jordi Boggiano et utilisé par Symfony et bien d'autres projets open-source. ELK — pour ElasticSearch, LogStash, Kibana — est une solution de collecte et d'analyse de logs basé sur des outils d'Elastic. Olivier Dolbeau, dévelopeur chez BlaBlaCar a donné lors de la PHPCon Poland 2015 une conférence sur comment utiliser ELK avec Monolog. Cette conférence décrit les problèmes que solutionne ELK et comment le configurer conjointement avec Monolog.

ied

ied est un gestionnaire de packet alternatif à npm. Le but original du projet était d'implémenter l'algorithme d'installation de npm pre-v3 en le moins de lignes possibles, ce qui a été atteint. Le but actuel du projet est désormais est de fournir une alternative plus performant à npm.

PHP Humanizer

PHP Humanizer est une bibliothèque écrit en PHP permettant de formater des données pour qu'elle soit plus facilement lisible par un humain. Au programme, textes, nombres, dates ou encore tableaux peuvent être "humanizer". PHP Humanizer est internationalisé et gère déjà une quinzaine de langue dont l'anglais et le français.

echo String::humanize('field_name'); // "Field Name"
echo Number::ordinalize(1); // "1st"
echo Number::ordinalize(2); // "2nd"
echo Number::binarySuffix(1536); // "1.5 kB"
echo Collection::oxford(['Michal', 'Norbert', 'Lukasz'], 2); // "Michal, Norbert, and 1 other"
echo DateTime::difference(new \DateTime("2014-04-26"), new \DateTime("2014-04-24")); // 2 days ago

Hexagonal architecture - message-oriented software design

Voici encore une conférence de la PHPCon Poland 2015. Cette fois ci c'est une conférence de Matthias Noback sur l'architecture hexagonale. Cette architecture est très utilisé en DDD, elle permet une séparation en couches du code selon leur responsabilité.

Approaching coding style rationally

Le code styling est une notion qui a fait sont chemin dans le monde PHP ces dernières années. Aujourd'hui PSR-2 s'est plus ou moins imposé comme standard. Néanmoins il existe encore beaucoup de norme, beaucoup de développeurs ont encore leurs habitudes, beaucoup de projets conserve du code legacy avec d'ancien standard voir pas de standard du tout. Matthieu Napoli tente dans son article de décrire une approche rationnelle du coding style.

Les commentaires