PHP

Extraire des informations du DOM en php

Il arrive que l’on soit amené à rechercher des informations dans un fichier HTML ou XML. Si on parcourt des pages web à la recherche d’une information précise, telle qu’une adresse email par exemple, il va falloir extraire cette information du reste du code de la page. On peut faire cela principalement de deux manières : soit en utilisant les expressions rationelles, soit en utilisant le dom xpath de PHP. Cette dernière solution s’avére très puissante et efficace, surtout si l’on sait où se trouve l’information dans le DOM, elle aura aussi l’avantage d’être plus rapide – autant en vitesse d’exécution qu’en temps de développement.

(suite…)

Détecter les requêtes ajax en php

Pour diverses raisons, on peut avoir besoin de savoir si une requête http provient d’un chargement de page classique, ou d’une requête ajax. Une variable serveur va nous permettre de trouver facilement la réponse.

// Vérification AJAX
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) 
&& strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
  // on effectue un traitement spécifique pour l'ajax
}

else {
  // on effectue un traitement spécifique au chargement classique
}

Cependant, il y a des cas où cette variable n’est pas présente, cela dépend de votre serveur. Plus de détails sur stackoverflow [en].

Automatiser son backoffice avec Paypal IPN

Paypal possède une grande notoriété et je ne vous le présenterai donc pas. C’est un bon choix d’intermédiaire pour récolter des paiements sur son site internet. Qu’il soit seul ou couplé à une solution bancaire, Paypal est devenu indispensable. Seulement, Paypal propose une multiplicité de moyens d’intégration sur son site. Du bouton HTML à l’API NVP, il est parfois difficile d’automatiser son backoffice. De l’envoi d’un email de confirmation de commande à la synchronisation de sa base de données clients, l’automatisation est plus pratique – et efficace – que d’attendre les mails de confirmation paiement de Paypal et d’agir manuellement.

(suite…)

Connexion Facebook et plus avec le PHP SDK

On est d’accord, en tant qu’internaute, se créer un compte sur un énième site en entrant son pseudo, son email et son mot de passe, c’est chiant. C’est pourquoi beaucoup de sites proposent la connexion par Facebook en un clic. Comment met-on ça en place ? Vous allez voir, c’est hyper simple !

(suite…)

Créer et afficher des graphiques à la volée

On dit d’une illustration qu’elle vaut 1000 mots. L’extension GD de php permet de manipuler des images, et avec un peu de pratique, vous pouvez très bien créer de superbes graphiques. Voici un article en anglais, qui vous expliquera en détail comment parvenir à créer des graphiques, en barre, en fromage…

Gardez cependant à l’esprit que GD consomme des ressources côté serveur, et que pour cette raison, il est bloqué sur les offres mutualisées de nombreux hébergeurs. Par ailleurs, javascript et le html5 offrent aujourd’hui la possibilité de créer des graph directement dans la navigateur du client. Ils auront même l’avantage d’être interactifs ! De très bonnes bibliothèques ont d’ailleurs été écrite à cet effet :

  • highcharts, très complet mais payant pour les projets à visée commerciale,
  • morris.js (licence BSD),
  • chartist.js qui se veut hautement configurable, 100% responsive et customizable via css. Smashing magazine a consacré un article à chartist,
  • chart.js est une bibliothèque sous licence MIT qui permet de créer des graphs directement en HTML5 canvas.

À vous de faire votre choix !

Synthèse de la POO en PHP

Ce post était jusque là en privé, juste pour mon usage personnel, et puis je me suis dit qu’il serait bête de ne pas en faire profiter les autres (c’est le but d’un blog non ?). Voici donc quelques rappels sur la POO en PHP. Bien que j’explique un peu les différentes notions, cet article est une cheatsheet sur la POO. Par conséquent, il n’est pas destiné à ceux qui n’en ont jamais fait (ils seront totalement perdus). En revanche, ceux qui connaissent déjà mais qui, comme moi, ont quelques trous de mémoire, vous pouvez bookmarquer cet article !

(suite…)

Installer et configurer PHP pour Apache2

Apache et PHP ont déjà quelques années de vie conjugale. Et comme tout couple qui dure, ils sont très complémentaires et savent se réinventer. Nous allons voir comment configurer php de deux manières différentes : en tant que module Apache, mod_php, et et en tant que serveur FastCGI via php-fpm.

(suite…)

Les petits secrets de MAMP

MAMP est un outil super pour développer web sur mac. Cependant, dans sa dernière version (Version 2.0.5), il a tendance à jouer un peu le rebelle. Bien souvent par exemple, le serveur MySQL ne veut pas se lancer. Ou encore, par défaut, il refuse de nous afficher les erreurs PHP. Voici en quelques lignes, comment faire rentrer la bébête dans le droit chemin.

(suite…)

php et la vidéo avec ffmpeg-php

FFMPEG php, à l’instar de FFMPEG, est le genre d’outil qu’on ne se lasse jamais de présenter. FFMPEG PHP offre des classes permettant de « discuter » en php avec FFMPEG. On peut donc récupérer toutes sortes d’info sur des vidéos, en extraire des images etc. En revanche, il n’est pas possible d’encoder directement d’un format à un autre avec FFMPEG PHP. Pour cela, il faudra passer par FFMPEG tout court.

(suite…)

Lumière sur les fetch modes de PDO

Si vous utilisez PDO, pour récupérer vos données après un select, vous faites peut-être tout simplement :

$pdo = new PDO('mysql:host=host;dbname=DBNAME', 'user', 'pass');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

while($mesDonnees = $maRequete->fetch()) {
  echo $mesDonnees['machin'];
}

// ou 

$mesDonnees = $maRequete->fetchAll()

foreach ($mesDonnes as $element) {
  echo $element['machin'];
}

Vous utilisez donc probablement la méthode de récupération par défaut, FETCH_BOTH. Sachez qu’il existe des tonnes d’autres méthodes pour récupérer ses données. À la fois plus efficacement et peut-être de manière plus adaptée à vos scripts que la méthode par défaut. Tout ceci est bien entendu disponible sur la doc officielle php. Mais si c’est un article clair et qui parle le langage de l’homme que vous cherchez, alors j’ai trouvé une petite série qui se chargera de rendre tout ceci limpide dans votre cerveau !

Bonne lecture.