planetePHP.fr
Romain Ciaccafava 2017-05-26T13:00:00+02:00

PHP Tour 2017

Le PHP Tour 2017 s'est tenu cette année à Nantes les 18 et 19 mai. C'est un événement majeur de la c...

AFUP AFUP 2017-05-22T00:00:00+02:00

Le CFP pour le Forum PHP 2017 est ouvert !

Deux ans après la sortie de la version 7 de PHP, il est temps de faire le point sur langage et les outils qui évoluent autour : nous avons besoin de vous ! 

Le Forum PHP 2017 se tiendra les 26 et 27 octobre prochains, au Marriott Rive Gauche, dans le quartier de Denfer-Rochereau. Un lieu plus grand, plus beau, aux équipements confortables, pour un Forum PHP encore plus fort. 

Venez partager avec nous votre expérience, votre savoir-faire, ou vos anecdotes concernant le langage. Venez nous parler de votre utilisation des dernières fonctionnalités de PHP, du dernier paradigme à la mode, de votre framework préféré, expliquez-nous comment vous gérez vos données, vos API REST, racontez nous l’histoire incroyable de l’introduction de cette nouvelle technologie ou nouveau concept qui a révolutionné votre façon de travailler ! Le TDD peut-être ? Le DDD ? L’architecture hexagonale ? On veut tout savoir !

Une seule façon pour soumettre vos sujets : remplir notre formulaire en ligne. Vous avez jusqu'au 18 juin, minuit : ça va passer très vite, alors ne tardez pas ! 

Des questions sur le processus de sélection, visitez notre site pour trouver toutes vos réponses. 

De geek à directeur technique De geek à directeur technique 2017-05-15T14:20:12+02:00

Travailler seul : quelques trucs pratiques

Je suis actuellement dans une phase de création de startup, et j’ai été amené à me poser quelques questions d’ordre pratique. Très concrètement, comment faire pour travailler dans des conditions propres à garantir une certaine efficacité, alors qu’on n’a pas beaucoup de budget ?

Ordinateur

La première chose à faire, c’est d’avoir un ordinateur suffisamment performant pour ne pas avoir l’impression de perdre du temps à cause de lui. Ça paraît évident, mais j’ai longtemps eu des ordinateurs “juste suffisants“ ; je suis maintenant bien content d’avoir une machine assez puissante pour que le sujet de me vienne même plus à l’esprit (plus d’info à ce sujet dans l’article que j’avais écrit).

Prévoyez un ordinateur portable que vous pourrez emmener facilement partout où vous aurez besoin de vous déplacer, tout en vous offrant un bon confort de travail. Pensez que la plupart du temps vous devrez vous contenter de l’écran, du clavier et du trackpad de votre ordinateur, sans possibilité de le brancher à un écran, clavier ou souris externe.

Prenez aussi un ordinateur avec un système d’exploitation que vous maîtrisez ; ne perdez pas de temps à vouloir apprendre un nouveau système, votre productivité serait catastrophique pendant trop longtemps.

J’utilise actuellement un Lenovo Yoga 2 Pro âgé de 2 ans (qui n’est plus au catalogue, remplacé par les Yoga 700 et Yoga 900) équipé d’un processeur Core i7, 8 GO de RAM, 512 GO de SSD, et un écran 13,3 pouces 3200×1800 tactile, pour 1,4 kg ; le tout sous Ubuntu Linux.

Téléphone portable

Là encore ça paraît évident, mais ça va mieux en le disant. Parce qu’il faut être réactif, il faut pouvoir être alerté lorsqu’on reçoit un message, même si on n’est pas devant son ordinateur. Et il faut pouvoir envoyer des emails, gérer son calendrier, surfer sur Internet, etc. sans avoir besoin d’ouvrir son ordinateur à chaque fois.

Donc il est important d’avoir un téléphone portable de bonne qualité. Cela veut dire avec un écran assez grand, non seulement pour pouvoir surfer dans de bonnes conditions, mais surtout pour pouvoir utiliser le clavier virtuel sans appuyer sur plusieurs touches à la fois.

