Le Blog Utux

HTTP 200 GET /

Taxe de m****

Rédigé par uTux 10 commentaires

« Taxe » sur les moteurs de recherche d’images : ça se précise (NextINpact).

Et voilà, génial, une taxe sur les moteurs de recherche d'image, et généraliste en plus. Peu importe qu'il s'agisse d'images sous licence libre ou pas, l'argent ira dans les poches des "sociétés de gestion collective", c'est à dire les rentiers qui vivent du travail des autres depuis plus de 50 ans et ont persuadé tout le monde qu'ils étaient les responsables/sauveurs de la culture.

C'est révoltant, il n'y a pas d'autres mots. Les gens qui créent les contenus et qui sont contents de les voir indexés dans les moteurs de recherche ne verront pas la couleur de cet argent. Moi même qui ait créé des choses sur ce blog, je verrai mon travail utilisé pour justifier une taxe allant dans les poches de gens que je ne connais pas et qui ne me représentent pas.

La France est championne de ce genre de conneries, j'ai l'impression que ça n'arrive que chez nous. C'est peut-être ça le rayonnement culturel français aujourd'hui : de la corruption, du pognon, du lobbying, du réactionnaire. Tous les pays du monde (ou presque) foutent la paix aux gens sur internet, il n'y a qu'ici qu'on cherche à contrôler et à taxer à tout va. Cela me rappelle beaucoup un épisode des Simpson dans lequel un film hollywoodien est en tournage à Springfield mais fini par faire faillite car la mairie décrète des taxes à gogo pour faire raquer les producteurs.

J'espère que les moteurs de recherche ne se plieront pas à cette taxe débile et injuste et fermeront leur service d'indexation d'images en France. Autre possibilité : un système de tag dans les fichiers images indiquant leur licence, afin de n'indexer que les contenus de type CC-by.

Les rentiers ont les testicules d'une poignée de députés et d'hommes politiques dans leurs mains, il leur suffit de les presser un peu pour obtenir ce qu'ils veulent. Le moteur de recherche Google a + de 90% de parts de marché en France, voilà donc une bonne force de frappe pour répliquer.

Vice versa <3

Rédigé par uTux Aucun commentaire

Film coup de cœur qui mérite un petit article.

Vice Versa ou Inside Out en version originale est un PIXAR sorti durant l'été 2015 qui nous propose de suivre Riley, jeune fille de 11 ans dont la vie va être bouleversée par un déménagement. Dans son cerveau les émotions Joie, Tristesse, Colère, Dégoût et Peur se bousculent et influent sur ses décisions et ses souvenirs et non ce n'est pas une adaptation du sketch des 2 minutes du peuple ou encore de Il était une fois... la Vie.

Vice Versa

C'est un film surprenant, drôle et intelligent avec des musiques sublimes. La représentation du cerveau, monde immense et ouvert dans lequel des petites usines matérialisent les différentes fonctions, est très réussie. Sans vouloir spoiler l'histoire, les péripéties des personnages-émotions vont être le prétexte à l'exploration de la mémoire centrale, du centre de tri des souvenirs, le train de la pensée, abstraction, et même les rêves ! Bourré d'humour mais aussi de moments émouvants, ce film ne m'a pas laissé indifférent, j'ai également beaucoup aimé la conclusion.

Un film que je vous recommande fortement donc, à vous ou vos enfants, et je lui attribue mon seal of approval.

Seal of approval

Amis cyclistes...

Rédigé par uTux 7 commentaires

Les infractions en ville qui m'énervent :

  • Rouler sur les trottoirs ou les passages piéton. Non, vous n'êtes pas demi-piéton, vous ne pouvez donc pas leur emprunter des règles quand ça vous arrange.
  • Rouler à contre-sens sur la route ou sur la piste cyclable. Alors oui c'est parfois autorisé dans certaines villes, mais c'est une bêtise.
  • Griller les feux. Oui c'est autorisé parfois pour tourner à droite, mais faites au moins semblant de ralentir...
  • Ne pas s'arrêter ni même ralentir lorsqu'il y a des STOP. C'est toujours agréable de voir un cycliste débouler à une intersection.

Les infractions en campagne qui m'énervent :

  • La famille qui roule en formation serrée côte à côte, pour bien occuper toute la largeur de la route et rendre le dépassement compliqué.
  • Le cycliste qui zigzag comme s'il était bourré parce que ça l'amuse.
  • Le cycliste qui déboîte sans regarder.
  • Le cycliste qui roule à gauche.
  • Le gamin qui se place en travers de la route de manière inopinée alors que tu es juste devant lui.

Je sais ce que vous pensez : "connard d'automobiliste qui aime pas les cyclistes, il s'est regardé au moins ? Les voitures sont beaucoup plus dangereuses, et en plus elles polluent donc les cyclistes valent mieux !". Non, je suis moi-même cycliste mais sur vélo de route donc je roule vite (en moyenne 30 km/h) et tous les points que j'ai cité pour la campagne sont mes observations quand je fais une sortie sportive. Passer son temps à freiner pour éviter le cycliste du dimanche puis accélérer après casse le rythme et fatigue plus rapidement les muscles.

