Utiliser l’API PHP de Facebook

Logo Facebook Facebook a effectué quelques changements dernièrement au niveau de l’interaction avec son site. La plus intéressante est la possibilité d’accéder aux informations à travers l’API graph.

Selon cette approche, chaque objet est representé par un identifiant unique et on peut accéder aux propriétés d’un objet en invoquant l’URL https://graph.facebook.com/ID qui renvoit des informations sous format JSON. Il est également possible d’accéder aux personnes et pages par leur nom d’utilisateur.

Tous les objets sont connectés via des relations et peuvent être consulté à travers l’URL https://graph.facebook.com/ID/CONNECTION_TYPE en fournissant un jeton d’accès valable.

Voici donc une explication de comment accéder à ces informations.

Lire la suite

Utilisation d’un LIMIT dans une sous-requête avec MySQL

Si vous avez déjà essayé d’utiliser un LIMIT dans une sous-requête vous avez très certainement rencontré ce message ci:

This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery’

Heureusement, il y a la possibilité de contourner cela selon une astuce similaire à celle présentée dans un article précédent.

Lire la suite

Forcer la mise à jour d’une image avec le caching

Si vous avez déjà implémenté un petit script d’upload d’images en PHP vous avez peut être remarqué que l’image ne se met pas à jour lorsque incluse dans une page HTML. Cela est du tout simplement au mécanisme de caching que comporte la majorité des navigateurs web. L’astuce suivante vous permettra de forcer l’affichage de manière sélective sans modifier les headers.

Lire la suite

Suppression de tout sauf un doublon dans une table

Pour un site j’ai implémenté une table pour faire lien entre l’id d’un profil et celui des utilisateurs qui visitent ce profil.

id int(10) UNSIGNED Non Aucun AUTO_INCREMENT
profile_id int(10) UNSIGNED Non 0
visitor_id int(10) UNSIGNED Non 0
date_visited timestamp Non CURRENT_TIMESTAMP

M’étant limité à une requête qui créé une paire ou qui mets à jour un timestamp si l’enregistrement existe, je me suis rendu compte que celle-ci ne se comportait pas comme prévu et produisait des doublons. En attendant de corriger celle-ci, il me fallait donc trouver une solution pour nettoyer la table en enlevant tout sauf un doublon pour chaque paire.

Lire la suite

Maintenir une liste d’adresses emails indisponibles

Contrairement à un serveur SMTP, la fonction mail de PHP ne supporte pas la confirmation à la réception ce qui rend difficile la tâche de déterminer si une adresse est valide. Certains hébergeurs comme OVH renvoient périodiquement une liste d’adresses produisant des erreurs (boite indisponible, adresse inconnue…). Voici comment constituer un script pour traiter ce genre de liste.

Lire la suite