la suite...

De geek à directeur technique De geek à directeur technique 2017-05-08T18:15:59+02:00

Génération de tokens

Je suis en train de travailler sur une application qui nécessite l’utilisation de tokens. Certains doivent avoir une durée de vie assez courte, d’autres n’ont pas de péremption. Tout l’enjeu autour de ces tokens est de s’assurer qu’ils ne soient pas devinables facilement, ni qu’ils soient attaquable par force brute. Mais en même temps, certains tokens sont destinés à être copier-coller, et il est alors préférable qu’ils puissent être saisis à la main par un être humain ; il faut donc qu’ils ne soient pas trop longs et qu’ils soient intelligibles.

À une époque, on aurait généré un hash MD5 à partir d’un nombre aléatoire, éventuellement en utilisant la date courante comme sel. En PHP ça donnait ça :

$token = md5(time() . mt_rand());

Simple et plutôt efficace. Sauf qu’il y a plusieurs soucis avec cette solution :

  • Le résultat est une chaîne de 32 caractères hexadécimaux, ce qui correspond à un message de 128 bits. C’est bien d’un point de vue cryptographique (plus le message est long, plus il est difficile à craquer par force brute), mais c’est un peu long à taper à la main.
  • MD5 est un algorithme aujourd’hui considéré comme insuffisamment sécurisé.

Pour le premier point, on peut changer la base du message ; en passant d’une base 16 (caractères hexadécimaux) à une base 36 (tous les caractères alphanumériques, aussi appelée base hexatridécimale, hexatrigésimale ou sexatrigésimale), on diminue la taille du token à 25 caractères.
Pour le second point, il est recommandé de passer à l’algorithme SHA256.

En PHP, cela donne ceci :

$token = base_convert(hash('sha256', time() . mt_rand()), 16, 36);

Cette fois-ci, on a un message de 256 bits, ce qui est encore mieux d’un point de vue cryptographique, généré par un algorithme bien plus robuste. Et grâce à la base 36, on a un message de 50 caractères au lieu de 64.
Il y a toutefois deux choses qui pourraient être améliorées. Le message est encore trop long à mon goût ; personne n’a envie de taper à la main un hash de 50 caractères, donc il faut trouver un moyen pour le raccourcir. Et il y a des caractères trop similaires (les lettres i et l, et le chiffre 1 ; le chiffre 0 et la lettre o) pour qu’un être humain normal puisse les recopier sans se poser la moindre question.

Un bon moyen de raccourcir le message est d’utiliser une base encore plus longue. Le plus simple est de passer sur un encodage en base 62 (les chiffres + les lettres minuscules + les lettres majuscules).

la suite...

Hello Design 2017-05-08T17:42:38+02:00

Devcon 3 le 23 mai 2017

photo devcon 2 Le magazine Programmez! organise un cycle de conférences 2 fois par an gratuit.

La prochaine Devcon sera sur les thèmes des API, du Cloud Computing et des IoT et se déroulera le 23 mai prochain à Hitema, quelques jours après le PHP Tour.

Ainsi, c'est l'occasion d'obtenir des réponses à de nombreuses interrogations :

  • Comment développer une API et la déployer pour vos utilisateurs et développeurs ?
  • Comment lier API et Cloud ?

Pour ma part, j'animerai la conférence suivante : API : les interfaces du cloud computing

Cette session a pour but de montrer comment mettre en relation le matériel avec les applications pour obtenir un environnement embarqué dans un Web connecté avec les internets des objets (IoT) et le micro-ordinateur.

De plus, pour garantir une longévité de votre environnement cloud, nous aborderons comment encapsulé le tout dans un cluster pour gérer un fort trafic, le tout monitoré et répliqué.

photo devcon 2[1]

Enfin, de nombreux autres sujets seront abordés avec un programme de qualité comprenant 2 conférences plénières et 6 sessions, dont le nombre de place gratuite est limité.

Par ailleurs, à l'événement précédent la DevCon #2 dont les podcasts vidéos sont toujours disponible, j'avais eu de parler de : L'open source dans les nouvelles architectures web

