Derniers articles


Bien plus qu'un simple jeton

Il est souvent utile de générer des jetons (ou token en anglais) afin de sécuriser une action utilisateur, par exemple pour un mail de réinitialisation de mot de passe, s'assurer qu'un formulaire est bien soumis par la même personne que celle qui l'a demandé, ou encore pour identifier un utilisateur à l'aide d'un cookie. Nous allons voir ensemble comment générer un jeton non-aléatoire et unique qui en plus pourra contenir des données intéressantes pour notre application. Les exemples de code fournis sont en langage PHP mais ces concepts sont applicables à n'importe quel langage.
Le jeton que nous allons générer devra répondre aux trois critères suivants:

lire la suite

Auteur: Benjamin Delespierre - Dernière mise à jour: 11/12/13


JavaScript, le noeud du problème

Dans l'histoire des langages, peu ont autant déchainés les passions que JavaScript. Ses détracteurs lui reprochent son manque de cohérence, son typage faible, son acessibilité qui permet de faire tout et n'importe quoi. Ses adeptes lui reconnaissent souplesse, performance et adaptabilité. On parle beaucoup de JavaScript, surtout aujourd'hui, mais plus qu'un débat d'idées c'est une bataille rangée qui fait rage dans la communauté; personne n'aime juste "un peu" JavaScript, on adore ou on déteste.
Comme PHP, JavaScript à lui aussi longtemps souffert d'une communauté d'amateurs peu informés, renvoyant au public une image biaisée du langage et de ses possibilités. Certes il n'est pas parfait, mais ce qu'on fait de nos jours avec mérite notre attention et force parfois le respect.

lire la suite

Auteur: Benjamin Delespierre - Dernière mise à jour: 26/11/13


Codez avec style !

Utiliser une convention de codage est indispensable pour faciliter la (re)lecture de vos codes source. Quand on est débutant on tâtone, on a tendance parfois à oublier l'indentation ou à dépasser largement la taille de l'écran. C'est généralement en déboguant son application et en fouillant méthodiquement son code qu'un développeur se rend compte que celui-ci n'est pas optimal en terme de lisibilité et donc de compréhension. On se surprend donc souvent à refactorer le code afin de le rendre lisible, clair.
Avec de l'expérience, chaque développeur finit par adopter un style qui lui est propre mais il n'est pas rare non plus que les conventions de codage vous soient imposées par l'entreprise dans laquelle vous travaillez. Depuis 5 ans que je travaille dans le web, j'ai fini par peaufinner ma propre convention que je partage avec vous aujourd'hui.

lire la suite

Auteur: Benjamin Delespierre - Dernière mise à jour: 02/08/13


50 question critiques concernant votre site web

En me prommenant tranquillement sur Internet™, je suis tombé par hasard sur Les 50 question critiques concernant votre site web. Ces question, énoncées par Kevin M. Keating, sont selon moi très pertinentes, même si beaucoup d'entre-elles on l'air d'aller de soi. J'ai remarqué en les lisant que je suis passé à coté de pas mal de chose importantes - pourtant évidentes - lors de la conception de mon site personnel.
Histoire que ça profite aussi au non-anglophones, je vous en ai fait la traduction:

lire la suite

Auteur: Kevin M. Keating, Benjamin Delespierre - Dernière mise à jour: 01/08/13


PHP fait n'importe quoi avec les closures

Rappel pour ceux qui dormaient au fond. L'une des avancées majeures de PHP 5.3 était la mise en place des closures, très injustement appellées fonctions anonymes dans le manuel PHP, qui permettent de définir des fonctions à la volée à l'aide d'une syntaxe proche de celle de JavaScript.
L'avantage marteau de la closure par rapport aux fonctions annonymes et aux objets invoquables (voir la méthode magique __invoke) c'est qu'elle est capable de conserver des références de la porté dans laquelle elle est définie.

lire la suite

Auteur: bdelespierre - Dernière mise à jour: 31/07/13


On vous a menti

