Suite à mon post sur l’installation de NGINX avec le support de PHP5, il est intéressant de voir comment faire ce qu’on fait le plus souvent avec un .htaccess sous Apache : de l’url rewriting.
Installer NGINX avec PHP5
Je me suis récemment plongé dans la problématique d’installer un serveur avec nginx et PHP (en plus d’un SGBD très light, exit mysql donc). Ici je me suis concentré sur le fait d’utiliser fastCGI pour spawn le service PHP5 et forwarder les requetes faites à NGINX pour des fichiers PHP vers fastcgi_php. Attention , ce n’est pas la solution la plus efficace mais c’est celle que j’ai testé en premier. Je devrais publier bientot un tuto pour php5-fpm d’ici quelques temps.
Récupérer les coordonnées GPS depuis une adresse
Petit snippet de code afin de récupérer des coordonnées GPS depuis une adresse. Le code va aller interroger Google Maps et récupérer le résultat le plus probant, et retournera ses coordonnées GPS, très pratique dans le cadre de custom metabox WordPress
WordPress Flickr Manager 3.0.1
WordPress Flickr Manager, dont j’avais déjà fait un portage / correction ici, n’est plus disponible sur les dépôts WordPress depuis peu. Pire la dernière version qui a jamais été disponible publiquement était la version 2.X alors qu’une version 3.0 & 3.0.1 sont sorties.
Comment faire pour récupérer la dernière version me dirais vous ? Simple :
- Rendez vous sur le dépot miroir sur github
- Téléchargez le plugin via le bouton « ZIP » ( ou cliquez ici)
- Désactivez le plugin dans wordpress
- Ecrasez les fichiers en envoyant le tout avec votre logiciel de FTP favori
- Réactivez le plugin
Voila, normalement le plugin conserve toute les options y compris la connexion à l’api flickr. Cette mise à jour apporte le support avec les dernières versions de WordPress mais aussi de nouveaux modes d’affichage des images (y compris la méthode native WordPress), mais aussi la possibilité de mettre un lien vers la photo flickr d’origine, le partage des photos sur les réseaux sociaux, …
Sélectionner des données dans des arbres en jQuery
Le besoin du jour rencontré dans le cadre de mon travail chez absolu payment est d’avoir une méthode de sélection multiple de donnée dans une liste, depuis un arbre de données.
Ne pouvant utiliser <optiongroup> puisque bien que le W3C encourage les user agents à supporter une version imbriquée (nested) en pratique aucun navigateur ne supporte cela à ce jour, impossible donc d’avoir une balise autre que <option>.
Découverte après quelques recherches du très bon plugin intégré plus ou moins à bootstrap, chosen, malheureusement celui ci se base sur une implémentation à base de <optiongroup> et l’on retombe vite sur les mêmes problématiques.
Autre option plus ou moins satisfaisante, passer par des select boxs multiples, générés dynamiquement, avec un plugin jQuery très bien fait. Possible mais écarté du fait de l’encombrement que va vite prendre cette solution si l’on veux pouvoir sélectionner plusieurs éléments.
Après quelques recherches supplémentaires, je tombe sur le plugin jstree qui permet de manipuler un arbre de données (typiquement ce que j’ai en termes de structure de données et qui semble parfaitement convenir à mes besoins, d’autant que celui ci supporte :
- Un flux d’entrée en JSON, XML ou HTML
- Du multi-checkbox
- La possibilité d’internationaliser les champs affichés
SocialSharePrivacy , plugin jQuery
Précédemment je vous ai parlé des problématiques de cookies qui surviennent ses derniers temps en Europe. Et nous avons découvert quelques solutions pratiques, généralistes.
Cependant, on peut aussi voir la problématique d’un point de vue confidentialité. En effet, comme on l’as vu , les réseaux sociaux comme Google+, Twitter & Facebook tracent notre activité via les boutons de partage. Et en tant que distributeur de contenu, éditeur de site, etc … nous souhaitons peut être permettre à nos lecteurs de faire le choix de se faire “fliquer” ou non; de ne pas leur imposer cela par défaut.
Dans cette optique, j’ai découvert récemment le plugin jQuery SocialSharePrivacy qui permet d’afficher une version désactivée des boutons Twitter, Facebook & Google+ , que l’utilisateur pourra activer via un interrupteur. A ce moment là le (ou tous) “vrai” bouton de partage est chargé et l’utilisateur peut l’utiliser comme d’habitude. De plus un cookie est enregistré pour se rappeler du choix de l’utilisateur d’activer tel ou tel bouton de partage sur votre site (oui sinon ça deviendrais vite chiant). Et comme c’est une action utilisateur qui déclenche l’enregistrement du cookie, les nouvelles restrictions que l’on à vu précédemment ne s’appliquent pas. Elle est pas belle la vie ?
Bon donc voila, je vous faire découvrir le plugin mais vous vous rendez compte que tout est en allemand. Comme la licence est une MIT, je me suis dit que je pourrais faire un fork en anglais / français et le proposer librement, sous cette même licence. Mais bon, seulement si certains d’entre vous y manifestent un intérêt certains, sinon … Donc n’hésitez pas à me dire si cela vous intéresse en commentaire.
EDIT : Apparement il existe deja une version anglaise sur github
Histoire de Cookie
En application de la directive européenne 2009/136/CE transcrites dans plusieurs pays européens (dont la Grande-Bretagne, la France & le Luxembourg) il va être obligatoire de demander à l’internaute sont consentement pour stocker tout cookies qui aurait pour autre finalité que stocker les préférences linguistiques, la mémorisation d’un mot de passe, la résolution d’une video visionné en ligne, un cookie flash ou la mémorisation d’un panier d’achat.
Concrètement la commission européenne souhaite limiter les possibilités de stocker des cookies tierce partie ; qu’ils soient de réseaux sociaux (via la bouton twitter, like de Facebook, +1 de Google, …) ou de régies publicitaires (doubleClick, AdSence, …) et oblige donc les éditeurs de site internet de demander expressément à l’internaute d’autoriser l’implantation de cookie. Ce choix étant mémorisé via un cookie … Comble de l’ironie non ? Surtout quand on pense aux nombreux internautes qui ont pris la bonne habitude de supprimer leurs cookies à la fin de leur session de surf & qui devront donc encore et toujours reconfirmer leur choix …
Solution Coté Éditeur
Il existe deja des scripts comme cPrompt pour afficher un message à l’internaute, stocker la réponse dans un cookie s’il n’as pas déjà répondu et afficher les éléments qui vont stocker des cookies dans son navigateur s’il l’autorise. Cependant cela souffre de graves problèmes d’UX. Qui n’as jamais pesté lorsqu’il arrive sur un site et se mange une pop-up / disclamer avant d’accéder au contenu ?
Solution Coté Navigateur
Il y a aussi un autre problème selon moi, ce réglage devrait être le fait du navigateur, pas de l’internaute. Pleins de navigateurs permettent deja de choisir entre :
- Accepter tout les cookies
- Accepter les cookies du site mais pas les cookies tiers
- Refuser tout les cookies
Et en plus ils gèrent des listes d’exception. Il suffirait donc de revoir un peu l’interface qui permet de jouer avec ses réglages, comme en facilitant la possibilité d’ajouter des exceptions à la volée.
Responsabilité des services tiers
Et concernant les cookies tiers, il me semblerais juste que ce soit au service tiers de requérir l’autorisation de l’internaute de placer des cookies. Cela permettrais de ne pas requérir sur chaque site l’implantation de cookies tiers d’un même service tiers, mais aussi de simplifier l’application de la loi.
Mini FAQ
Cette loi est elle donc mauvaise ?
En soit non, c’est une belle avancée dans la protection de la vie privée des internautes, il est juste regrettable de voir que sur l’autel de la sécurité on sacrifie l’expérience utilisateur (et qu’une fois de plus on préfère légiférer plutôt qu’éduquer un minimum les gens).
Qu’encoure t on ?
Dans les pays où le délais impartit à l’application du dispositif, comme la Grande Bretagne, il vous en coutera £500 000 d’amende. En France comptez €300 000 , mais rassurez vous le délais de mise en place n’est pas encore dépassé.
Est ce applicable ?
Personnellement je pense que non. Comme toute lois qui tente de contraindre les Internets, il ne faut pas oublier que le cadre des lois est difficilement mondial, alors que les Internets le sont. Contraindre une partie des Internet n’as pas de sens en soit et est quasi impossible.
Est ce contournable ?
Je crois entrevoir une possibilité de contournement de la loi, via notamment ce qui est appelé un « cookie flash ». En effet Flash gère lui même ses cookies dans un espace sandboxé en dehors du navigateur. Ainsi si vous supprimez les cookies de votre navigateur, les cookies flash persistent. Ce n’est pas la seul technologie qui fait cela, Silverlight en fait autant, Java aussi il me semble. Quoi qu’il en soit en autorisant les cookies flash, il suffira aux éditeurs de passer sur ce genre de solutions pour contourner la loi, ou sur bien pire.
Plus d’infos
Fedora : Rhythmbox et fichiers audios
Depuis mon installation fraiche de Fedora je n’ai jamais réussis à lire des fichiers audio avec rhythmbox. Pourtant GStreamer est bien présent. Jusque maintenant j’utilisais VLC mais ce dernier à décider de ne plus fonctionner de manière optimum. Je me suis donc penché sur mon pb de codec non présent bien que GStreamer m’assurais le contraire
scrollTo() jQuery sans plugin ?
Aujourd’hui j’ai eu besoin de me passer du (apparemment seul) plugin qui permet de faire un .scrollTo(position) en jQuery pour la simple et bonne raison qu’il plante avec ma méthode de détection de Chrome et du numéro de version.
(oui j’arrive à détecter chrome / safari indépendamment et leur version, et non « webkit »)
Ni une ni deux quelques recherches sur internet et me voilà qui bricole un script jQuery natif, qui n’utilise pas de plugin et qui permet de lancer un scroll de l’utilisateur pour l’amener à une position précise de la page, le tout avec une animation.
Voici donc ce que cela donne, j’ai volontairement zappé la structure de la page dans ce code, puisque c’est simplement pour vous montrer comment j’ai procédé, de même qu’il ne faudra pas oublier d’initialiser jQuery & jQuery UI et de faire tourner le bout de code après un $(document).ready() hein
























AlbSpirit: Bonjour merci pour le tuto moi j'ai un souci la sh ./ati-driver-insta...
clawfire: @Laymain clawfire effectivement, bien vu ... je ne sais pas ou j'avais...
HugoPoi: Merci pour cette astuce, voici une version allégé : http://jsfiddle.ne...
Laymain: clawfire Heu... non, tu peux rajouter ton "easing" mais sinon il ne ma...
clawfire: Merci à toi....