L'open source dans les nouvelles architectures web de

la suite...

Hello Design 2017-04-26T10:43:00+02:00

Retour du PHP Tour à Nantes

php tour 2017 Nantes L'édition du PHP Tour 2017 retourne sur les terres nantaises avec le cycle de conférences itinérant de l’Association Française des Utilisateurs de PHP (AFUP) pour parler du futur de PHP.

Il ne reste que quelques semaines pour vous inscrire avant que l'événement affiche de nouveau complet.

L'équipe propose un programme de qualité avec de nombreux intervenants nationaux et internationaux, dont en voici le communiqué officiel :

Après une édition très réussie en 2012 , le PHP Tour, le cycle de conférences itinérant de l’AFUP pour toutes les communautés PHP, professionnelles et open-source, pose de nouveau cette année ses valises au C.C.O. de Nantes.

Entre-temps, le cycle de conférences a grandi, il s’est forgé une solide réputation, et il a voyagé : Lyon, Luxembourg-ville et Clermont-Ferrand ont accueilli l’événement, se penchant à chaque fois sur une particularité du tissu économique local pour orienter son programme. C’est fort de cette expérience et de sa belle notoriété que le PHP Tour revient pour une seconde édition aux portes de la Bretagne.

Et cette fois, le cycle de conférences ayant déjà proposé un programme en lien avec les thématiques chères aux entreprises nantaises en 2012, il sera question du futur ! PHP a célébré ses 20 ans en 2015, mais ne s’endort pas pour autant sur ses lauriers. Le langage a le regard obstinément tourné vers l’avenir et le programme du PHP Tour 2017 reflète cette vivacité : les conférences vont couvrir le large spectre de PHP. Du cœur de PHP (“Opcode ? Mais à quoi ça sert ?” de Benoît Jacquemont) aux applications les plus inattendues (assistant d’envoi de mails avec “My slack bot speaks PHP” de Gilles Felix), des normes (“PSR : quoi, pourquoi, comment ?” de Julien Janvier) à la créativité (patrons de conception innovants), du concepteur au sysadmin, les premiers talks annoncés confirment le dynamisme du langage. Les retours d’expérience seront également nombreux, et comme toujours, quelques invités internationaux, comme Julien Pauli (core dev de PHP) et Juliette Reinders Folmer (Architecte PHP) nous feront le plaisir de venir partager leur expérience avec la communauté.

La billetterie vient également d’ouvrir : nous rappelons à nos visiteurs que les derniers events AFUP se sont déroulés à guichet fermé, annonçant complet plusieurs jours, voire plusieurs semaines, à l’avance… Réservez rapidement si vous souhaitez nous rejoindre !

Alors n'attendez plus pour vous rendre sur le site de l'événement PHP Tour 2017 et de consulter le programme de qualité et de nous

la suite...

Hello Design 2017-04-22T13:24:35+02:00

Les tests dans Programmez

couverture programmez 206, avril 2017 Pour ce numéro d'avril 2017, le magazine PROGRAMMEZ, propose un dossier spécial "Spécial Tests logiciels".



Ce dossier couvre de nombreux sujets, avec plusieurs articles :

Ah les tests ! On les aime ou on ne les aime pas. Ils ont souvent une mauvaise réputation auprès des développeurs. Le moindre bug ou problème et l’utilisateur va dire que le développeur n’a pas fait son travail !... lire la suite

Par ailleurs, ce numéro publie de nombreux articles utiles comme :

  • Matériels
  • IDE
  • Les langages
  • Geekulture
  • Web
  • Vidéos
  • etc.



Pour ma part, j'ai signé l'article suivant :

"Les tests modernes"

Un test est une procédure de vérification partielle d’un ou plusieurs éléments dans la réalisation d’une application ou d’un logiciel, jusqu’à sa mise en production. Son...

lire la suite



Ainsi, vous verrez comment mettre en place des tests modernes dans un environnement d'industrialisation avec des frameworks, les CMS. Cela peut s'appliquer à tous les langages dont le PHP