La prolifération des sites d'e-learning autours des technologies web, bien qu'étant un formidable moteur d'intérêt pour ces technologies auprès du public, m'a toujours inquiété en raison de leur méthode d'aprentissage majoritairement didactique. On ne présente plus désormais des sites tels que nettuts ou Le Site du Zéro qui font du tutoriel un fond de commerce. Ces sites véhiculent selon moi une image biaisée de la programmation: celle d'une "recette de cuisine" réduisant la discipline à une série de problème connus et identifiés que quelques étapes apparemment toutes bêtes permettent de déjouer.
Grâce à eux depuis environ dix ans, on croise ça et là au détours des forums ou des chats des amateurs, toujours plus nombreux, visiblement perdus lorsqu'il s'agit de sortir du cadre de ces tutoriels. Si vous êtes un habitué des communautés de développeurs, vous savez de quoi je parle.

lire la suite

Auteur: bdelespierre - Dernière mise à jour: 13/05/13


PHP, Injection de dépendances et composants

Les développeurs sont par nature assez paresseux, s'ils peuvent réutiliser des fonctionnalités existantes pour se simplifier la vie ils le font en règle générale. C'est encore mieux si ces fonctionnalités leurs sont fournies directement par des librairies ou par l'API du langage. Ne pas réinventer la roue est un concept qui revient souvent en programmation, en effet, si la solution à un problème posé existe déjà, il est inutile voire absurde de dépenser du temps et de l'énergie à fournir une autre solution.
Il n'est donc pas étonant que, très tôt dans l'informatique, les langages offrants ces fonctionnalités génériques soient rapidement devenus populaires. De nos jours, la vaste majorité des langages offrent nativement des fonctionnalités élémentaires pour afficher du texte, manipuler des données ou la mémoire ainsi que des fonctionnalités plus évolués généralement liées à la nature du langage en question.

lire la suite

Auteur: bdelespierre - Dernière mise à jour: 23/04/13


PHP, bonnes et mauvaises pratiques

Au vu de la quantité de tutoriels PHP de piètre qualité malheureusement propulsés en tête des résultats des principaux moteurs de recherches, il m'apparait essentiel de faire le point sur les bonnes pratiques et les erreurs à éviter en PHP.
Avant toute chose, sachez qu'il n'y a aucune manière connue de l'homme de produire un code parfait, l'expérience seule vous apprendra les erreurs à éviter. Il existe cependant quelques cas d'école que vous vous devez de connaître.

lire la suite

Auteur: bdelespierre - Dernière mise à jour: 20/03/13


La POO en PHP en 10 minutes (ou moins)

Si vous avez vécu sous un rocher dans une grotte sous une montagne au fin fond du Jura ces 40 dernière années et n'avez jamais entendu parler de programmation orientée objet, je vais tenter de vous faire un rapide résumé.
La programmation orientée objet est l'évolution la plus significative dans le monde de l'informatique depuis l'invention du transistor. Bien qu'elle ait été théorisée dans les années 60, son implémentation correcte devait attendre 2004 pour voir le jour en PHP. Il s'agit d'une approche différente (mais complémentaire) de la programmation impérative, à la fois plus souple, plus puissante mais surtout plus naturelle. Le concept de base est de créer une structure qui va permettre de rassembler à la fois des données et des traitements.

lire la suite

Auteur: bdelespierre - Dernière mise à jour: 19/03/13


De l'usage correct des closures en PHP

Cet article a pour objet de vous verser dans l'art d'utiliser les closures, l'une des nouveautés les plus utiles de PHP 5.3. Il s'adresse à des développeurs chevronnés, au fait de la programmation orientée objet en PHP.
Je ne reviendrai pas sur les concepts de fonction, de référence ou de portée des variables ni sur le paradigme objet. Vous avez à votre disposition d'autres cours pour ça.

lire la suite

Auteur: bdelespierre - Dernière mise à jour: 19/02/13


Réseau



Populaire


Tweets