Archives mensuelles : juin 2009

Utilisation d’un système de cache

Le système de cache permet de stocker des données de façon à les rendre accessibles très rapidement. En général, ces données sont souvent utilisées en lecture et rarement en écriture.

Dans cet article nous allons mettre en place un système de cache pour une liste d’utilisateurs. Ce système chargera cette liste depuis la base de données toutes les heures afin de s’assurer que le cache est bien à jour et lira le fichier de cache le reste du temps.
Cette fonctionnalité nous permet limiter les accès à la base de données, et surtout accélérer la vitesse de chargement de la liste.[…]

Testez les articles en ligne

Suite à la demande d’un lecteur intéressé (Axel DOUX, pour le citer), j’ai le plaisir de vous annoncer que vous pouvez dès à présent tester les articles écris sur ce blog directement en ligne.

Faire un interrupteur avec Mootools

Interrupteur On/OffCet article peut paraître d’un intérêt limité et en effet, je l’écris suite à une demande formulée par un lecteur de ce blog qui crée un site pour un électricien.

Cet article nécessite l’utilisation d’un addon Color de Mootools.

La classe Mootools à utilisé pour réaliser cet interrupteur a été développée par mes soins. Vous pouvez la télécharger, la modifier et l’utiliser comme bon vous semble.[…]

Envoyer un formulaire par Ajax avec Mootools

Aujourd’hui nous allons voir comment envoyer un formulaire grâce à l’AJAX avec le framework javascript Mootools. Nous allons créer dans un premier temps 2 pages PHP, une qui contiendra le formulaire et l’autre qui affichera uniquement la réponse. Ensuite nous mettrons en place notre Javascript qui capturera l’évènement submit du formulaire pour envoyer une requête AJAX à la place.
[…]

preg_match VS preg_replace

Après lecture d’un titre comme celui là il est normal de se demander ce qu’on peut comparer entre preg_match et preg_replace. En effet, ces deux fonctions PHP n’ont pas le même but : preg_match test si une chaîne de caractères réponds à un modèle (ou pattern) alors que preg_replace remplace le modèle trouvé par une autre valeur.

La question que je me suis posé est la suivante : Est-il plus interressant d’utiliser preg_match ou preg_replace pour convertir une date MySQL en format Français ? (2009-12-13 01:45:00 => 13/12/1988 01:45:00)
[…]

Configuration des erreurs

Pour tout site en développement il est interressant de voir rapidement les erreurs rencontrées par PHP ou toutes les librairies que vous utilisez. Voir les erreurs « en live » sur le site permet de rapidement les analyser et donc de les conriger.

Un problème apparait lorsqu’un site est mis en ligne (et donc à la merci des pirates). L’affichage d’une erreur donne énormément d’informations quant à une faille probable. Ces erreurs peuvent indiquer l’utilisation d’une librairie spéciale et spécialement sa version. Et connaître la version d’une librairie permet surtout de définir l’ensemble des bugs ou failles qui ont été corrigés dans des versions postérieures.

Un exemple qu’on croise assez souvent c’est les erreurs de requête SQL joliment offert aux pirates :

Unknown column 'iid' in 'where clause'
SELECT id,login FROM user WHERE iid=1

Notons que cette erreur nous donne la table utilisée pour séléctionner un utilisateur. On peut aussi voir apparaitre la structure (une partie au moins) de cette table.

Pour limiter la vitesse d’action des attaquants, il est important de leurs fournir le moins d’informations possible. Et donc de ne pas afficher les erreurs directement sur le site.
[…]

Configuration générale de PHP

Lorsque vous installez un nouveau serveur avec Apache et PHP, vous n’avez pas forcément les fichiers de configuration configuré comme il le faudrait. Cette article n’a pas pour prétention de vous donner la solution à tout, mais séléctionnez dans les configurations ci-dessous celles qui vous semblent importantes.

Vous trouverez ci-dessous une liste des fonctionnalités et la valeur conseillée concernant la configuration générale de PHP.
[…]