Passage de la musique du jour sur Twitter

Depuis quelques temps j’ai pris l’habitude de publier des liens vers des morceaux de musique sur ce blog sans aucune critique, selon mon humeur du moment. Il s’agit majoritairement de classiques du Rock et du Punk.

Ce contenu, bien qu’intéressant, encombre mon blog et son flux RSS, couvrant par sa fréquence les articles plus construits et pertinents.

Le micro-blogging me semblant un format plus adapté, je publierais désormais les musiques du jours depuis via mon compte Twitter. Ceci ne signifie pas l’abandon de la partie musicale de ce blog, je compilerais peut-être mes musiques préférées dans des billets moins réguliers et critiquer quelques disques, livres et autres créations à l’occasion. (Et non je ne passerais pas sur identi.ca tout de suite :-P)

J’en profite pour annoncer la refonte prochaine de ce blog. Elle comprendra une nouvelle chartre graphique, la mise en avant du dit Twitter et de mes marques pages partagés via del.icio.us, l’intégration de quelques autres services externes (Gravatar, MyBlogLog, …) ainsi que l’implémentation de microformats.

Pour continuer à recevoir les musiques du jour, je vous invite donc à suivre mon compte Twitter ! Les impatients peuvent toujours consulter mon profil Last.fm.

Ne fermez pas vos tags à la fin des fichiers PHP

Pendant que NikO nous présente ses conventions de codage, parlons d’une autre bonne pratique concernant les tags de délimitation de blocs en PHP.

Le langage PHP n’impose pas de fermer un bloc de code avec ?> si se bloc se trouve tout à la fin du fichier, et pour cause, mieux vaut l’omettre dans les fichiers susceptibles d’êtres inclus par d’autres !

Prenons ce bout de code :
date.php

Notez bien la ligne blanche après le tag de fermeture. Et maintenant :

redirige.php

Catastrophe ! C’est la très pénible erreur Warning: Cannot modify header information – headers already sent by… qui s’affiche.

PHP a envoyé la ligne blanche (\n) de notre fichier date.php au navigateur, avec les en-têtes HTTP qui vont bien. Impossible d’ajouter de nouveaux en-têtes ni de rediriger l’utilisateur une fois que le début du corps de la requête a été envoyé.

Il faut savoir que certains éditeurs de texte ajoutent automatiquement un retour charriot à la fin des fichier lors de leur création ou de leur enregistrement.

Otez les ?> à la fin de vos classes, bibiliothèques et tout autres fichiers qui seront inclus par d’autres. Même si votre éditeur n’a pas se malheureux comportement, ce n’est peut-être pas le cas de ceux de vos collègues, des contributeurs du projet sur lequel vous travaillez… ou que vous utilisez.

PHP et ses tags

Il existe plusieurs manières de délimiter les blocs de code en PHP :

  • <?php et ?> (les tags standard)
  • <? et ?> (leur version courte)
  • <?= et ?> (équivalent de <?php echo et ?>)
  • <% et %> (style ASP)
  • <script language="php"> et </script> (style HTML)

Parmi tous ces tags, seul le couple <?php et ?> est générique et recomandé. Les tags de style HTML sont dépréciés et peu communs tandis que que les autres sont dépendants de la configuration de PHP et peuvent ne pas être disponibles.  Le code PHP contenu dans des blocs délimités par des tags non standards risque tout simplement de ne pas être exécuté et d’être affiché à l’écran sur certains serveurs !

Afin d’éviter tout problème leur de la distribution ou du déploiement de vos scripts, bannissez l’utilisation des formes de tags différentes de <?php et ?>.

Plus de bonnes pratiques ? PHP Talks !

Venez défier ma brute !

La brute c’est le nouveau buzzgame de Motion Twin, et c’est très drole !

Créez votre avatar, gagnez de l’expérience en combattant des adversaires et en invitant des “disciples” !

Et quand votre personnage se repose, vous pouvez revoir les combats célèbres !

Via NiKo !

[MdJ] The Sonics – Have love will travel

The Sonics – Have love will travel

[MdJ] Bill Haley – Rock around the clock

Bill Haley & His Comets – Rock around the clock

Faire fonctionner PHP mail() sous Debian et dérivés

