planete-php.fr Articles Blogs Infos RSS Feed Atom Feed Twitter

Articles

Récupérer le nombre de followers sur Youtube en PHP

rootslabs 11/12/17

YouTube est un site web d’hébergement de vidéos. Pour le projet Datatlas, j’ai eu besoin de récupérer le nombre de followers de différentes chaînes.

Logo YouTube

Pré-requis

Comme pré-requis, on va utiliser le SDK de Google.

Pour cela, on va l’installer via Composer :

$ composer require google/apiclient

Vous pouvez le retrouver sur Packagist.

Créer une application sur la console Google APIs

Il faut tout d’abord créer une application sur la console.

Google APIs : Créer une application

Cela vous permettra de récupérer la clé API : on l’utilisera dans la suite de l’article dans la variable

$appDeveloperKey
.

Pour cette application, vous devez activer l’API YouTube.

Récupérer le nombre de followers d’une personne sur YouTube

Il faut récupérer l’objet « Channel » du profil utilisateur souhaité.

Pour une personne, l’identifiant correspond à la dernière partie de l’URL.
Ainsi pour accéder au compte utilisateur du CNES, l’identifiant est

CNESespace
pour l’URL
https://www.youtube.com/user/CNESespace
.

Pour une personne, il faut bien définir que l’on fait une recherche sur le nom d’utilisateur :

forUsername
.

Voir la suite

Fedora 27: changements dans httpd et php

Remi Collet 09/12/17

La configuration du serveur HTTP Apache et de PHP a été modifiée dans Fedora 27, voici quelques explications.

1. Bascule du serveur HTTP en mode event

Depuis l'origine de la distribution, le serveur utilise le MPM prefork.

Pour des raisons évidentes de performance, il a été décidé de suivre les recommandations du projet et d'utiliser event par défaut.

Ce changement est aussi nécessaire pour bénéficier du support complet du protocole HTTP/2 via mod_http2.

2. Le problème de mod_php

Le module mod_php est uniquement supporté quand le MPM prefork est utilisé.

Dans la documentation PHP on peut lire :

Avertissement : Nous ne recommandons pas l'utilisation de PHP dans un environnement threadé MPM, avec Apache 2.

Et effectivement, quelques rapports de bugs signalent des plantages dans cette configuration.

Il n'était donc pas raisonnable de conserver mod_php par défaut.

De plus ce module a d'autres limitations ennuyeuses :

  • intégré au serveur web, il partage son espace mémoire, pouvant entrainer des problèmes de sécurité
  • une seule version peut être chargée

3. Utilisation de FastCGI

Depuis plusieurs années nous avons travaillé à rendre l'exécution de PHP aussi flexible que possible, dans différentes configurations, fonctionnant sans changement de configuration :

  • httpd + mod_php
  • httpd + php-fpm (lorsque mod_php est désactivé ou absent et que le serveur php-fpm fonctionne)
  • nginx + php-fpm

L'utilisation de FPM est devenu la configuration par défaut recommandée pour une exécution propre de PHP :

  • support de multiples serveurs web (apache httpd, nginx, lighttpd)
  • isolation du frontal pour la sécurité
  • dorsaux multiples
  • architecture micro-services
  • fonctionnement en container (docker)
  • multiples versions de PHP

4. FPM par défaut

Depuis Fedora 27, mod_php ZTS (multi-thread) est toujours fournit, mais n'est plus activé, c'est donc FastCGI qui sera utilisé par défaut.

Pour ne pas casser les configurations existantes lors de la mise à jour, ou obtenir un serveur opérationnel dès l'installation, nous avons choisi de mettre en place quelques solutions, probablement de manière temporaire

  • Le paquet php a une dépendance optionnelle sur php-fpm qui permet son installation par défaut
  • le service httpd a une dépendance sur le service php-fpm qui permet son démarrage automatique

5.

Voir la suite

Paquets PHP suplémentaires pour RHSCL

Remi Collet 04/12/17

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 4 decembre 2017:

#   Paquet Version Distribution Remarques
 

Voir la suite

PHP en route vers la sortie de la version 7.2.0

Remi Collet 30/11/17

La version 7.2.0RC1 vient juste d'être publiée. C'est maintenant la phase de stabilisation qui commence pour les développeurs, et de test pour les utilisateurs.

