planetePHP.fr
Kévin Dunglas (Lapin Blanc) Kévin Dunglas (Lapin Blanc) 2017-06-23T11:43:35+02:00

[Slides] Dive Into Symfony 4

Here are the slides I presented yesterday during the Lille’s Lille’s Symfony meetup:

Symfony 4 is all about making the developer life easier. You liked using SF for large and robust apps, you’ll love using it for your next MVP, prototype or small project.

This presentation was followed by a live coding session (not recorded, unfortunately).

AFUP AFUP 2017-06-23T00:00:00+02:00

Visionnez les talks du PHP Tour 2017 que vous avez manqués

Regardez les conférences que vous avez manquées, ou revoyez celles qui vous ont particulièrement plu ! Vous n'étiez pas des nôtres ? Après visionnage de ces vidéos, on parie que vous aurez envie de nous rejoindre pour notre prochain événement, le Forum PHP 2017 ! 

Toutes les conférences du PHP Tour 2017, ainsi que celles de nos événements précédents, sont accessibles sur notre page "Conférences".

Cette année encore la captation et le montage ont été assurée par notre partenaire dFUSION, qui se charge avec talent de cette mission. Merci à eux pour le boulot, et pour la rapidité de livraison ! 

Remi Collet Remi Collet 2017-06-22T11:00:16+02:00

Microsoft SQL Server depuis PHP

Voici un petit récapitulatif des différents moyens d'utiliser une base de données Microsoft SQL Server depuis PHP, sous Linux.

L'ensemble des tests ont été réalisés sous Fedora 23 mais devrait fonctionner avec RHEL ou CentOS version 7.

Extensions testées:

 

1. Utilisation de PDO, ODBC et FreeTDS

Composants nécessaires:

  • Bibliothèque freetds et extension pdo_odbc
  • PHP version 5 ou 7
  • Paquets RPM: freetds (EPEL), unixODBC, php-pdo, php-odbc

Configuration du pilote ODBC

Le fichier /etc/odbcinst.ini doit contenir la déclaration du pilote:

[FreeTDS]
Description=FreeTDS version 0.95
Driver=/usr/lib64/libtdsodbc.so.0.0.0

Configuration de la source de données

Le fichier /etc/odbc.ini (système) ou le fichier ~/.odbc.ini (utilisateur) doit contenir la déclaration du serveur utilisé

[sqlsrv_freetds]
Driver=FreeTDS
Description=SQL via FreeTds
Server=sqlserver.domain.tld
Port=1433

Vérification de la connexion en ligne de commande

$ isql sqlsrv_freetds user secret
SQL> SELECT @@version
Microsoft SQL Server vNext (CTP1) - 14.0.1.246 (X64)
    Nov  1 2016 23:24:39
    Copyright (c) Microsoft Corporation
    on Linux (Red Hat Enterprise Linux)
SQLRowCount returns 1
1 rows fetched
SQL> quit

Connexion depuis PHP