Peut-être avez-vous remarqué que l’envoi de mail en PHP ne fonctionne pas après une installation standard de Debian ou de Ubuntu. Pourtant, Debian fournie le serveur de mail exim qui fait partie de la base du système.

Le problème est que la configuration initiale d’exim l’empêche d’envoyer des mails vers l’extérieur. Le remère est des plus simple :

  1. Tapez connecté en tant que root dpkg-reconfigure exim4-config (sudo dpkg-reconfigure exim4-config sous Ubuntu).
  2. Choisissez comme type de configuration Envoi via relais (« smarthost ») – réception SMTP ou fetchmail
  3. Entrez l’adresse du serveur SMTP de votre fournisseur d’accès à internet pour Nom réseau ou adresse IP du sysème « smarthost »

Vous pouvez sélectionner les paramètres par défaut proposé pour les autres options.

Cela suffira pour activer l’envoi de mail avec PHP sans se soucier de la configuration complète d’un MTA. Les emails envoyés avec la fonction mail() arriveront même sur les boîtes Hotmail (qui nécessite une configuration particulière du serveur) car notre serveur local transmettra juste la demande d’envoi au serveur de notre FAI.

Si vous souhaitez installer un véritable serveur de mail sur votre serveur je vous conseil de jetter un oeil à Postfix.

[MdJ] Cindy Lauper – Girls Just Want To Have Fun

Cindy Lauper – Girls Just Want To Have Fun

6 plugins Symfony indispensables

Écrit en PHP, orienté objet, implémentant le design pattern Moèle-Vue-Controlleur, doté de nombreuses fonctionnalités et soutenu par Yahoo! : Symfony, le framework web développé par Sensio Labs, à tout pour plaire.

L’une des forces de ce framework est la disponibilité de nombreux plugins qui permettent d’étendre ses fonctionnalités. On y trouve du bon et du moins bon, de l’utile comme du futile. Pour vous aider à bien démarré vos projets Symfony et vous faire gagner du temps lors de vos développement, j’ai sélectionné pour vous quelques plugins indispensables, que vous devriez installé dès les prémices du développement.

sfGuard

C’est le plus connu de tous les plugins Symfony. Il permet une gestion fine des utilisateurs ainsi leur authentification. Son utilisation est quasi-indispensable à tout déploiement de Symfony. De plus, c’est une dépendance d’autres plugins populaires tel que sfSimpleCMSPlugin ou sfSimpleForumPlugin.

sfThumbnailPlugin

Ce plugin permet tout simplement de générer des miniatures d’images uploadées. Indispensable !

A voir aussi, ce bout de code qui permet d’utiliser sfThumbnailPlugin avec le générateur d’admin.

sfFeed2Plugin

Avec sfFeed2Plugin générés des flux RSS et Atom à partir de vos modèle. Rapide à mettre en œuvre, il offre un service utile à vos visiteurs et qui ravie les robots des moteurs de recherche qui indexent votre site.

sfPropelActAsSluggableBehaviorPlugin

Ce plugin est destiné à l’ORM Propel qui est fourni par défaut avec Symfony. Il permet la génération automatique de slugs, c’est à dire d’identifiants descriptifs. Ces slugs sont très utiles au référencement car ajoutent à vos URLs des mots clefs pertinents. Autre avantage : ils masquent les IDs numériques de vos éléments et rend plus difficile à un pirate de découvrir l’architecture interne de votre application.

sfYzAjaxValidationPlugin

sfYzAjaxValidationPlugin ajoute une validation des formulaires côté client via AJAX. Il utilise les fichiers YAML définis côté serveur. Pas de code à écrire pour vous mais un gain de temps appréciable pour le visiteur (aucun rechargement de la page pour valider le formulaire) et une charge serveur réduite.

sfPropelSqlDiffPlugin

Avec Ruby On Rails et Django lorsque vous modifiez votre modèle, les changements sont répercutés sur la base de données. Ce n’est pas le cas par défaut avec Symfony, il faut effectuer les modifications à la main sur la base de données ou perde toutes nos données de test et ça devient vite très agaçant. Heureusement sfPropelSqlDiffPlugin est la ! Ce plugin ajoute quelques options à l’utilitaire en ligne de commande de Symfony et permet de répercuter uniquement les changements effectués dans le modèle sur la base de données.

[MdJ] BoLCHoï – Violence rouge et colère noire

BoLCHoï – Violence Rouge et colère noire