PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

La vache libre : California – Un calendrier sur mesure pour Gnome Shell

vendredi 21 mars 2014 à 18:30

California-About

L’arrivée de Gnome Shell a été un grand chamboulement dans l’histoire de l’environnement de bureau Gnome, avec un nouveau paradigme et la conception de nouvelles applications maison, dont le maître mot est minimalisme. Dans ce contexte et en accord avec les besoins évoqués dans la feuille de route de la team Gnome, California est une nouvelle application minimaliste (en cours de développement) pour GS, dont le but est de fournir aux utilisateurs un calendrier simple et facile à utiliser. California est développé en collaboration avec la team Yorba (shotwell, Geary) et devrait à terme fournir quelques options de synchronisation avec des services tels que Google Calendar ou Gnome Online Account, ainsi que diverses options de planification. Vous devriez donc être en mesure de planifier des événements et des alarmes et de recevoir des notifications à des heures prédéfinies, de manière récurrente (quotidienne) ou non.

L’interface de California est encore spartiate, mais nous pouvons déjà admirer son côté sobre et élégant (ça fait très calendrier iOS), qui devrait vous plaire si vous utilisez déjà d’autres applications Gnome.

California

Ici vous pouvez voir l’outil de planification qui lui aussi n’affiche que le strict nécessaire et qui devrait pouvoir à terme être piloté depuis un applet :

California-Task

Alors pour le moment ce n’est certes pas très spectaculaire, mais ce n’est pas représentatif dans la mesure ou California n’est encore qu’un « Work in progress » et qu’il en est encore au stade de pré-alpha. Il faudra donc attendre encore un peu pour s’en faire une idée définitive et pour voir jusqu’à quel point il sera intégré dans Gnome (Evolution pourrait bien en pâtir).

Si ça vous tente et que vous avez envie de suivre cette nouvelle application, vous pouvez déjà vous brancher sur la page officielle du projet. Vous pouvez aussi l’installer et le tester grâce aux sources disponibles sur cette page, ou depuis AUR si vous tournez sur Archlinux ou Manjaro.

Amusez-vous bien.

source

Gravatar de La vache libre
Original post of La vache libre.Votez pour ce billet sur Planet Libre.

Dogmazic : Pré-campagne de don !

vendredi 21 mars 2014 à 14:05

Bien le bonjour ! La campagne de don est en préparation, mais rien ne nous empêche de vous laisser nous aider avant cela !

Pour faire simple nous avons un grand besoin de vos dons pour nous aider à payer les serveurs mais également pour assurer la suite du développement du site. Comme vous l’avez constaté ce dernier marche pour grande partie mais de nombreux bugs subsistent qu’il nous faut élucider (et on est en bonne voie !).

Aujourd’hui les contraintes matériels commencent à interférer avec le bon fonctionnement de l’association et nous avons besoin, plus que jamais (ça n’est pas une formule) de votre soutien !

Par paypal (à gauche) virement (RIB ci-dessous -si vous avez la patience préférez le virement, au moins ça n’engraissera pas ebay au passage :)) toutes les sommes comptent et nous aideront plus que vous ne l’imaginez !

ribmlo

P.S. : Nous sommes une association d’intérêt général et vos dons peuvent être défiscalisés (donner 90 vous coûte 30), merci de nous contacter pour avoir un reçu.

flattr this!

Gravatar de Dogmazic
Original post of Dogmazic.Votez pour ce billet sur Planet Libre.

Framablog : Apprendre le Web avec Mozilla webmaker (1)

vendredi 21 mars 2014 à 12:21

Vite fait, vite lu : ce qui fait la force du Web ouvert, c’est que n’importe qui peut en être un maillon et le construire. Mozilla Webmaker est un ensemble d’outils ludo-éducatifs qui permettent à chacun de comprendre et de modeler le Web.


Le Web permet à chacun d’entre nous d’essayer de nouvelles idées et de les offrir au monde entier, sans avoir à demander la permission à une quelconque autorité. Le rythme rapide de l’innovation nous montre de quoi l’humanité est capable quand de puissants outils sont offerts également à tous.

Mitchell Baker, présidente de la Mozilla Foundation

Chacun doit avoir la possibilité de façonner Internet et son utilisation d’Internet.

principe N°5 du Manifeste de Mozilla

Tout à fait en phase avec ces principes nobles mais certes un peu nébuleux, Mozilla a pris depuis plusieurs années des initiatives concrètes pour amener le plus grand nombre de ses utilisateurs à une meilleure connaissance de ce qu’est le Web. Voici des outils pour apprendre et enseigner.

Utilisez-les, bidouillez-les, inventez-en d’autres !

