17/04/2014 - FAQ PHP

18 réponses à quelques unes des questions les plus fréquemment relevées sur différents forums concernant le langage PHP.

12/03/2013 - FAQ Linux/Unix

66 réponses à quelques unes des questions les plus fréquemment relevées sur différents forums concernant les systèmes Linux et Unix.

14/12/2012 - Apache : la réécriture d'URL

J'ai toujours voulu consacrer un article à la fonctionnalité incontournable qu'est la réécriture d'URL pour Apache. Il faut cependant admettre que c'est un sujet très difficile à aborder tant il est technique et tant il est complet. Il y a en effet beaucoup de choses à dire pour couvrir de manière correcte ce vaste sujet. J'espère remplir cet objectif au travers du présent document par une description technique abordable, complétée de différents cas pratiques courants.

30/04/2012 - PHP et UTF-8

Je pressens des personnes penser "encore un article sur php et l'utf-8", certes mais combien sont incomplets ? Plus grave, ceux que j'ai déjà pu parcourir, ici et là, laissent à penser qu'il suffit de convertir sa base et son script pour que ça fonctionne : grave erreur, c'est loin d'être aussi simple notamment pour la simple et bonne raison que PHP est très particulier. Certaines de ses extensions fonctionnent avec un jeu précis quand d'autres fonctions impliquent un travail au niveau de l'octet (ce qui est bien entendu faux avec de l'UTF-8 qui peut en nécessiter jusque 4 pour coder un point de code). Il est donc important de prendre conscience de ce que l'on ne doit plus utiliser, par quoi les remplacer (quand c'est possible) et des différentes limites.

Par ailleurs, c'est une chose de dire ce qu'il faut, ou non, faire mais il en est une autre d'expliquer pourquoi. Comment, sinon, comprendre où est son erreur pour ne pas la reproduire ?

28/04/2012 - PHP : cookies et sessions

Cookies et sessions : deux moyens totalement différents, mais intimement liés, d'associer et mémoriser des informations à chaque utilisateur entre chacune de ses requêtes.

Découvrez leur usage et comprenez leur fonctionnement dans les moindres détails pour que ces éléments clé n'aient plus aucun secret pour vous.

23/02/2012 - FAQ du serveur HTTP Apache

28 réponses à quelques unes des questions les plus fréquemment relevées sur différents forums concernant le serveur HTTP Apache.

31/01/2012 - Activation de Packet Filter sur les systèmes BSD

La prise en charge de Packet Filter varie de façon significative d'un système à un autre. Cet article a pour but de détailler la mise en oeuvre de PF sur les différents systèmes BSD.

18/01/2012 - PHP 4 et 5 : l'extension ZIP

Le format ZIP fait indéniablement partie des standards en matière de compression. Il mérite donc que nous nous y attardions au travers d'un article d'autant plus que son support varie d'une version de PHP à une autre.

09/11/2011 - PDO, mode d'emploi

De premier abord l'extension PDO peut sembler complexe. Voilà un préjugé bien loin du compte : PDO est en réalité une extension bien plus simple et riche que d'autres.

L'abstraction que procure l'extension PDO, qui ne se limite certes qu'à l'API des SGBD - ne demandez pas l'impossible non plus à vouloir qu'elle concerne le SQL, en fait d'autant plus un outil incontournable.

22/06/2011 - Utilisation de la bibliothèque libxml2 en C

La bibliothèque libxml est très riche en fonctionnalités, par conséquent le but de cet article n'est pas de toutes les découvrir mais d'aborder les fonctions usuelles : parser un document XML aussi bien avec DOM qu'avec SAX, utiliser XPath ou encore valider un document.

10/03/2011 - Travailler avec Unicode en C : présentation de la bibliothèque ICU

ICU est une bibliothèque C/C++ et Java, à l'initiative d'IBM. Portable et libre de surcroît, elle offre un support inégalé d'Unicode : casses, conversions d'encodage, collations, expressions régulières, formatages divers, ...

Elle est interfacée dans de nombreux logiciels libres comme PHP (extension intl), SQLite ou encore certains projets d'Apache.

24/11/2010 - Installation d'un environnement FAMP (FreeBSD, Apache, PHP, MySQL)

Voyons comment installer le nécessaire pour transformer votre FreeBSD en un environnement de développement complet pour PHP. Pour cela nous utiliserons au maximum les caractéristiques de ce système et notamment le catalogue de logiciels portés.

Ce tutoriel se veut littéralement libre puisqu'aucune version du serveur Apache, de la base de données MySQL ou encore de PHP ne vous est imposée. La description de leur installation concerne le plus large éventail de versions possibles pour s'adapter aux besoins de chacun.

15/10/2010 - Reformater la sortie générée par PHP

Tout le monde ne travaille pas avec des méthodes qui permettent la production d'un code HTML humainement lisible. Les petits projets, notamment, n'en valent pas la peine et il deviendrait vite pénible d'ajouter des espaces, autres \t, \r, \n, ... dans ses echo, sans parler de leur maintenance ou de toute évolution.

C'est pourquoi, je présente deux solutions portables et très rapides à mettre en place, basées sur tidy, afin d'obtenir du code HTML (ou XML) lisible pour la phase de développement.

04/01/2010 - Simplifier la configuration d'Apache à l'aide du module mod_macro

Cet article s'adresse aux administrateurs de serveurs Apache maintenant ou pouvant, à terme, maintenir une configuration longue et redondante sur certains aspects en leur proposant le module mod_macro comme solution de facilité, du fait, comme son nom l'indique, du système de remplacement à la volée (macro, opéré à la lecture des fichiers de configuration) qui vient enrichir le fonctionnement d'Apache.

Depuis la version 2.4.6, mod_macro est désormais inclus avec Apache.

19/02/2009 - Intégrer la géolocalisation à Apache 2 sous Linux

Connaître la situation géographique des clients possède plus régulièrement un but statistique. Or, il peut s'avérer utile de pouvoir prendre en compte cet élément au niveau de la configuration du serveur même, ainsi que par les langages exécutés au niveau du serveur.

06/12/2007 - PHP : l'extension cURL

La bibliothèque cURL permet de communiquer facilement avec de nombreux types de serveurs applicatifs en parlant le même langage que celui-ci. Ce langage est défini par ce qu'on appelle un protocole dont les plus connus sont sans aucun doute HTTP et FTP. L'extension cURL permet d'interagir en PHP avec tous ces protocoles que nous employons de manière quotidienne sans avoir à gérer la connexion ou encore sans se soucier de la manière dont il faut écrire la requête ou en recevoir la réponse.

01/12/2007 - FreeBSD : confinement de processus par emprisonnement (jails)

Une jail (ou prison en français) est un système de confinement de processus qui permet d'exécuter un processus dans un sous-environnement virtuel complet qui n'a pas accès au système principal. En emprisonnant les programmes peu sûrs, les risques de compromission sont donc limités.

Cet article, destiné à FreeBSD 5.0 et versions supérieures, vous aidera à mettre en place un tel confinement comprenant une étape facultative : la possibilité de lui limiter l'espace disque en l'enfermant dans un fichier.

03/11/2007 - Inotify : monitorer un fichier ou un répertoire

Inotify, fonction intégrée au noyau depuis la version 2.6.13, fournit un moyen simple et efficace pour être notifié de diverses actions effectuées sur un fichier ou un répertoire. Elles vont de la simple ouverture à son déplacement.

Je vous propose donc de découvrir cette fonctionnalité et de la mettre en oeuvre à l'aide de l'API C, côté utilisateur, fournit par glibc.

29/10/2007 - Packet Filter : les tables

Que sont les tables ? Pourquoi et comment les utiliser ?

Celles-ci sont utilisées par certains programmes externes pour interagir avec Packet Filter afin de traiter différemment de nouvelles adresses sans avoir à relire les règles. Vous vous rendrez vite compte de leur intérêt en les mettant à profit par exemple pour la constitution de listes noires (ou blanches) dynamiques.

15/01/2007 - Mise en place d'une passerelle d'authentification à l'aide de authpf

Une étude du shell authpf : applications, mise en place, interaction avec Packet Filter au moyen d'une ancre. Le tout agrémenté de quelques exemples simples.