$ php -r '
echo "+ Connection\n";
$pdo = new PDO("odbc:sqlsrv_freetds", "user", "secret");
echo "+ Query\n";
$query = $pdo->query("SELECT @@version");
if ($query) {
    echo "+ Result\n";
    $row = $query->fetch(PDO::FETCH_NUM);
    if ($row) {
        print_r($row);
    }
}
'
+ Connection
+ Query
+ Result
Array
(
    [0] => Microsoft SQL Server vNext (CTP1) - 14.0.1.

la suite...

Remi Collet Remi Collet 2017-06-22T08:45:17+02:00

Paquets PHP suplémentaires pour RHSCL

Point de situation sur les dépôts officiels fournissant les Software Collections de PHP pour les utilisateurs de RHEL et de CentOS.

Depuis la publication de RHSCL 2.3, les utilisateurs de RHEL peuvent installer PHP 5.6 ou PHP 7.0 sans altérer leur système en utilisant le canal approprié.

Ces paquets sont aussi disponibles pour les utilisateurs de CentOS dans les dépôts SCL, géré par le groupe d'intérêt SCLo (SCLo SIG) :

# yum --enablerepo=extras install centos-release-scl

Le project CentOS fournit donc l'infrastructure et l'hébergement de 4 dépôts:

  • centos-sclo-rh : fournissant le même contenu que RHSCL
  • centos-sclo-sclo : fournissant des collections supplémentaires maintenues par la communauté
  • centos-sclo-rh-testing : fournissant les paquets à tester (version beta de RHSCL)
  • centos-scl-sclo-testing : fournissant les paquets à tester maintenus par la communauté

Les utilisateurs de RHSCL souhaitant utiliser les paquets supplémentaires peuvent configurer le dépôt centos-sclo-sclo en utilisant le dépôt Copr centos-release-scl :

# cd /etc/yum.repos.d/
# wget https://copr.fedorainfracloud.org/coprs/rhscl/centos-release-scl/repo/epel-7/rhscl-centos-release-scl-epel-7.repo
# yum install centos-release-scl

Si vous êtes intéressés par ces paquets, je vous recommande de suivre la liste de diffusion sclorg@redhat.com ou sont discutés les éventuels problèmes et annoncées les évolutions. Merci d'utiliser cette liste pour vos retours (paquets en test) et toute autre demande. Les nouveaux contributeurs sont aussi les bienvenus.

Information et documentation sur https://www.softwarecollections.org/.

Le développement est suivi sur le git de sclorg-distgit.

Pour information, voici les paquets supplémentaires disponibles dans centos-sclo-sclo le 23 février 2017:

#   Paquet Version Distribution Remarques
 

la suite...

AFUP AFUP 2017-06-21T00:00:00+02:00

Carton plein pour l'appel à conférences

Afin de pouvoir dévoiler un programme au début de l'été, l'équipe AFUP s'était lancé un pari : un appel à conférences express, d'une durée d'un mois maxi. Le risque de ne pas avoir suffisamment de sujets soumis pour établir un programme existait, mais autant le dire, il a payé !

Les speakers du monde entier ont relevé le défi : une centaine de conférencier.e.s ont soumis des sujets, et c'est près de 190 sujets qu'il nous faut maintenant éplucher pour établir le programme du Forum PHP 2017.

L'équipe est déjà en train de plancher dessus, et dévoilera la majorité du programme le 3 juillet. En attendant, prenez votre place au tarif Early Bird : passée cette date, les places passeront au tarif de croisière, de 175€ à 275€. 

AFUP AFUP 2017-06-14T00:00:00+02:00

La billetterie du Forum PHP est ouverte... et elle évolue !

Mais la hausse des coûts généraux nous oblige à changer quelques lignes de fonctionnement de notre billetterie…
Après étude des nouvelles habitudes de réservations, nos événements annonçant désormais sold-out de plus en plus tôt, retrouvez désormais un calendrier en 3 temps :

  • Une période “Early Bird”, où vous faites confiance les yeux fermés à l’AFUP : réservez votre place sans connaître le programme ! Le tarif ne bouge pas : 150 euros les deux jours pour les membres AFUP, 250 euros les deux jours pour le plein tarif. 
  • Une période “tarif de croisière” : après la publication du programme, les tarifs augmentent de 25 euros pour tous types de visiteurs. Le tarif “membre AFUP 2 jours” passe à 175 euros, et le plein tarif “deux jours” à 275 euros. 
  • 6 semaines avant le Forum PHP 2017, on passe en tarif “Late Bird”: avis aux retardataires, les tarifs augmentent encore de 50 euros ! Le tarif “membre AFUP 2 jours” est fixé à 225 euros, et le plein tarif “deux jours” passe à 325 euros. 

Ces augmentations nous permettront de continuer à assurer le niveau de qualité d’accueil de nos visiteurs face à des coûts croissants, sans pour autant -nous l’espérons- toucher de trop près au budget des développeurs et des entreprises.
Profitez des meilleurs tarifs, et réservez au plus vite votre place pour les 26 et 27 octobre, à Paris.

Nicolas Hachet Nicolas Hachet 2017-06-08T16:47:02+02:00

Quels outils pour développer en PHP sous Windows ?

Les outils liés à la conception et aux développements informatiques sont légions. La composition de son environnement de travail  est très importante puisque de la performance des outils dépendent la productivité et l’efficacité du développeur. Que vous ayez déjà vos outils ou que vous soyez en recherche des vôtres, cet article liste les principaux outils que Continue Reading

Cet article Quels outils pour développer en PHP sous Windows ? est apparu en premier sur Blog PHP de Nicolas Hachet.

Kévin Dunglas (Lapin Blanc) Kévin Dunglas (Lapin Blanc) 2017-06-08T13:59:35+02:00

API Platform 2.1 Feature Walkthrough: Create Blazing Fast Hypermedia APIs, Generate JS Apps

The new UI of API Platform 2.1

API Platform is a framework designed to make the creation of API-based information systems easier. It provides server-side tooling to create modern hypermedia and Linked Data APIs in just a few minutes. This new version introduces client-side tools to bootstrap Single-Page Applications using ReactJS by consuming the autogenerated documentation of the API.

Six months after the release of API Platform 2, I’m very excited to announce the immediate availability of the first beta of API Platform 2.1!

The changelog is huge, more than 200 commits by dozens of developers have been merged. I think we can say that this release will be great!

Let’s review the most interesting new features. If you just want to try it, the demo has been upgraded to use this new version and you can download it on GitHub.

A ReactJS-based Admin System

API Platform automatically exposes API documentations respecting the Hydra (W3C) and Swagger/Open API open standards. We created a dynamic administration system built on top of the awesome Admin On Rest library that takes advantage of the Hydra format.

Just with this line of code

<HydraAdmin entrypoint="https://demo.api-platform.com"/>
, you will get the following result:

la suite...

Adrien Gallou Adrien Gallou 2017-06-06T02:00:00+02:00

Réécrire Capistrano en une demi-journée

Introduction

Capistrano est un outil de déploiement. Depuis maintenant 4 ans nous l’utilisons chez Decitre pour déployer 3 de nos applications / sites. Après ces 4 ans d’utilisation, nous avons rencontré différents problèmes qui nous ont amenés à reconsidérer l’utilisation de cet outil : nous utilisons maintenant Ansible pour effectuer nos déploiements.

Nous utilisons Capistrano sur 3 projets : deux projets Symfony utilisant capifony (qui utilise la version 2 de Capistrano), et un projet Magento utilisant la version 3 de Capistrano.

Limites de Capistrano

Capifony et Capistrano 2 ne sont plus maintenus

Depuis 2015, capifony n’est plus maintenu. Capifony surchargeait une stratégie de déploiement permettant de builder les assets en local : la stratégie “copy”. Celle-ci a pour avantage de préparer les sources localement avant de les envoyer en production : il n’y a donc par exemple pas besoin de node ou ruby sur les serveurs de production, seulement sur le serveur de déploiement. De plus, ces étapes de build n’ont besoin d’être effectuées qu’une seule fois : autant éviter de les lancer sur chaque serveur de production. Avec Capistrano 3 cette stratégie n’est pas intégrée en standard, et aucun plugin (tels que xuwupeng2000/capistrano-scm-gitcopy ou wercker/capistrano-scm-copy) ne nous a paru, au moment de nos tests, satisfaisant.

Les déploiements de Capistrano n’étaient pas atomiques par défaut

Dans ses versions antérieures, Capistrano n’avait pas de déploiements atomiques, c’est un sujet qui a été abordé dans de nombreuses issues. Nous utilisions la version 3.2.1 de Capistrano, qui n’effectuait pas de déploiement atomique. Nous avons dû modifier la tâche deploy:symlink:release afin que celle-ci le soit. Cela a été corrigé dans la version 3.3.3 de Capistrano via cette pull request.

A noter que sur Ansible, le lien symbolique est posé de façon atomique et que nous n’avons pas eu de hack à effectuer. Cette limite n’en était donc plus une, nous aurions pu mettre à jour Capistrano (mais celle-ci n’était pas une des raisons principales du changement).

la suite...

Kévin Dunglas (Lapin Blanc) Kévin Dunglas (Lapin Blanc) 2017-05-31T13:44:48+02:00

Upcoming conferences and meetups: Web2Day, ChtiJS and sfPot Lille

I’ll speak at some conferences in June:

Here is the abstract of the API Platform talk (in french but slides will be in english):

Au cours de ce talk, je présenterai comment créer très facilement une API web de qualité, une webapp (SPA) et une app mobile à l’aide du framework Open Source API Platform (PHP).

API Platform permet d’exposer une API REST (niveau 3) 100% fonctionnelle juste en décrivant son modèle de données ou en l’important depuis Schema.org.

Nous découvrirons réaliserons sans effort une API supportant :

  • les opérations REST (lecture et écriture)
  • la validation de données
  • la pagination
  • les tris et les filtres
  • une documentation Swagger générée automatiquement et une interface graphique d’administration
  • un système de gestion de droit utilisateur
  • un mécanisme de cache HTTP par invalidation
  • la négociation de contenu
  • l’imbrication de documents

De plus, notre API supportera directement les formats hypermedia modernes tels que JSON-LD, Hydra et HAL qui facilitent l’intéropérabilité des systèmes (Linked Data, web sémantique).

Grâce à Docker, notre API se lance en un instant et peut être déployée en un instant dans les “clouds”.

Une fois notre API construite, nous utiliserons les outils fournis par API Platform pour générer une interface d’administration complète, une SPA et une app mobile basés sur React JS grâce à la description hypermedia de l’API.


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