Pourquoi éduquer au Web

Une génération sans autre proposition que la consommation ?

Il y a presque 30 ans le plan informatique pour tous, malgré tous les défauts et limites matérielles qui devaient conduire à son abandon, a eu le mérite de mettre une génération d’enfants devant des ordinateurs sur lesquels ils s’initiaient à la programmation : dès l’école primaire on apprenait à piloter une « tortue » en logo, puis au collège on s’initiait aux rudiments du BASIC.

On peut penser raisonnablement qu’un petit nombre des enfants d’alors y ont pris goût et sont devenus depuis des acteurs de l’industrie numérique. Et que dire des gamins pour lesquels les portes du Centre international de l’informatique étaient ouvertes dès 1981 ?

Aujourd’hui, quelle occasion ont les enfants et adolescents de mettre les doigts dans le code, de concevoir un contenu pour le Web, d’être autonomes dans leurs usages d’Internet ? Ce n’est maintenant pas avant la classe de terminale scientifique qu’il s’agit d’apprendre à programmer, encore est-ce très clairement lié aux activités mathématiques et scientifiques.

Rien ne leur est proposé pour créer sur le Web, rien ne leur est proposé d’autre que de consommer des contenus dès l’âge tendre. Comment pourraient-ils devenir de utilisateurs conscients et compétents du Web ?

…et tous les autres utilisateurs ?

Aujourd’hui les jeunes ne sont pas les seuls à être privés d’éducation au Web. Que dire de tous ceux qui en maîtrisent à peine l’usage minimum ? De tous les milieux et de tous les âges, y compris dans les métiers dits intellectuels qu’on pourrait croire mieux informés, nombreux sont ceux autour de nous qui confondent un navigateur et un moteur de recherche, qui pensent être protégés de tout par un antivirus et qui ignorent jusqu’à l’existence d’un truc qu’on appelle les logiciels libres.

L’enjeu ?

— C’est la plasticité d’un Web libre et ouvert et sa maîtrise par des utilisateurs conscients. C’est la possibilité pour chacun de comprendre ce qui se passe dans les coulisses d’un site ou d’un service en ligne, d’être conscient des risques de la surveillance généralisée et de la marchandisation de nos profils. C’est la possibilité pour chacun d’être un acteur du Web et d’en tirer le meilleur parti sur tous les plans.

Oui d’accord, j’arrête avec les idéaux, voyons un peu ce que propose Mozilla.

Des outils ludiques pour apprendre

Les lunettes déshabillantes du HTML

Quand j’étais gosse (c’était au millénaire précédent), on pouvait voir dans les magazines des publicités pour un gadget qui ne manquait pas de nous faire fantasmer : des lunettes à rayons X, qui étaient supposées dévoiler des silhouettes sous les vêtements. Je n’ai jamais su si ces promesses alléchantes avaient un quelconque fondement. En revanche, la supervision de Superman, qui ne me faisait guère fantasmer, semble s’être réalisée avec les X-Ray Goggles de Webmaker. Il s’agit ni plus ni moins que de révéler le code source et donc d’apprendre le nom des éléments, attributs et autres balises HTML en se promenant sur la page web, une fois activées les « lunettes ».

Il s’agit d’un script qu’on dépose sur la barre d’outils comme un simple bookmarklet (tiens, pourquoi avait-on perdu de vue les bien pratiques bookmarklets ?). Pour l’utilisateur c’est simplissime et presque amusant. Pour moi le vieux pervers c’est comme si je pouvais regarder sous les jupes… de la page. Mais voici quelques captures d’écran qui vaudront mieux qu’une trop longue description :

Première étape : faire glisser le bookmarklet sur la barre d’outils de son choix

Sur une page qu’on aime bien (celle de connard.pro par exemple) il suffit de survoler et les éléments ou attributs HTML se mettent en couleurs et sont identifiés.

TOUT est désormais modifiable sur la page : textes, images, balises… ici j’augmente l’interligne et j’ajoute des italiques.

…et le plus chouette (mot qui voulait dire trop cool autrefois) c’est que je peux publier le résultat remixé par mes soins et communiquer fièrement l’adresse aux victimes du bidouillage.

Allez vous aussi vous amuser avec les lunettes à rayons X, c’est ici https://goggles.webmaker.org/fr et c’est en français grâce aux contributeurs de MozFr (oui c’est imprononçable, et alors ?)

— Au fait, si vous voulez passer à l’étape supérieure, vu que vous êtes « pro » et que vous regardez tout cela avec un sourire condescendant, essayez donc l’inspecteur (Ctrl+Maj+C) parmi les nombreux outils de développement web inclus dans Firefox (what else ?)

