# uname -a

samedi 14 décembre 2013

Ce que vous ne savez pas sur les mesures d'audience sur Internet

Les mesures d’audiences répondent à une problématique qui est ancienne. De tous temps, les créateurs de contenu ont cherché à savoir quelle était la valeur de ce qu’ils produisaient. Les artistes comptaient donc le nombre de personnes présentes à leur vernissage pour déterminer la cote de leurs créations, on mesurait les concerts publics à l’applaudimètre, et l’affluence d’un magasin au moment des soldes montrait l’impact de la marque sur son segment de marché.

De tous temps on a pu constater des failles au mécanisme de mesure d’audience : les invités qui viennent pour le buffet lors du vernissage, et non pas pour les œuvres, la faible précision de l’applaudimètre, etc.

Pourtant, ces statistiques sur l’audience des produits a petit à petit gagné la confiance des investisseurs, jusqu’à en devenir une référence qui ne mesurait plus simplement l’audience, mais aussi la pertinence. Un produit qui n’a pas une audience suffisante est jugé non pertinent, et est donc écarté du marché. Peu importe s’il est rentable ou non, puisqu’on vous a dit qu’il n’était pas pertinent. La sacro-sainte pertinence s’est alors couplée avec le concept de croissance, et la course à la mesure d’audience s’est engagée.

Mais les mesures d’audiences, comment ça marche ?

Lire la suite...

jeudi 5 décembre 2013

Way to the cloud : Sync directly all your Android contacts to OwnCloud without using bluetooth, memory card, or Google servers

It’s the first time I have an Android phone. I thougth that years of Android development was going to offer me anything I want. I thought that all the people concerned by their privacy on their phone have already provided workarounds to flee Google servers. I was wrong.

Some days ago, I wanted to sync all my contacts to my OwnCloud server.

After a few researches, I found that I could use the CardDAV facilities from OwnCloud to sync my contacts to my phone, via an application. Great ! But how can I send my existing contacts to OwnCloud ?

Android separates the intern contacts and the “synced” contacts and I couldn’t find the command to say “hey, copy all the existing contacts for syncing”. I couldn’t use bluetooth to send my contacts because my computer does not have a bluetooth adaptator. I don’t have a memory card to transfer all my contacts. I can’t figure out how to dump the contacts from the phone via USB. I don’t want to sync to Google to be able to download all my contacts and send them back to OwnCloud.

Argh, why is it so complicated to sync my existing contacts to OwnCloud ?

Here is how I did it.

Lire la suite...

lundi 25 novembre 2013

Un serveur au régime : faites tourner un serveur complet dans un mouchoir de poche

Introduction

Ce n’est pas la période pour les régimes et pourtant aujourd’hui, dans un billet volontairement cryptique aux non-initiés, je vais vous dévoiler les quelques secrets qui permettent à des nerds invétérés de donner vie à des machines ridiculement pauvres en RAM. Pour la beauté du geste, mais pas que.

Je me souviens que l’on s’est souvent moqué de moi quand je disais qu’avec 512 mégas de RAM on pouvait faire tourner un serveur complet mail+ftp+web+sql. En remplaçant quelques programmes, vous pouvez parfaitement faire tourner votre application web standalone, un noeud de CDN performant, un miroir FTP, ou un relais mail.

Cet article va simplement vous présenter des alternatives, et terminer avec quelques astuces plus générales. Le but est de remplacer notre célèbre LAMP par des solutions moins gourmandes en mémoire.

Remplacer Apache

Pour remplacer Apache, nous avons le choix entre Nginx et Lighttpd (Lighty).

Lighttpd est le serveur le plus léger au monde. Sa structure est très simple, et l’impact d’une connexion en mémoire est très faible.

Nginx est un serveur qui consomme un peu plus au démarrage, mais qui utilise une gestion intelligente de ses connexions ouvertes pour optimiser son impact mémoire.

Inconvénients : oubliez les .htaccess, préparez-vous à faire un peu de configuration pour remplacer votre “a2enmod php5”, et changez vos habitudes pour redémarrer les services.

Remplacer MySQL

Ce n’est pas facile de remplacer MySQL, tellement le nombre de programme qui en dépendent est conséquent. Cependant, si c’est possible, n’hésitez pas une seconde, voici les deux alternatives “lowcost” possibles :

SQLite : une base SQLite est simplement un fichier qui est chargé en mémoire au moment où l’on veut lire dedans. Pas de démon résident, pas d’impact lorsque la base est inactive. Par contre, préparez vous à attendre un peu si votre base est conséquente : lire des données en n’utilisant que le cache disque,  ça peut prendre du temps.

PostgreSQL : PostgreSQL est un peu le nouveau MySQL, mais en mieux. de faible impact mémoire au démarrage, doté de plus de fonctionnalités que MySQL et proposant de meilleures performances, il reste encore marginal mais a tout pour concurrencer les équivalents propriétaires comme Oracle. On peut l’utiliser dans un environnement limité, en configurant correctement les limites dans sa configuration.

