• Technique
PHP Tour 2017 à Nantes, deuxième jour de conférence !

  • Technique
PHP Tour 2017 à Nantes, retour sur le premier jour de la conférence...

#PHPTour, retour sur le premier jour de la conférence.

  • Technique
"php-crashers" : exemples de scripts qui déclenche une segmentation fault en PHP

Erreur de segmentation, qu'est-ce que c'est et dans quels cas sont elles déclenchées en PHP ? Un dépôt Github présente quelques exemples détaillés...

  • Développement
  • Technique
PHP Coding Standard Fixer ou comment nettoyer les namespaces inutiles en PHP ?

Aujourd'hui il existe des outils pour aider à produire un code propre et respectant une mise en forme normée, pourquoi ne pas essayer !

  • Technique
Désactivation de certaines fonctionnalités des navigateurs sur les sites non "sécurisés"

  • Serveur
  • Technique
Let’s Encrypt : une nouvelle autorité de certification libre, automatisée et ouverte

  • Développement
  • Technique
Comment cloner un objet en JavaScript

Toute assignation créé une référence et pas une copie. Ce comportement est standard dans la programmation mais en JavaScript on se perd facilement...

  • Serveur
  • Technique
Comment en finir avec l'édition du fichier hosts ?

Comment configurer un serveur DNS simple dans un environnement de développement ? En utilisant dnsmasq, un outil efficace qui permet de s'affranchir de l'édition du fichier hosts.

  • Développement
  • Technique
PHP 7: Installation sur une distribution Ubuntu Server

Plus d'excuse maintenant pour ne pas installer et utiliser PHP 7 sur votre serveur Ubuntu. Grâce à ce guide, vous pouvez suivre une procédure fiable et officielle sans passer par une compilation personnalisée.

  • Développement
  • Technique
Symfony, Composer et la configuration `platform`

Une erreur du type `overriden by "config.platform.php"` en installant vos dépendances composer ? Venez comprendre la configuration qui en est la cause et comment la dompter !

  • Développement
  • Technique
  • Tests unitaires
Atoum: Comment automatiser l'utilisation du fichier de `bootstrap` ?

J'ai utilisé atoum sur un projet récemment. Il m'a permis de découvrir une autre approche des tests unitaires, plus simple et efficace

  • Technique
On a testé Firefox Developer Edition !

Mozilla vient de présenter sa dernière nouveauté, Firefox Developer Edition. C'est un outil puissant qui intègre les dernières innovations pour aider les développeurs web au quotidien.

  • Technique
Contrôler l'installation des mises à jour de Wordpress

Il est intéressant de pouvoir limiter l'installation des mises à jour à certains utilisateurs pour contrôler les problèmes techniques qui peuvent en découler.

  • Technique
L'Ipad et les problèmes de redimensionnement des images hors viewport

L'Ipad et safari sur iOS n'autorisent pas par défaut l'application d'une image de fond qui dépasse du viewport, voici quelques astuces pour contourner ce problème.

  • Design
Prendre les bonnes décisions pour une interface plus efficace

Vous vous demandez pourquoi certaines interfaces web plaisent aux internautes et d’autres pas ?

  • Stratégie
Comment rédiger un brief efficace pour obtenir ce que vous voulez !

Vous souhaitez que votre projet aboutisse à la réalisation que vous imaginez ?

Mots Clés

  • Technique

22 mai 2017 par Stéphane Hulard

PHP Tour 2017 à Nantes, retour sur le premier jour de la conférence…

Cette année, j’ai participé au PHP Tour organisé par l’AFUP à Nantes. J’avais soumis plusieurs sujets durant le CFP qui n’ont pas été retenus mais qu’à cela ne tienne je n’allais pas louper cet évènement important de la communauté PHP française…

Au premier étage de la Tour Bretagne en plein centre de Nantes, les participants sont accueillis dès 8h avec le sourire par les bénévoles de l’AFUP Je retrouve quelques têtes connues parmis les bénévoles ayant fait le déplacement de Lyon (Adrien Gallou, Florian Ferrière, …) et je commence par un café en regardant tout le monde arriver.

À 9h, Geoffrey Bachelet, ouvre le bal avec la keynote d’ouverture. Un bienvenue amical et un rappel des règles, il ne reste plus qu’à profiter. J’ai suivi les conférences les plus intéressantes pour moi, l’intégralité des vidéos est disponible sur la playlist YouTube dédiée.

Cet article présente les conférences du premier jour et ce que j’ai pu en retirer, si vous avez des remarques ou questions n’hésitez pas à commenter !
Pour le deuxième jour, rendez-vous sur l’article dédié !

Sécurité Web : et si on continuait à tout casser ?

Alain Tiemblo expert sécurité chez BlaBlaCar, nous parle de SHA1, de fuites de données, de hack, d’injection SQL et de Man In The Middle attack. Ces injections sont encore la principale source de hack conduisant à des fuites de données monumentales… Les « prepared statement » sont la solution, il faut les utiliser partout et toujours !

Il revient aussi sur les mots de passe, comment ils sont protégés, comment ils sont échangés et rappel l’importance d’utiliser un gestionnaire de mot de passe comme 1Password, LastPass, KeePass

J’ai découvert Vault un projet de HashiCorp servant de fournisseur d’authentification pour les applications. En effet de plus en plus de clé de sécurité permettent d’échanger entre les différents composants d’une application (API, stockage…) et ces clés ont besoin d’être sécurisées elles aussi… Il agit sous le même principe que SAML, l’application demande les accès nécessaire et c’est l’outil qui lui fournit, elle n’y a pas accès directement… Alain est actuellement en train de le mettre en place chez BlaBlaCar mais c’est complexe…