À suivre ! -> la semaine prochaine : Thimble, l’éditeur HTML interactif qui poutre.

Gravatar de Framablog
Original post of Framablog.Votez pour ce billet sur Planet Libre.

Etenil : Démarrer avec django et python3

vendredi 21 mars 2014 à 09:36

Grosse déception, ceci n'est pas un tutorial pour django sur python3. C'est par contre un petit guide pour s'installer un venv python3 qui va bien avec les outils qu'il faut et bien entendu django.

$ pyvenv-3.4 ~/.myenv
$ . ~/.myenv/bin/activate
(myenv)$ wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python
(myenv)$ easy_install pip
(myenv)$ pip install django

Et voilà le travail!

Gravatar de Etenil
Original post of Etenil.Votez pour ce billet sur Planet Libre.

Wooster by CheckmyWebsite : Varnish : Faites briller vos requêtes HTTP

vendredi 21 mars 2014 à 09:30
Varnish

Dans le cadre de l’optimisation web, l’utilisation d’un reverse-proxy cache est devenu un incontournable. Dans cet article nous allons nous intéresser au plus connu d’entre eux: Varnish.

Son rôle est d’agir comme un passe-plat entre les clients de vos sites et votre serveur HTTP. Au passage il se permettra de garder en mémoire une copie des éléments statiques de vos pages pour les servir directement aux prochains visiteurs, pouvant réduire de plusieurs précieuses secondes vos temps de réponse. Les cas d’utilisation de Varnish sont innombrables, mais cet article se veut être une simple introduction, nous n’en aborderons donc qu’une petite partie.

Les mains dans le cambouis

Au lieu d’un long discours passons à la pratique avec quelques exemples. Pour cela, commençons par installer Varnish. Des dépôts sont mis à disposition pour les distributions Debian, Ubuntu, RedHat et FreeBSD sur le site officiel. Pour la suite de cet article nous utiliserons une Debian Wheezy.

On commence par ajouter le dépôt à la liste des sources APT, et par enregistrer la signature GPG qui lui est associée:

echo "deb http://repo.varnish-cache.org/debian/ wheezy varnish-3.0" >> /etc/apt/sources.list.d/varnish.list
curl http://repo.varnish-cache.org/debian/GPG-key.txt | apt-key add -

On peut maintenant mettre à jour le cache APT et lancer l’installation du paquet:

apt-get update
apt-get install varnish

Et voilà, le tour est joué!

Un premier tour de conf

Le fichier de configuration globale du daemon se trouve dans /etc/default/varnish et ressemble à ce qui suit:

START=yes

DAEMON_OPTS="-a :6081 \\
             -T localhost:6082 \\
             -f /etc/varnish/default.vcl \\
             -S /etc/varnish/secret \\
             -s malloc,256m"

Avec l’option -a on indique l’adresse de bind et le port sur lequel Varnish attend les requêtes HTTP. Il est fixé par défaut à 6081 ce qui est parfait le temps de nos tests et quand le moment sera venu de passer en production c’est donc ici que nous pourrons par exemple décider de le faire écouter sur le port 80.

Les options -T et -S définissent respectivement l’interface/port de management et le fichier contenant le secret pour s’y authentifier. Via -s on définit le moyen de stockage du cache, la seule vraie option ici est d’utiliser le backend malloc qui va déléguer le stockage en RAM au système d’exploitation. Si vous n’avez pas assez de mémoire vive disponible envisagez d’en rajouter, mais surtout n’utilisez pas le stockage sur disque du cache comme solution car vous perdriez les bénéfices de Varnish.

Et enfin nous définissons avec l’option -f le chemin vers notre fichier de configuration VCL.

VCL, Késako?

VCL c’est le langage propre à Varnish permettant de configurer la gestion des requêtes et des objets présents dans le cache. On parle bien ici de langage car dans un soucis d’optimisation poussé à l’extrême, au chargement d’une nouvelle configuration, le daemon de management va traduire le VCL en code C et compiler ce dernier avant de l’attacher au daemon serveur.

C’est bien beau la théorie, mais à quoi ressemble-t-il notre fichier VCL? Ouvrons le fichier /etc/varnish/default.vcl pour le découvrir dans sa plus simple expression:

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

Un backend est un serveur auquel Varnish va passer les requêtes qu’il reçoit. Il est défini par un couple IP/port. En l’état, toutes les requêtes entrantes seront redirigées vers le backend par défaut, vers le port 8080 en local.

Caching par défaut