Les RPM sont disponibles dans le dépôt remi-php72 pour Fedora  25 et et Enterprise Linux  6 (RHEL, CentOS) ainsi qu'en Software Collection dans le dépôt remi-safe (ou remi pour Fedora).

 

emblem-important-4-24.pngLe dépôt contient actuellement des versions en cours de développement qui ne sont pas destinées à être utilisées en production.

Lire aussi : PHP 7.2 en Software Collection

emblem-notice-24.pngInstallation : voir la Configuration du dépôt et choisir le mode d'installation.

Remplacement du PHP par défaut du système par la version 7.2 (le plus simple) :

yum-config-manager --enable remi-php72
yum update php\*

Installation en parallèle, en Software Collection de PHP 7.2 (x86_64 uniquement, recommandée pour les tests) :

yum install php72

emblem-important-2-24.pngÀ noter :

  • la version EL7 est construite avec RHEL-7.3
  • la version EL6 est construite avec RHEL-6.9
  • beaucoup d'extensions sont aussi disponibles, voir la page PECL extension RPM status.
  • suivre les commentaires pour les mise à jour jusqu'à la version finale.

emblem-notice-24.pngInformations, lire :

Paquets de base (php)

Voir la suite

Ma station de travail PHP

Remi Collet 28/11/17

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 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.conf

listen = 127.

Voir la suite

Récupérer le nombre de followers sur Vimeo en PHP

rootslabs 27/11/17

Vimeo est un site web communautaire destiné au partage et au visionnage de vidéos faites par les utilisateurs. Pour le projet Datatlas, j’ai eu besoin de récupérer le nombre de followers de différents utilisateurs sur ce réseau social.

Logo Vimeo

Pré-requis

Comme pré-requis, on va utiliser leur SDK.

Pour cela, on va l’installer via Composer :

$ composer require vimeo/vimeo-api

Vous pouvez le retrouver sur Packagist.

Créer une application Vimeo

Il faut tout d’abord créer une application sur le portail développeurs.

Vimeo : Créer une application

Après la création, il vous faudra aller sur la page « Authentication » pour récupérer trois variables :

  • $clientId
    : Client Identifier
  • $clientSecret
    : Client Secrets
  • $accessToken
    : Access Token

Récupérer le nombre de followers d’une compte Vimeo

Il faut récupérer l’objet « User » du compte souhaitée.

Pour une page, l’identifiant correspond à la dernière partie de l’URL.
Ainsi pour le CNES, l’identifiant est

cnes
pour l’URL
https://vimeo.com/cnes
.

Avec un peu de PHP, cela va faciliter les choses :

$oAPI = new \Vimeo\Vimeo($clientId, $clientSecret, $accessToken);

$user = $this->api->request('/users/'.$id);
if (isset($user['body']['metadata']['connections']['followers']['total'])) {
    $numFollowers = $user['body']['metadata']['connections']['followers']['total'];
}

A suivre

Ceci est une série d’articles permettant de récupérer le nombre de followers sur les différents réseaux sociaux :

Voir la suite

[SymfonyCon] API Platform and Symfony: a Framework for API-driven Projects

Kévin Dunglas (Lapin Blanc) 17/11/17

Here are the slides of my talk during the Symfony Con Cluj. You can rate this talk on joind.in.

Install API Platform. Design the API data model as a set of tiny plain old PHP classes. Instantly get:

  • Fully featured dev environment with Symfony Flex and React containers, HTTP/2 and HTTPS support and a cache proxy
  • Pagination, data validation, access control, relation embedding, filters and error handling
  • Support for modern REST API formats: JSON-LD/Hydra, OpenAPI/Swagger, JSONAPI, HAL, JSON…
  • GraphQL support
  • An API responding in a just few milliseconds thanks to the builtin invalidation based cache mechanism
  • A dynamically created Material Design admini interface (a la Sonata / EasyAdmin – but 100% client-side) built with React.
  • Client apps skeletons: React/Redux, React Native, Vue.js, Angular…
  • Finally, deploy in 1 command on Google Container Engine or any cloud with a Kubernetes instance with the provided Helm chart.

Yes, you just need is describing a data model, just a few line of codes to get all of that!

Récupérer le nombre de followers sur Twitter en PHP

rootslabs 13/11/17