Pour la ville c'est différent, je suis piéton et automobiliste, et je sais bien que personne n'est parfait. Je regrette par exemple l'abus d'utilisation du klaxon par les automobilistes (pour insulter ou saluer, surtout pas pour signaler un danger), ceux qui forcent le passage au feu orange/rouge, ceux qui roulent trop vite, ceux qui se garent mal (faire 100m à pied pour aller à la boulangerie c'est trop), etc. Mais l'encadrement des automobilistes est déjà strict, contrairement à celui des cyclistes. Et cette grande liberté vous incite à être irrespectueux voire dangereux pour vous ou les autres.

Alors quelques bons conseils pour rouler :

  • On roule et on serre à droite.
  • On utilise les pistes cyclables ou la route mais pas les trottoirs.
  • On tourne la tête avant de déboîter, pour voir s'il n'y a pas quelqu'un qui va vous dépasser.
  • De manière générale ayez conscience de votre environnement (regardez autour de vous de temps en temps).
  • On ne roule pas avec les écouteurs dans les oreilles (ou les casques, pour les hipsters).
  • On tend le bras avant de déboîter, c'est comme les clignotants.
  • On roule avec un gilet fluo de préférence, ou simplement des vêtements pas trop sombres.
  • On respecte le code de la route, notez que vous pouvez perdre des points sur votre permis de conduire si vous êtes verbalisé à vélo (toutes mes excuses, c'est visiblement une légende urbaine, source).
  • On se répète la phrase suivante : "la route est remplie de connards égoïstes qui pensent que les autres sont des PNJ uniquement là pour les emmerder, et ce sera pire si je me conduits de la même manière".

Docker >_<

Rédigé par uTux 12 commentaires

Je ne vais pas me faire des amis, mais j'ai un problème avec Docker et je vais l'illustrer en le comparant avec ezjail qui permet de gérer les jails sous FreeBSD.

Pour afficher la liste des containers dans Docker :

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
c516f8fcbc57        httpd:v5            "/bin/bash"         9 minutes ago       Up 2 seconds        80/tcp              tender_mirzakhani

Attendez, c'est pas fini ! Cette commande ne va afficher que les containers en cours d'exécution. Si on veut tout :

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                     PORTS               NAMES
c516f8fcbc57        httpd:v5            "/bin/bash"            9 minutes ago       Up 22 seconds              80/tcp              tender_mirzakhani
974607db9cb7        httpd:v5            "apache2-foreground"   18 minutes ago      Exited (0) 8 minutes ago                       gigantic_engelbart

Et pour entrer dans un container :

$ docker exec -t -i gigantic_engelbart /bin/bash
root@974607db9cb7:/var/www/html#

Ok. Maintenant voyons comment on fait pour lister des containers avec ezjail sous FreeBSD :

ezjail-admin list
STA JID  IP              Hostname                       Root Directory
--- ---- --------------- ------------------------------ ------------------------
DR  1    127.0.1.1       jls-web-10                     /usr/jails/jls-web-10
    1    em0|192.168.0.50
DS  N/A  127.0.1.2       jls-mail-01                    /usr/jails/jls-mail-01
    N/A  em0|192.168.0.60

Et pour entrer dans un container avec ezjail :

ezjail-admin console jls-web-10
FreeBSD 10.3-RELEASE (GENERIC) #0 r297264: Fri Mar 25 02:10:02 UTC 2016

root@jls-web-10:~ #

Voilà, une seule commande simple à retenir et pas d'options superflues.

Pourquoi les commandes Docker sont-elles aussi imbuvables ? C'est un problème courrant dans l'environnement des logiciel sous Linux, on ne sait pas faire de choses simples. git est un autre exemple symptomatique, nous sommes obligés d'avoir sous la main une anti-sèche pour ne pas nous tromper dans les commandes.

Docker étant relativement récent, pourquoi ne s'est-il pas inspiré des commandes ezjail, iohyve, iocage ou lxc qui sont beaucoup plus simples et intuitives ?

OpenBSD : jouons avec httpd

Rédigé par uTux 2 commentaires

Je connais bien OpenBSD pour y avoir fait tourner mon serveur pendant plusieurs mois. J'en ai un bon souvenir, c'est un système simple à comprendre et à configurer grâce à des syntaxes humainement lisibles dans les fichiers de configuration. Malheureusement OpenBSD est encore primitif sur de nombreux points, par exemple les mises à jour. En fait il n'y a aucun dispositif de mise à jour, il faut télécharger les sets en .tgz et les décompresser en écrasant le système, voire même tout recompiler. Deux autres problèmes majeurs que je vois sont d'une part le fs UFS vieillissant et lent (surtout si on compare à FreeBSD et son ZFS) et d'autre part les ports pas toujours à jour car il y a beaucoup moins de mainteneurs disponibles. C'est pourquoi je pense qu'OpenBSD est bien pour certains usages spécialisés qui peuvent se contenter des daemons de base, mais dans beaucoup d'autres cas il se fait éclater par FreeBSD et Linux, par exemple en usage stockage ou desktop.

A l'époque où j'utilisais OpenBSD (2011), le daemon web était un Apache 1.x lourdement modifié et le projet était en cours de migration vers Nginx. Mais ce dernier a été délaissé à son tour au profil de httpd, un serveur maison. Je n'y ai pas vraiment prêté attention jusqu'à récemment avec la lecture du blog de thuban (ou encore De l'épice pour la pensée) qui m'a rendu curieux. Thuban est tellement amoureux d'OpenBSD que quelques temps après l'avoir essayé, il a migré son serveur et écrit un livre.

Exemple simple

Puisqu'on est sur OpenBSD, la configuration sera forcément humainement lisible et centralisée dans un fichier. Le manpage est consultable ici. OMG UN MANPAGE, MER IL ET FOU ! Et oui, sur Linux les manpage sont souvent imbuvables, mais sur OpenBSD ce n'est pas le cas. Pas de panique, on va faire un exemple ensemble :)

On va simplement configurer notre httpd pour servir une page lorsque l'IP du serveur est appelée.

Voici ce qu'on met dans notre /etc/httpd.conf :

server "default" {
        listen on * port 80
}

Par défaut, notre serveur travaillera dans /var/www/htdocs et /var/www/logs. On créé une page html de test :

echo "Hello" > /var/www/htdocs/index.html

On autorise httpd à démarrer :

echo httpd_flags="" >> /etc/rc.conf.local

Puis on démarre httpd :

/etc/rc.d/httpd start

En tapant l'adresse IP du serveur dans votre navigateur, vous devriez avoir le Hello sur fond blanc.

Vous pouvez éventuellement jeter un œil aux fichiers de logs :

cat /var/www/logs/access.log
default 192.168.0.3 - - [01/Aug/2016:14:13:14 +0200] "GET / HTTP/1.1" 200 31

Exemple avancé

Afin d'explorer les possibilités de httpd, on va le triturer de la manière suivante :

  • Écriture des logs dans /var/log/httpd/
  • Fichiers de configuration splittés
  • Deux vhosts
  • https sur un des vhosts

Commençons par créer les arborescences pour nos deux vhosts, avec deux fichiers index.html :

mkdir /var/www/htdocs/site1
echo "Site1" > /var/www/htdocs/site1/index.html
mkdir /var/www/htdocs/site2
echo "Site2" > /var/www/htdocs/site2/index.html

On créé aussi le répertoire pour les logs et pour nos fichiers splités :

mkdir /var/log/httpd
chown -R www: /var/log/httpd
mkdir /etc/httpd

On génère notre certificat de sécurité :

openssl req -new -x509 -days 365 -nodes -out /etc/ssl/cert.pem -keyout /etc/ssl/key.pem
chmod 600 /etc/ssl/key.pem
ls -l /etc/ssl/*.pem
-r--r--r--  1 root  bin    1180 Aug  1 22:46 /etc/ssl/cert.pem
-rw-------  1 root  wheel  1704 Aug  1 22:46 /etc/ssl/key.pem

On édite notre /etc/httpd.conf dans lequel on va définir nos paramètres globaux, ainsi que nos fichiers splittés de vhost :

chroot "/var/www"
logdir "/var/log/httpd"
include "/etc/httpd/site1.conf"
include "/etc/httpd/site2.conf"

Note : la ligne chroot est inutile ici car sa valeur par défaut est déjà /var/www néanmoins je trouve utile de la préciser, par souci de lisibilité.

/etc/httpd/site1.conf :

server "default" {
        listen on * port 80
        root "/htdocs/site1"
        }

/etc/httpd/site2.conf :

server "ssl" {
        listen on * tls port 443
        root "/htdocs/site2"
        tls certificate "/etc/ssl/cert.pem"
        tls key "/etc/ssl/key.pem"
        }

Note : root doit être un chemin relatif au chroot. Par exemple le /htdocs/site2 se rapporte implicitement à /var/www/htdocs/site2.

Après avoir rechargé httpd, l'accès à notre serveur en http (port 80) doit afficher le site 1 :

Et l'accès en https (port 443) doit afficher le site 2 :

Conclusion

httpd est un serveur web simple à prendre en main qui ne plaisante pas avec la sécurité, le chroot ayant une place importante dans son fonctionnement. Alors faut-il laisser tomber Apache et Nginx ? Pour un usage basique, c'est à dire servir des pages web, pourquoi pas, car c'est simple et robuste. En revanche, pour des usages avancés, non. À part renvoyer les requêtes dans un socket en fastcgi et servir du contenu statique, on ne peut pas faire grand chose. Pas de reverse proxy par exemple, ce rôle étant confié à relayd. Un autre point agaçant est le fait qu'en cas d'erreur le daemon httpd refuse de démarrer mais n'affiche aucune erreur et ne produit aucun log, donc bonne chance pour debugger.

Si vous êtes un amoureux d'OpenBSD, il est évident que vous ne tarderez pas à migrer vers httpd. Si vous n'êtes qu'un simple Linuxien, j'espère que cet article aura chatouillé votre curiosité.

Fil RSS des articles