2 ans avec POMM

Grégoire Hubert, créateur de la librairie Pomm et repenti des ORM depuis 1999 présente les deux dernières années du projet et ses différents rebondissements. J’avais déjà entendu parler de Pomm mais je n’ai jamais eu l’occasion de m’y pencher sérieusement (aussi parce que je n’ai aucun projet utilisant PostgreSQL…).

Cette présentation claire et dynamique m’a permis d’avoir un autre œil sur PostgreSQL et sur les bases de données en général.
Les ORM apportent une couche d’abstraction intéressante, parfois, mais ils sont utilisés par défaut dans la majorité des projets. Comme ces outils se veulent compatibles avec la plupart des moteurs de base de données relationnelles, ils ne peuvent pas gérer toutes les fonctionnalités spécifiques de chacun.
Pomm propose une approche différente en utilisant au mieux les possibilités offertes par PostgreSQL (typage fort, modélisation de données…) pour aller plus loin lorsqu’on choisit ce moteur de BDD, à tester donc !

Dependency injection & Dependency inversion avec PHP

Première conférence en anglais, présentée par James Mallison, lead développeur chez Trivago. Petit tour d’horizon sur l’injection de dépendance, son intérêt et ses avantages. Rien de nouveau de mon côté mais c’est toujours plaisant d’avoir un petit récap sur un point technique important.

James a présenté auryn un injecteur de dépendance récursif simple a intégrer et PHP-DI, développé par Mathieu Napoli.

Une API GraphQL, du Hype à la prod

GraphQL est un outil à la mode avec comme objectif de détrôner REST pour la construction des APIs. Aurelien David, développeur chez Jolicode nous a présenté comment le mettre en place et l’utiliser.

Contrairement à une API REST, il subsiste un unique point d’entrée capable de répondre à une requête complexe. Cette requête définit le schéma de la réponse attendue, c’est donc l’appelant qui demande ce qu’il souhaite et l’API qui lui répond ce qu’il peut. Une approche intéressante car elle est très adaptative et un même point d’entré peut être utilisé pour plusieurs besoins différents sans avoir à recoder quoi que ce soit.

Pour faciliter l’utilisation, un portage de GraphQL a été fait pour PHP : https://github.com/webonyx/graphql-php

Tread Safety en PHP (ZTS)

Julien Pauli expert PHP chez SensioLabs, présente le mode ZTS (Zend Thread Safe) de PHP. Il démystifie aussi le terme de thread, la différence avec un processus et leur intérêt dans le développement aujourd’hui. PHP n’utilise pas de thread (sauf à utiliser l’extension pthreads développée par Joe Watkins) mais peut être exécuté à l’intérieur d’un thread grâce à son mode ZTS.

Une présentation complexe mais intéressante sur le fonctionnement interne de PHP et la gestion du partage d’accès à la mémoire.

PHP The wrong way

Un peu de troll et une bonne session de rigolade, Loïc Piera et Benjamin Clay, développeurs chez JoliCode, nous montrent avec humour le code pourri auquel ils peuvent être confrontés chez des clients (aucun nom bien sur) en développant en live le petit projet de blog d’un certain Taylor…

Des applis PHP 15 fois plus rapides

Serge Hardy et Fabien Paitry nous font une petite présentation du projet PHP Process Manager, qui promet une augmentation de performance incroyable en utilisant ReactPHP. Le sujet était intéressant mais la présentation était un peu légère, je reste sur ma faim. Dommage que les conférenciers n’aient pas plus creusés et ce soit limité à des tests sur un simple « Hello World » dans un projet Symfony.

Le gain annoncé n’est pas aussi important que celui mesuré mais les benchmarks réalisés manquent un peu de profondeur pour être pertinents.

Tagua VM, a safe PHP virtual machine

Tagua VM est une machine virtuelle expérimentale pour PHP, autant dire un nouveau moteur d’interprétation du langage. Ce projet a pour objectif de proposer une alternative au Zend Engine, moteur historique de PHP, et à HHVM (HipHop VM) développé par Facebook et permettant aussi d’exécuter le langage Hack.
Développé en Rust et s’appuyant sur LLVM, TaguaVM veut garantir sécurité et qualité tout en apportant une suite d’outil plus poussée (débugger, analyseur syntaxique…). Rust, très prometteur sur la sécurité de la gestion mémoire et des threads est une base fiable pour développer cette VM.

Ivan Enderlin, nous présente le projet sa philosophie et son écosystème. Cette présentation était vraiment très motivante sur l’avenir de PHP et ce que la communauté peut apporter. De plus le détail sur la structure interne de la machine virtuelle et l’analyse du langage avant exécution était vraiment très intéressants.
La roadmap prévoit une version stable d’ici 2 ans environ mais l’approche très modulaire choisie nous permettra peut être de voir sortir un parser nouvelle génération bien plus tôt, à suivre !

OPCode ? Mais à quoi ça sert ?

Benoit Jacquemont, directeur technique de la société Akeneo nous présente OPCode (language simplifié interprété par Zend Engine). C’est toujours intéressant de voir comment PHP est réellement transformé et interprété par le serveur. La petite note sur le cache d’OPCode permet aussi de connaître les différentes optimisations intégrées dans le langage depuis la version 5.5.

Une présentation accessible et intéressante avec des exemples simples mais explicite d’OPCode et d’optimisations appliquées.

Partager cet article


Soumettre un commentaire

Vous avez décidé de laiser un commentaire. C'est fantastique !
Votre adresse e-mail ne sera pas publiée, merci d'être passé !

(*) Champs obligatoires Envoyer

Votre commentaire a été soumis à validation