Projets

One Day, One Picture – Partagez vos voyages en images

J’ai longuement hésité avant de partager cet petit outil sur lequel j’ai passé quelques heures dernièrement (un gros paquet d’heures en fait), mais je me suis finalement dit que ça pourrait être utile à certains… Je suis donc heureux de vous présenter One Day, One Picture 🙂

Le concept est très simple se résume avec l’image suivante :

Cliquer pour agrandir

Cliquer pour agrandir

Sur la partie droite de l’écran, la « timeline », où sont listées vos photos, datées et géolocalisées et sur le reste de l’écran (70%), une carte du monde avec des marqueurs correspondants à vos photos.

(suite…)

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email

La distribution de contenu avec Nginx et X-Accel

C’est la problématique du jour : comment distribuer du contenu à des utilisateurs tout en ayant la possibilité de limiter la bande passante au cas par cas, en fonction de leur niveau d’abonnement ?

Source : nginx.org

Source : nginx.org

Et oui souvenez-vous : mon projet de fin d’année (qui consiste en une solution dropbox-like) doit proposer différents niveaux d’abonnement aux clients, comprenant différents niveaux de stockage et de bande passante. J’ai mis du temps à chercher une solution pour limiter la bande passante des utilisateurs à la volée car j’avais plusieurs contraintes :

  • Les développeurs refusaient d’implémenter cette fonctionnalité côté code, ce que je comprends tout à fait. Cela n’aurait pas été très propre…
  • Les différents tutoriels proposés sur le web indiquent généralement comment brider la bande passante par IP, or cela ne me suffit pas.
  • Il faut aussi s’assurer que l’utilisateur ne puisse pas modifier sa bande passante. Ce qui impose d’éviter tout mécanisme côté client (au revoir cookies…).

Et après plusieurs mois d’acharnement, c’est finalement Nginx qui m’apporte la solution !

(suite…)

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email

LVS et haute-disponibilité sous Linux avec Keepalived

On poursuit nos tests et nos expériences en matière de répartition de charge et de haute-disponibilité sous Linux. Souvenez-vous, après vous avoir brièvement présenté LVS, nous l’avions mis en pratique pour répartir un flux HTTP sur deux machines.

Schéma LVS DR

Nous avions donc un service web capable de supporter de forts trafics, celui-ci étant réparti sur deux serveurs. Sauf que si l’un de ces deux serveurs venait à tomber en panne, notre directeur LVS continuerait bêtement à répartir le trafic à la fois sur la machine en bonne santé, mais aussi sur celle tombée…

Nous allons donc voir comment mettre en place un mécanisme de vérification afin que LVS soit au courant de l’état des machines vers lesquelles il redirige le trafic, notamment grâce à Keepalived.

(suite…)

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email

L’équilibrage de charge sous Linux avec LVS (mise en pratique)

Source de l'image : Wikimédia Foundation

Source de l’image : Wikimédia Foundation

Je continue mes expériences à propos de l’équilibrage de charge sous Linux avec LVS dans le cadre de mon projet de fin d’année. Après avoir un peu étudié la théorie LVS, il reste donc à mettre tout cela en pratique.

Vous allez voir qu’encore une fois nous allons utiliser des outils vraiment puissants, avec un gros potentiel et pourtant d’une simplicité d’utilisation déconcertante.

(suite…)

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email

L’équilibrage de charge sous Linux avec LVS (théorie)

Source de l'image : Wikimédia Foundation

Source de l’image : Wikimédia Foundation

Je continue mes expériences dans le cadre de mon projet de fin d’année, et je me penche aujourd’hui sur les machines qui vont héberger l’API du projet. Cette fois-ci pas de pratique mais juste un peu de théorie. L’article technique ne devrait pas tarder.

Ces machines sont au nombre de deux et proposeront simplement un service web fourni par le couple Apache / PHP (je rappelle que notre API est développée avec CakePHP). Comme indiqué dans le cahier des charges, la future infrastructure devra être en mesure de supporter des montées en charge importantes et un serveur seul ne suffira jamais à tout supporter, aussi puissant soit-il.

Ma problématique est donc : comment répartir la charge sur plusieurs serveurs ?

(suite…)

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email

[Projet] GlusterFS – Ajout et gestion des clients

GlusterFS Header

Suite au premier article où nous avions créé et démarré notre volume GlusterFS, je vous propose maintenant d’ajouter un premier client à notre infrastructure. Dans le cadre de mon projet, ce client n’est autre qu’un cluster Apache Actif / Actif hébergeant l’API du projet qui, je vous le rappelle, est détaillé par ici.

(suite…)

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email

[Projet] Le stockage distribué avec GlusterFS

GlusterFS Header

Cet article est le premier d’une longue série portant sur la réalisation de mon projet de fin d’année, que je vous présente ici. Je commence donc par la partie stockage de l’infrastructure, et après avoir posé la question sur le forum de linuxfr.org, mon choix s’est porté vers GlusterFS.

Voici donc comment j’ai configuré tout cela !

(suite…)

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email

[Projet] Peupler OpenLDAP à partir d’un fichier CSV

banner-script-php

Je continue sur ma lancée. L’annuaire LDAP a été mis en place sans trop de problème mais un annuaire vide… comment dire… ça ne sert à rien.

Le sujet de projet indique que je doit réaliser une maquette pour une entreprise de 100 personnes. Et si on créait 100 identités dans cet annuaire ? Oui mais comment ? Je n’ai pas l’imagination suffisante pour inventer 100 personnes… Et j’ai surtout autre chose à faire !

(suite…)

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email

[Projet] OpenLDAP, phpldapadmin et Nginx

Je poursuis mes aventures avec mon projet de fin d’année. Mon infrastructure de base étant prête, je peux passer à l’installation des différents services demandés. Le service de nom (DNS) est correctement configuré, on peut maintenant attaquer la gestion des utilisateurs avec un serveur OpenLDAP complet, administrable par phpldapadmin, lui-même propulsé par Nginx.

Mon but ici n’est pas de raconter l’histoire de ces projets ni ce qu’ils font mais d’avoir une trace écrite des différents étapes de l’installation de tout ce petit monde. Enfin l’ensemble est configuré pour fonctionner. Tout ce qui concerne la sécurité et les performances a été mis de côté. J’ai juste besoin d’un truc qui marchera le jour de ma soutenance.

C’est parti !

(suite…)

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email