Consulter le magazine Programmez 206 en ligne


Nicolas Hachet Nicolas Hachet 2017-04-16T21:59:34+02:00

Créer un site de vente en ligne avec Shopify

Vous avez surement vu, l’e-commerce explose… Le chiffre d’affaire des commerces en ligne est en constante augmentation depuis les débuts d’Internet. Quelque soit le type d’articles que vous proposez à la vente, lancer votre propre boutique en ligne vous rend accessible à de nombreux nouveaux clients potentiels. Voici quelques pistes pour bien débuter dans l’e-commerce Continue Reading

Cet article Créer un site de vente en ligne avec Shopify est apparu en premier sur Blog PHP de Nicolas Hachet.

Gerald's blog Gerald's blog 2017-04-15T10:20:34+02:00

Migration du site

Ce pauvre blog a été laissé à l’abandon depuis quelques (nombreuses) années. Cet abandon est probablement du fait que mon quotidien s’est éloigné de son sujet principal qui était à l’époque PHP, mais paradoxalement, malgré le manque d’activité (et les … Continuer la lecture
Remi Collet Remi Collet 2017-04-14T09:10:25+02:00

Ma station de travail PHP

Je vois régulièrement passer des questions sur l'utilisation d'anciennes versions de PHP sur Fedora (qui fournit la 7.0) ou de versions plus récentes sur RHEL / CentOS (qui fournit la 5.4).

Un développeur utilisant PHP a souvent besoin de tester son travail avec plusieurs versions. Donc voici un petit descriptif de la station de travail que j'utilise quotidiennement

Système d'exploitation : Fedora 25 Workstation x86_64 (mais les exemples fonctionnent aussi sur RHEL ou CentOS 7)

Dépôts tiers : rpmfusion (pour écouter de la musique en travaillant) et évidement remi

# wget http://rpms.remirepo.net/fedora/remi-release-25.rpm
# dnf install remi-release-25.rpm
# dnf config-manager --set-enabled remi

Pour RHEL ou CentOS, lisez les instructions de l'assistant de configuration.

 

Installation des versions de PHP

J'utilise les Software Collections qui permettent d'installer plusieurs versions en parallèle sans toucher au système de base, les versions de PHP 5.4, 5.5, 5.6, 7.0, 7.1 et 7.2 sont disponibles dans mon dépôt, donc:

# yum install  php54 php54-php-fpm php54-php-mbstring php54-php-mysqlnd ...
# yum install  php55 php55-php-fpm php55-php-mbstring php55-php-mysqlnd ...
# yum install  php56 php56-php-fpm php56-php-mbstring php56-php-mysqlnd ...
# yum install  php70 php70-php-fpm php70-php-mbstring php70-php-mysqlnd ...
# yum install  php71 php71-php-fpm php71-php-mbstring php71-php-mysqlnd ...
# yum --enablerepo=remi-test install  php72 php72-php-fpm php72-php-mbstring php72-php-mysqlnd ...

Les utilisateurs de RHEL peuvent aussi utiliser les SCL officielles disponible dans le canal RHSCL (php54, php55, rh-php56 et rh-php70).

Les utilisateurs de CentOS peuvent aussi utiliser les SCL, maintenues par le SIG, disponibles dans le dépôt centos-sclo-sclo.

 

Configuration de l'environnement Web

PHP FastCGI Process Manager

Je n'utilise pas mod_php qui n'autorise qu'une seule version du module, mais FPM.

Je ne suis pas en production mais sur une station de développement, donc afin de limiter la charge, je modifie la configuration de chaque FPM pour utiliser le mode "ondemand". J'utilise aussi un port réseau différent pour chaque version

Example, pour PHP 7.0, dans le fichier /etc/opt/remi/php70/php-fpm.d/www.

la suite...


Flux ATOM

Flux RSS
Twitter

Les sources

Ajouter une source ?

Envoyez un email avec l'URL du site et du flux à planetephpfr AT afup POINT org

Infos