Remplacer ProFTPd

Si vous proposez un hébergement, vous proposerez certainement un serveur FTP.

Si les utilisateurs du serveur sont des utilisateurs “de confiance” (ie : que vous connaissez), vous pouvez leur laisser utiliser le serveur SFTP fourni par le serveur SSH (à activer dans la configuration). De très faible impact mémoire, pour une meilleure sécurité et moins de configuration, le protocole SFTP est supporté par la majorité des clients FTP. C’est LA solution des flemmards pour mettre en place un serveur FTP.

Sinon, vous pouvez vous rabattre sur un VSFTPd, qui en plus de vous combler au niveau impact mémoire, vous comblera au niveau rapidité. Il gère aussi le FTPS.

Remplacer Postfix

Si vous n’utilisez pas la réception des mails et que vous ne faites que de l’envoi (avec ou sans smarthost), Exim vous comblera au moins autant que Postfix, vous proposant même sous Debian une interface de configuration “pour les nuls” : dpkg-reconfigure exim4-config.

Éviter la catastrophe

En cas de gonflement inattendu de la mémoire, et lorsque celle-ci commence à manquer, le système d’exploitation commence à sacrifier des programmes pour libérer de la RAM. C’est dommage, on aimerait éviter d’en arriver à de telles extrémités sur un serveur de production.

La solution est assez simple, bien qu’imparfaite : il suffit de rajouter de la SWAP. La SWAP est un fichier d’échange placé sur le disque dur, lorsque il n’y a plus de mémoire en RAM, une partie de la RAM est déchargée (ie copiée) sur la SWAP, pour laisser de la place aux programmes “actifs”. Bien entendu, cette mémoire déchargée devra être rechargée dès lors qu’un programme a besoin d’un bloc mémoire qui a été placé en SWAP, ralentissant le traitement à la vitesse des temps d’accès disque (pas cool).

Faire dormir tout le monde

Ce qui est pénible avec les serveurs, c’est la quantité de RAM qui est là, utilisée en permanence, pour finalement un seul pic d’utilisation. Si on pouvait récupérer la RAM des programmes qui n’interagissent pas avec l’extérieur, et ne les lancer que quand on en a besoin ? Inetd est fait pour ça !

Inetd c’est un “super démon” qui va écouter sur les ports demandés à la place des programmes, et qui va lancer les programmes pour traiter l’événement, dès lors qu’une connexion est ouverte sur un de ses ports d’écoute. On peut donc imaginer avoir un Lighttpd non lancé qui se fait réveiller lorsque Inetd reçoit une connexion sur le port 80. Lighttpd traite alors la requête et s’arrête immédiatement après, laissant la place pour d’autres programmes.

L’inconvénient ici vient des temps de traitement forcément plus longs qu’avec des démons résidents (démarrer le programme prend du temps).

Conclusion

Voilà, c’est à peu près tout, j’espère qu’avec ces petits changements dans votre configuration, vous aurez quelques pistes pour alléger votre serveur, si jamais l’expérience vous tente. ;)

dimanche 24 novembre 2013

Gérer le turnover dans les structures associatives

Au départ, je voulais faire un billet sur le blog des développeurs du BDE Saint Jérôme parlant de la motivation. Et puis, je me suis dit que c’était un peu hors contexte, puisque je ne participe que d’assez loin ce qu’il se passe là bas.

Et puis je me suis dit aussi que la motivation c’était un problème finalement assez général, qu’au fond la motivation n’était pas un problème mais un moyen.

Le problème dans les associations, finalement, c’est le turnover.

Introduction

Le turnover, c’est ce que l’on appelle aussi la « passation » : de nouvelles personnes arrivent, et remplacent les personnes qui partent. Il peut y avoir un délai durant lequel les personnes qui ne sont pas encore parties forment les nouvelles venues, il peut y avoir des « piliers de comptoir » qui s’assurent de la cohérence  des rotations, mais globalement, les associations sont toutes confrontées à un moment de leur vie au départ d’un membre qui « emporte le savoir » avec lui.

Quelles sont les solutions ? Peut-on éviter que les gens partent ? Comment s’assurer que les nouveaux arrivants continuent de participer à l’enrichissement (non financier) de l’association, tout en conservant son esprit d’origine ?

Voici quelques pistes.

Lire la suite...

jeudi 21 novembre 2013

À propos de l'altérité sexuelle

Comme je ne me sens vraiment pas bien depuis quatre jours, c’est le moment de faire un billet complet sur l’altérité. Quelle altérité au fait ? L’altérité sexuelle. Celle dont on parle quand on essaie de justifier que « si les pédés ils sont pas comme nous c’est qu’ils l’ont bien cherché ».

Lire la suite...

- page 14 de 32 -