Optimization de mon LAMP

20 07 2008

Une chose est d’avoir une machine (plus ou moins) puissante pour gérer un LAMP1, une autre est d’optimizer son fonctionnement. En effet, si un LAMP basique peut traiter un certain nombre de conexions simultanées, optimiser la configuration de ce même LAMP permet de servir ces requètes plus rapidement, ou d’en servir un plus grand nombre.

Je compte ajouter quelques améliorations à mon LAMP dans les jours et les mois qui suivent, et les indiquerai dans ce post. Lire la suite »

  1. LAMP est l’acronyme de Linux, Apache, MySQL, P(HP|erl|ython), qui sont les éléments classiques présents sur un serveur web. []


Créer un répertoire au nom unique

12 06 2008

Parfois, Linux, c’est trop facile… Dans mes pérégrinations concernant la conception d’un site web, j’ai découvert les UUID. Disons que comme tout le monde, j’en avais déjà vu, sans savoir que ça avait un nom… Grossièrement, UUID signifie Universally Unique IDentity, donc la génération de chaînes de caractères qui sont virtuellement uniques, car pour créer toutes les possibilités qu’il existe avec les critères de ces chaînes, il faudrait des dizaines d’années aux serveurs de Google pour les générer toutes… Et vous n’avez qu’une très très TRÈS faible idée de la puissance de calcul des serveurs de Google1.

Bref, pour créer des répertoires uniques dans mon arborescence de site web, je lance la commande suivante:

mkdir `uuidgen`

Cela génère des noms de répertoires comme ceux-ci

377ac448-6045-45b3-835c-cba31bae253c
fc9c47e9-2a55-4187-87e8-28ce7980773b
a74f0763-1ff5-4647-ac2a-4fb2402a045e
9b177b39-b982-4e3d-821a-0f58a182a5cb
876bf731-94a0-4f8c-8c76-67af224b401d
f80d6f76-aff5-44aa-bfb3-bb4e871034cc
10039ffd-a64b-436e-85ba-ee34cd2ff168
373fb540-06a7-4339-a02b-ac99a199e6a8
601c2020-3d11-4128-a5db-e6eafcf616f6
9e3abc5f-7f6a-4f1c-8e49-11f6cef5c7c8
f8982762-f542-45b0-bfcf-7dfa1d171679
9b2bdad4-6a3e-43b1-a821-2b4e9d3fdbe9
da845575-aae1-42a1-8e44-87f9ded2dfe4

Remarquez les guillemets qui n’en sont pas. Sur un clavier français, c’est Alt-Gr + 7. Sur un Belge, Alt-Gr + µ.

Pour que cela marche, vous devez avoir libuuid, qui fait partie de e2fsprogs.

  1. Un simple petit exemple. YouTube, qui appartient à Google, possède une fonction permettant de télécharger n’importe quel vidéo au format PSP/IPod. Et bien la conversion des vidéos se fait en live sur le serveur lorsque vous le demandez. Leurs serveurs sont capables de convertir n’importe quelle vidéo de YouTube en MP4 en quelques secondes, ce qui prendrait plusieurs minutes sur n’importe quel PC normal []


Un hack de malade!

5 06 2008

Alors que je cherchais des modules Ajax, ou un framework qui m’aide sous PHP, je suis tombé sur un truc de malades. Un petit script pas idiot du tout permet de vérifier via un serveur web la liste des sites “sociaux” que le visiteur a consultés récemment. En vérité, il vérifie si vous avez visité une liste de sites prédéfinie.

Le but de cela? En fin de chaque message, sur mon blog, vous avez un petit lien qui permet de poster le permalien de cet article sur l’un ou l’autre site social. Facebook, Digg, ou d’autres. Mais le fait est que si vous n’allez jamais sur certains de ces sites, le lien en question ne sert à rien. Donc pourquoi ne pas se limiter à n’afficher que les liens vers les sites que vous fréquentez souvent?

L’astuce consiste à créer une petite iframe dans laquelle on place un lien vers chacun des sites de la liste. Ensuite, on ajoute une micro feuille de style qui masque ou affiche les liens selon qu’ils soient visités ou non par la personne… Enfin, il suffit de vérifier si le lien vers un certain site est affiché ou non, via un script, et voilà. Le tour est joué.

L’idée n’est pas stupide… Après tout, quand une liste de liens est affichée sur une page web “normale”, à l’ancienne, le lien est bleu si l’on est jamais allé sur le site lié, et violet si il a déjà été visité! Il suffisait (ahem) de faire un script pour vérifier cela côté serveur.

Dans mon cas, je vais utiliser ce script, modifié, pour mon projet actuel… Cela me permettra de poser les bonnes questions à mes membres! En effet, pourquoi demander “Quel est ton pseudo sur Last.fm?” à quelqu’un qui n’y a jamais mis les pieds??? Le script est ici