Liste des articles pour le tag : Php

postheadericon Symfony2 FOSUserBundle select locale on login and set it in session

As you may known since Symfony2.1 the locale is stored in the request.
Therfore in order to set/change the local, the most convenient way is to do it with the url.
See : Symfony documentation

I wanted somthing more hidden for the user.
I wanted the locale stored inside the user profile and set-up at the login time.
I am also using FOSUserBundle to handle the user management.

Here is how I did.

Lire la suite...

postheadericon CLI en Php avec Phar et Symfony2

La réalisation de script Shell peut rapidement venir un art. Surtout lorsque l'on veut aller plus loin que la simple manipulation de fichiers.

Il devient alors parfois plus simple d'utiliser des scripts avec un langage de programmation (Perl, Python, Php...)

Dans le cas présent, l'objectif est de réaliser une application :
- écrite en Php
- exécutable en ligne de commande (CLI)
- découplée en MVC
- et le tout pouvant être déployé dans un seul fichier

Le format Phar

Depuis la version 5.2, Php propose un moyen similaire aux archives JAR de java : les archives Phar.

Les archives Phar permettent de mettre dans un seul et même fichier toute une application php (aussi bien les fichiers php que les fichiers css, javascripts, images ...).

Les archives ainsi générées sont comme des fichiers php et restent donc exécutables sur un serveur web ou dans le cas présent par l'interpréteur cli de php.

Composants Symfony2

Nous essayerons tant que possible de nous appuyer sur des composants Symfony2 pour réaliser cette tâche.

Lire la suite...

postheadericon Tracer le temps de connexion des utilisateurs via Google Analytics

Il m'a été demandé récemment, dans le cadre du développement d'une interface d'administration, d'envoyer quotidiennement un email de reporting.

Cet email devait contenir, entre autres, pour chacun des utilisateurs connectés, le temps effectivement passé sur le site.

Il m'a semblé alors intéressant d'utiliser Google Analytics car il est capable de calculer cette information de manière relativement précise.

Trois étapes sont nécessaires :
- mettre en place une variable personnalisée (Google Analytics) pour extraire les données spécifique à un utilisateur donné
- Se connecter à Google Analytics en Php
- Récupérer le temps de connexion lié à la variable personnalisée précédemment mise en place.

Lire la suite...