Twitter est un réseau social de microblogage qui permet à un utilisateur d’envoyer des tweets limités à 140 caractères. Pour le projet Datatlas, j’ai eu besoin de récupérer le nombre de followers de différents utilisateurs sur ce réseau social.

Logo Twitter

Pré-requis

Comme pré-requis, on va utiliser le package TwitterOAuth.

Pour cela, on va l’installer via Composer :

$ composer require abraham/twitteroauth

Vous pouvez le retrouver sur Packagist.

Créer une application Twitter

Il faut tout d’abord créer une application sur l’accès Développeurs de Twitter.

Twitter : Créer une application

Après la création, il vous faudra aller sur la page « Keys and Access Tokens » pour récupérer quatre variables :

  • $consumerKey
    : Consumer Key (API Key)
  • $consumerSecret
    : Consumer Secret (API Secret)
  • $oauthToken
    : Access Token
  • $oauthTokenSecret
    : Access Token Secret

Récupérer le nombre de followers d’un compte Twitter

Il faut récupérer l’objet « User » du compte souhaitée.

Malheureusement, l’API Twitter ne permet pas de récupérer directement un compte souhaitée. Il faut passer par une recherche pour accéder à l’info du compte.

Pour un compte, l’identifiant correspond à la dernière partie de l’URL.
Ainsi pour le CNES, l’identifiant est

CNES
pour l’URL
https://twitter.com/CNES
.

$oAPI = new TwitterOAuth($consumerKey, $consumerSecret, $oauthToken, $oauthTokenSecret);

$users = $oAPI->get('/users/lookup', array(
  'screen_name' => $id
));
$user = reset($users);
$numFollowers = $user->followers_count;

A suivre

Ceci est une série d’articles permettant de récupérer le nombre de followers sur les différents réseaux sociaux :

Voir la suite

Soumettez un sujet, votez pour les talks du PHP Tour 2018

AFUP 13/11/17

Comme d’habitude, le PHP Tour est fait pour vous et par vous : l’appel à conférences n’attend que vos propositions. En PHP ou en Hack, avec un framework ou non, en HTTP ou HTTPS, en REST ou en GraphQL, en SQL ou en noSQL, avec du TDD ou du BDD, adepte du DDD, de CQRS ou d'Event Sourcing, avec ou sans serveurs, venez comme vous êtes ! Retours d’expérience ou réflexions académiques, vous trouverez un public ouvert et bienveillant, composé de débutant·e·s ou de profils plus expérimenté·e·s. Vous avez forcément quelque chose à leur faire partager.

Conférencier·e chevronné·e ou débutant·e, n'hésitez pas. Le PHP Tour, c’est la conférence du web, du PHP, et des technologies associées, par et pour la communauté. Que vous soyez dans une startup ou une multinationale, développeur·euse confirmé·e ou stagiaire, salarié·e ou freelance, architecte backend ou génie du frontend, votre expérience nous intéresse !

Nous proposons également un programme de mentoring grâce auquel vous pouvez bénéficier de l’aide d’un(e) orateur ou oratrice confirmé·e, qui peut vous accompagner tout au long de votre démarche, de la soumission du sujet jusqu'à votre talk. Avec des formats pour tous les goûts : 40 ou 20 minutes, plus d’excuse pour ne pas proposer. Vous avez jusqu’au 10 décembre pour soumettre vos sujets, alors au boulot !

Enfin, n'oubliez pas de votez pour les sujets que vous aimeriez voir :vos votes aiguillent nos choix et précisent vos attentes. Il vous suffit de vous connecter à votre compte Github pour pouvoir voter. 

Partage de connexion Internet en Wifi : problème « pas d’Internet » – Configuration APN

Nicolas Hachet 10/11/17

Lors du partage d’une connexion Internet via son téléphone portable, il est possible de rencontrer une erreur indiquant « Pas d’Internet » dans la barre de notifications Windows alors que la connexion Wifi a bien été effectuée. Je suis récemment tombé sur ce problème, voici donc la solution pour récupérer Internet via son smartphone. Étapes pour résoudre Continue Reading

Cet article Partage de connexion Internet en Wifi : problème « pas d’Internet » – Configuration APN est apparu en premier sur Blog PHP de Nicolas Hachet.

Blogs

Infos

Ajouter une source ?

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

Gestion

AFUP