Varnish ne place jamais en cache les requêtes qui contiennent des paramètres de type POST ou accompagnées de cookies, que ces derniers soient envoyés par le client ou renvoyés par le backend. Il est donc à noter que si votre site en utilise, par exemple pour tracker le comportement de vos utilisateurs via Google Analytics, aucun contenu ne sera mis en cache. Pour palier à cela nous pouvons nettoyer nos appels de ces méchants biscuits:

sub vcl_recv {
    unset req.http.cookie;
}

sub vcl_fetch {
    unset beresp.http.set-cookie;
}

Au passage nous découvrons deux des sous-routines proposées par Varnish. Chacune d’elle représente une des étapes de traitement des requêtes.

Varnish VCL
Varnish VCL
  • vcl_recv est la première à être exécutée lors de la réception d’une requête, elle intervient donc en amont des opérations de recherche dans le cache.
  • vcl_fecth est quant à elle la première appelée à la réception de la réponse du backend, avant les opérations de mise ne cache. Via la fonction unset, on déréférence les objets contenant les cookies, contournant ainsi le comportement par défaut et permettant à nos requêtes d’utiliser le cache.

De l’avis même des développeurs de Varnish, dans 99% des cas tous les changements de configuration dont vous aurez besoin se feront dans ces deux sous-routines.

Dans l’exemple ci-dessus, la méthode est un peu brutale car tous les cookies sont effacés sans distinction, ce qui est bloquant pour un site faisant usage des sessions…

On peut affiner notre action en nettoyant uniquement les requêtes vers nos images, ce qui semble déjà plus pertinent:

sub vcl_recv {
 if (req.url ~ "\\.(png|gif|jpg)$") {
    unset req.http.cookie;
 }
}

sub vcl_fetch {
 if (req.url ~ "\\.(png|gif|jpg)$") {
   unset beresp.http.set-cookie;
 }
}

On peut noter le support des expressions régulières qui donnent une grande flexibilité à outil. Il est ainsi possible d’appliquer cette règle pour tous les fichiers d’un dossier au lieu de se baser sur leurs extensions, ou encore de manipuler l’objet req.http.cookie à l’aide des regex pour ne laisser passer que certains cookies.

Une porte d’entrée vers vos différents backends

Actuellement, les serveurs applicatifs spécifiques à des langages pullulent et génèrent des environnements très hétérogènes entre les projets. On peut citer entre autres Node.JS (Javascript), Thin (Ruby) ou encore Gunicorn (Python). Dans ce cas Varnish permet de créer un point d’entrée unique et très performant pour répartir les requêtes vers les bons backends tout en réduisant largement les appels qui leurs seront faits et donc leur consommation de ressources système.

Imaginons que nous voulions héberger un site statique via Nginx à l’adresse static.example.com, et un blog Ghost sur NodeJS à l’adresse ghost.example.com.

Exemple Varnish
Exemple Varnish

Pour cela il faut commencer par déclarer les deux backends:

backend nginx {
    .host = "127.0.0.1";
    .port = "80";
}

backend nodejs {
    .host = "127.0.0.1";
    .port = "2368";
}

Il suffit ensuite de modifier l’objet req.backend dans la sous-routine vcl_recv pour sélectionner le backend vers lequel envoyer la requête en fonction de l’hôte http appelé:

sub vcl_recv {
    if (req.http.host ~ "^static.example.com$") {
        set req.backend = nginx;
    }

    if (req.http.host ~ "^ghost.example.com$") {
        set req.backend = ghost;
    }
}

Répartissez votre charge

Varnish est capable de gérer la répartition de charge via des backends spécifiques appelés directors. Parmi les plus utilisés on trouve le round-robin director qui distribue les requêtes de manière alternative aux backends et le client director qui route les requêtes en fonction d’un cookie de session, permettant qu’un même client soit toujours renvoyé vers le même backend.

La mise en oeuvre des directors est très simple. On commence par définir plusieurs backends:

backend nginx_1 {
    .host = "192.168.0.1";
    .port = "80";
}

backend nginx_2 {
    .host = "192.168.0.2";
    .port = "80";
}

Ensuite un director pour les associer:

director nginx_director round-robin {
    { .backend = nginx_1; }
    { .backend = nginx_2; } 
}

Et enfin on définit ce director comme backend pour nos requêtes:

sub vcl_recv {
    set req.backend = nginx_director;
}

Pour aller plus loin

Si vous désirez étendre les fonctionnalités de Varnish, il existe des plugins, appelés VMOD, disponibles sur le site officiel. Plusieurs utilitaires sont aussi disponibles, dont un dashboard ou encore un plugin Nagios que vous trouverez sur cette page dédiée.

Bonne optimisation ;)

Gravatar de Wooster by CheckmyWebsite
Original post of Wooster by CheckmyWebsite.Votez pour ce billet sur Planet Libre.