PROJET AUTOBLOG


Gordon

source: Gordon

⇐ retour index

À ceux qui râlent

lundi 22 avril 2013 à 00:00

Je n’ai pas l’habitude d’écrire ce genre d’articles. Il s’agit d’une réponse à un billet de quelqu’un que je considère encore comme un ami de valeur, au sujet du féminisme, ou plus exactement des débats qu’il occasionne ces derniers temps. J’ai initialement voulu répondre directement en commentaire, mais parce qu’il avait fait le choix de les fermer, je me retrouve à écrire ici. J’en profite pour mettre à plat certaines de mes opinions à ce sujet, en espérant ne pas trop faire doublon avec mes articles précédents, notamment celui-ci.

Le féminisme extrémiste (celui avec des grandes dents)

Bon tout d’abord, je ne sais pas combien de fois il va falloir le rappeler : il n’y a pas « le » féminisme. Pour rappel, il s’agit de revendication de l’égalité des sexes et des genres. L’interprétation là-dessus est libre, ce qui donne un tas de militantismes différents. Et crois-moi Jérôme (prenez l’habitude, je m’adresse à une personne particulière dans ce billet), le féminisme extrémiste, ce n’est pas ce que tu vois. Le féministe extrémiste flirte sans gêne avec la misandrie, et ça se voit très vite. Et de tou·te·s les féministes que je connais, personne ne soutient ces idées. Si vraiment tu veux lire ce que je considère comme du féministe extrémiste (ce qui est revendication de l’auteure), je te conseille de lire ceci. Je préfère te prévenir, c’est vraiment violent. Ce que tu appelles « féminisme extrémiste », ce sont des gens très visibles sur twitter qui passent une grande partie de leur temps à se plaindre. Se plaindre de situations vécues, de réponses qu’on leur fait, d’articles lus, etc. Crois-moi, personne ne fait ça de gaieté de cœur. Seulement, quand on est sensibilisé au problème du sexisme, on a la fâcheuse tendance à le voir partout. Et tu sais particulièrement combien il est difficile de laisser couler des injustices qui sont sous notre nez.

La pilule rouge

Le fait est que ton article dénonce. Et qu’est-ce qu’il dénonce ? Le comportement de certain·e·s féministes. Ce qui est intéressant (et ce qui découle également de la discussion eue plus tôt avec deux autres hacktivistes), c’est justement le sens de cette dénonciation. Pierre, Élodie ou toi, vous êtes évidemment contre le sexisme. Dans les deux sens, je suis d’accord. Et quand vous écrivez sur le sujet, c’est immanquablement pour… taper sur des féministes. C’est révélateur, tu ne trouves pas ? N’aurait-il pas été plus utile, efficace ou que sais-je de dénoncer le sexisme concrètement ? Par exemple, dans ton billet, tu évoques des agressions que tu as subies, et que tu prends avec légèreté. Chacun réagit à sa façon à ce genre d’actes, et je n’ai rien à redire à la façon dont tu le prends. Contrairement à ce que l’on peut croire, je ne considère en aucun cas qu’être victime d’agression doit marquer à vie et nous forcer à vivre dans la honte et la culpabilité. Par contre, notre culture joue un rôle important là-dedans, dans le fait que pour toi ça n’ait pas été très grave. Car beaucoup de femmes prennent ce genre d’acte bien moins légèrement que toi. Peut-être que leur fréquence y est pour quelque chose ? Je soupçonne que oui, mais je n’en ai pas la preuve. Par contre, ce qui est avéré, c’est la culture du viol. Le fait que les jeunes filles, dès la puberté, apprennent à avoir peur, à redouter les agressions sexuelles. Agressions qui arrivent d’ailleurs en très grande majorité dans le cercle privé ou familial, mais c’est un autre sujet. Tu ne peux ignorer qu’on conseille aux femmes de ne pas sortir seules le soir, de faire attention à elles, etc. Face à ça, comprends-tu la gêne, la peur, quand un quelconque gentleman aborde une femme, qui n’a rien demandé, dans un espace qu’elle considère culturellement comme dangereux ? Sachant également que ce qu’on leur apprend à craindre est considéré comme banal, ne serait-ce qu’au moment de porter plainte si l’on en a le courage (difficile de porter plainte contre un membre de sa famille, surtout lorsque c’est sur nous que sera jetée la honte dans la majorité des cas…). Vois-tu où je veux en venir, et pourquoi ton ressenti face à des agressions (qui sont condamnables avec la même fermeté que si tu avais été une femme, fût-il utile de le préciser) est forcément différent de celui d’une femme ?

On me reproche, face à ça, de considérer les femmes comme des victimes en puissance. Ce n’est pas vrai. Les femmes sont ciblées par des actes sexistes à différentes échelles. Elles les subissent. Mais pourquoi une agression devrait-elle entraîner la honte ou peur de sa cible ? Encore une fois, toute cette discussion part de personnes qui ouvrent trop leur gueule. Qui n’ont justement pas du tout une posture de victime, mais au contraire, décident de ne plus se laisser faire, qu’il s’agisse de se défendre d’une agression physique ou de protester contre un geste commun de la vie quotidienne, mais qui participe à la société patriarcale. Car, quand on choisit la pilule rouge, qu’on accepte de remettre en cause notre culture, notre société, et, au fond, nous, on voit l’envers du décor, la matrice. On voit à quel point le sexisme est partout, et on perd facilement les pédales. C’est tout simplement ce qui arrive lorsque quelqu’un comme moi se met à réagir au quart de tour sur twitter. On pense constamment « Mais comment ne peuvent-ils pas voir ces injustices ? ». Je me trompe peut-être à ce sujet, mais je vous vois (vous, qui écrivez pour dénoncer l’attitude ou les propos de féministes énervé·e·s) comme des personnes, non pas ayant choisi la pilule bleue, mais surtout qui n’ont pas été confrontées à ce choix. Imaginez le film Matrix si, au lieu de latter des vilains en costard et lunettes noires, les héros avaient pour but d’expliquer à la population qu’ils sont dans la matrice… J’aime à penser que ça donnerait des situations similaires à ce que nous vivons. Ceci dit, dans mon analogie, le camp des héros est clairement défini, et il s’agit comme par hasard de celui que je m’attribue. J’aimerais beaucoup connaître votre avis là-dessus.

Quoi qu’il en soit, une fois la pilule rouge avalée, on commence à remettre en question notre environnement. Lors d’un débat, on s’aperçoit que la seule femme présente n’arrive pas à en placer une ou à se faire écouter. On remarque également les remarques, davantage tournées vers son apparence que vers ses idées. On tend un peu plus l’oreille quand on entend une femme se plaindre du comportement des gens dans la rue (et pas seulement des hommes). Parfois, et c’est plus difficile, on se prend soi-même à lâcher une parole qui autrefois n’aurait pas posé problème, mais qui aujourd’hui sonne faux, parce que vous remarquez qu’elle est discriminante et gratuite. Ça peut être quelque chose d’aussi insignifiant en apparence que le fait d’user de « Mademoiselle » pour s’adresser à une jeune femme, ou bien un glacial « t’as vu comment tu t’es habillée, aussi ? » à une femme qui raconte comment elle a failli être violée quelques instants plus tôt. Je comprends que cela provoque un agacement : on déterre toutes ces petites choses qui composent notre vie de tous les jours, toutes ces choses acquises, avec lesquelles on vit. Et remettre en question sa culture est une chose quand on a choisi d’ouvrir les yeux, mais se le prendre en pleine gueule alors qu’on ne s’en soucie pas peut effectivement mettre très mal à l’aise, et occasionner le l’agressivité en signe de défense.

C’est ce qui arrive lorsque que l’on dénonce le sexisme dans la société, mais c’est exactement pareil dans les communautés, comme les geeks. À la différence près que, quand on s’identifie comme geek, on s’attache à cette culture. Et inévitablement, on tombe dans le communautarisme. Que ce soit pour le milieu geek ou les autres. La réponse hautaine qu’on va tenir à un nouveau qui demande des conseils candides (et parfois un peu idiots) dans notre domaine d’expertise, c’est du communautarisme. On a notre communauté, et on veut naturellement s’assurer qu’on n’y entre pas n’importe comment, car c’est un espace familier. Quand on tape parfois brutalement sur Tris quand elle parle de sécu, quand bien même c’est argumenté, c’est du communautarisme, et je reconnais en faire moi-même. Voyez, je reconnais reproduire le problème, et j’en suis conscient. Et pourtant, je continue à lui dire ce que je pense, ce qui est rarement glorieux. Ridicule, vous ne trouvez pas ? D’ailleurs, je ne passe pas à côté du sexisme très installé dans certaines œuvres, comme la série Game of Thrones. Et pourtant, je l’aprécie. Parfois, le fait d’avoir cette analyse inconsciente des constructions genrées dans la fiction gâche le plaisir de la découverte. C’est comme ça, c’est ça le revers de la pilule rouge. On voit le monde encore plus sombre qu’avant. Mais on sait qu’on a alors les clés en main pour changer ça à notre échelle, en commençant par moins reproduire ces schémas. « Moins », et pas « plus », car la tâche est monumentale, et la seule façon de refuser du jour au lendemain toute forme de sexisme serait de couper tout lien avec la société, et de subir un lavage de cerveau. Ce qui ne serait pas très efficace. Alors on accepte de vivre dans ce monde sexiste, on continue d’aprécier des œuvres, même si elles se montrent sexistes. Il faut savoir faire des compromis, et connaître les limites de son militantisme.

Revenons au sujet

Dans ton article, Jérôme, tu persistes à expliquer en quoi tu réfutes le terme de féminisme pour parler d’égalité. Je suis égalitariste, tu le sais. Je ne souhaite pas inverser les privilèges, je souhaite que femmes et hommes soient au même niveau social, aient les même chances par défaut dans la vie.

Mais.

Être pour l’égalité sans aller plus loin, c’est une bien belle déclaration, qui n’a d’égale à son ardeur que son inutilité. C’est une déclaration de principe, rien de plus. Parce qu’il est impossible d’évoquer l’égalité hommes-femmes sans évoquer le patriarcat. Or, je te n’ai jamais vu ne serait-ce qu’employer ce mot. Sais-tu seulement ce qu’il signifie ? Il signifie que la société dans laquelle on vit a été pensée par et pour des hommes, et que les femmes y sont réduites à l’état de ressource. Évidemment, la société a évolué, et la place des femmes avec elle. Reste qu’historiquement, la domination était très claire : les hommes gouvernaient, et les femmes obéissaient. Aujourd’hui, est-ce différent ? « On n’est plus dans les années 50 », mais on n’est pas encore dans les années 10 000. Autrement dit, il y a beaucoup de chemin. Des exemples ? Le plafond de verre, qui symbolise l’extrême difficulté qu’ont les femmes à atteindre les postes à responsabilités. Ou l’inégalité salariale, ou encore la culture du viol, conçue pour culpabiliser les victimes et souvent d’excuser les auteurs. Ou encore la banalité que représente l’abordage d’une femme dans la rue, qui n’a rien demandé. Le patriarcat enseigne qu’on le peut, et qu’une femme doit se faire belle pour plaire aux hommes.

Le patriarcat, c’est une composante majeure de notre société. Il est normal que ça couine un peu quand on tape dessus. En tout cas, si tu souhaites lutter pour l’égalité, il y a une chose importante à faire. Et difficile. C’est le choix de la pilule, dont je parlais plus haut. Admettre l’existence du partiarcat, pour commencer (c’est pas si évident). Et surtout, admettre qu’en tant qu’homme, tu es naturellement privilégié. Ce n’est pas une honte, une critique ou quoi que ce soit. D’ailleurs tu n’y peux rien, tu n’as pas choisi ton genre. Mais c’est un fait, tu fais partie de la « caste » mise en avant par le patriarcat. Il y a fort à parier que l’immense majorité des gens qui liront ce billet sont privilégiés, d’une façon ou d’une autre. Toi, Pierre et moi, nous sommes des hommes blancs hétérosexuels cis (c’est à dire qui vivons notre genre assigné à la naissance). Cela fait 4 raisons d’être privilégiés. Nous sommes réellement quasiment au sommet de la pyramide sociale des discriminations. Ce sont les femmes qui sont victimes du patriarcat. Ce sont tous ceux dont la couleur de peau n’est pas celle des anciens conquérants européens qui sont victimes du racisme. Ce sont les homosexuel·le·s, bis, transgenres et queers qui sont victimes d’homophobie ou de transphobie. Pas nous. Je le répète, ce n’est pas un jugement, mais un constat. En admettant ses privilèges, on accepte de faire partie du problème. À ce moment, ça ne devient plus « des râleuses qui nous emmerdent avec leurs problèmes dont on n’a rien à faire ». On sait qu’on en est aussi, qu’on participe à ça. Après, on est libre de changer nos habitudes. D’accepter, non pas de renoncer à ces privilèges, mais de travailler à les partager. Ce n’est bien sûr pas un acte individuel, et je ne peux pas dire « tiens, prends ma place d’homme aux yeux de la société ». Pas par faute d’envie, mais parce que changer mon regard n’est qu’une pierre à l’édifice. Pour que ça ait un impact, il faut naturellement qu’une masse critique ait conscience de ce problème, et fasse un effort pour y remédier. Cette masse critique, c’est vous et moi, pas « les vilains misogynes ». Admettre ça, c’est lutter pour l’égalité des genres. C’est être féministe.

Et toi, Jérôme, qui es pour l’égalité, t’es-tu remis en question ? Ou te contentes-tu de taper sur celles et ceux qui s’efforcent de sensibiliser les autres ? Au contraire, ai-je envie de dire. Car quand tu dénonces le fait que le dossier de Mar_Lard pointe du doigt « les geeks », il est clair que tu te sens vexé, car on sous-entend que ta précieuse communauté pourrait avoir un problème, pire, que tu pourrais en faire partie. Non content d’être du communautarisme bien idiot, il s’agit d’un rejet pur et dur du problème. Tu préfères penser que le sexisme, bien sûr que ça existe, mais ce sont « les autres ». Pas de ça autour de toi, sinon tu l’aurais vu, n’est-ce pas ? Et si c’était le simple fait de ne pas le remarquer qui te mettait mal à l’aise ? Tu sais, depuis le (faible) temps que je milite pour l’égalité, j’ai fini par repérer les patterns courants de ceux qui tapent sur le féminisme, mais qui sont d’accord sur le principe, hein, mais… Mais faut pas crier aussi fort, mais faut pas généraliser sur les geeks, y’en a des biens… Et là, je ne te fais que les réponses construites. Parce que dans leur immense majorité, les réactions sont purement haineuses. As-tu jeté un œil sur les commentaires du moindre article rédigé par Mar_Lard ? Toi qui parles d’égalité, et de ses billets, n’as-tu pas trouvé pertinent, même si tu souhaitais critiquer intelligemment, de signaler cet état de fait ? D’ailleurs, qu’en penses-tu, toi qui, sans le vouloir, participes à la levée de boucliers qui suit inévitablement ce pavé dans la mare ?

Non pas que le dossier dont il est question ne soit pas critiquable. Au contraire. Il s’agit du travail personnel de quelqu’un de passionnée par le sujet, et dont ce n’est pas le métier. Ça se ressent, évidemment. Mais on va lui reprocher de ne pas parler de quelque chose, d’avoir un ton incorrect. Tout est prétexte à critiquer son texte. Ça a quelque chose de malsain, et je dois dire que je t’en veux de ne pas avoir vu plus loin que ça.

Finalement, tu as raison, tas de pixels. C’est bien une question de binaire. La pilule rouge ou bleue. La reconnaissance du problème ou son déni.

À ceux qui râlent

lundi 22 avril 2013 à 00:00

Bonjour Axolotl !

dimanche 7 avril 2013 à 00:00

Il y a quelques semaines, on m’a parlé de la possibilité d’adopter des axolotls. Je connaissais vaguement ces bestioles, mais la proposition m’a donné envie d’en apprendre plus sur elles. Après lecture de la page Wikipedia, je suis tombé sous le charme de ces bestioles. Voyez par vous-mêmes : une bestiole qui sourit tout le temps, qui passe sa vie sous forme de larve, qui peut se regénérer jusqu’à des parties de son cerveau (Arme X ?), qui a des branchies rigolotes et poilues, et surtout, qui mange comme un idiot tout ce qui est plus petit que lui. Je trouve ça génial.

Un axolotl

J’ai rapidement eu l’idée de monter un petit site, dans la lignée des Bonjour le chat et autres variations plus portées sur les humain·e·s, c’est à dire un blog simpliste postant une photo chaque matin. La quasi-totalité de ces sites est hébergée et gérée par Tumblr, mais vous connaissez mon amour pour les plateformes centralisées et pseudo-gratuites. Je suis donc parti sur Pelican, comme pour mon blog, avec dans l’idée la possibilité d’automatiser la création de posts.

Le travail a donc consisté à :

Installation

Le bon sens et la conception de Pelican veulent que le contenu soit généré depuis le poste local, pour être envoyé vers le serveur sans qu’il ne soit nécessaire d’avoir un interpréteur Python sur celui-ci. Dans mon cas, souhaitant une génération automatique, il m’a semblé plus propice de tout déléguer au serveur. Ainsi, j’ai installé Pelican sur mon serveur en suivant le guide, et configuré le serveur web pour servir le dossier output.

Je me suis aperçu après coup qu’une fonctionnalité intéressante me manquait dans Pelican : la possibilité, pour chaque article, d’avoir le lien vers son prédécesseur et/ou successeur, pour obtenir une navigation simple. Ce fonctionnement peut être obtenu via un plugin : Neighbors. Celui-ci, une fois téléchargé, se place à la racine du projet Pelican, et on l’inclut via le fichier de configuration, que voici :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/usr/bin/env python
# -*- coding: utf-8 -*- #

AUTHOR = u'Axoloto'
SITENAME = u'Bonjour Axolotl'
SITESUBTITLE = u'Le site qui vous fera dire « Bonjour l’<a '\
              +u'href="https://fr.wikipedia.org/wiki/Axolotl">axolotl</a> ! »'\
              +u'<br /><br />Tous les matins, 10h, une nouvelle <strong>photo'\
              +u'</strong> d’<strong>axolotl</strong> !'
SITEURL = 'http://bonjouraxolotl.fr'

TIMEZONE = 'Europe/Paris'

DEFAULT_LANG = u'fr'

# Blogroll
LINKS =  (('Pelican', 'http://docs.notmyidea.org/alexis/pelican/'),
          ('Python.org', 'http://python.org'),
          ('Jinja2', 'http://jinja.pocoo.org'),
          ('You can modify those links in your config file', '#'),)

# Social widget
SOCIAL = (('You can add links in your config file', '#'),
                  ('Another social link', '#'),)

DEFAULT_PAGINATION = 1

THEME = 'template'
FEED_DOMAIN = 'http://bonjouraxolotl.fr'
FEED_RSS = '/feeds'
FEED_ATOM =  None

PLUGINS = ["neighbors"]

Dans les quelques trucs intéressants, notez que j’ai restreint les pages à 1 seul article, et que j’ai inclus le plugin à la dernière ligne. Le reste est très simple. J’ai aussi choisi d’utiliser du RSS au lieu d’Atom.

Création du template

Je me suis basé sur le markup généré par bonjourlechat.fr pour créer mon template. Il n’y a basiquement besoin que de 3 pages : la page d’accueil, la page d’un article, et la page d’archives. D’ailleurs, je ne me suis même pas préoccupé de cette dernière…

Pour commencer, j’ai copié le template notmyidea, situé dans $PELICAN_INSTALL_PATH/themes/notmyidea, dans la racine du projet, renommé en « template ». À l’intérieur de celui-ci, on trouve deux dossiers : static et templates. Le premier sera copié tel quel dans le dossier output, tandis que le second contient le code Jinja permettant de générer les pages. Celles qui nous intéressent sont base.html, index.html, article.html et article_infos.html. La différence entre les deux derniers est que article.html est la page complète d’un article tandis que article_infos* n’est que le bloc HTML d’un article seul. Je l’ai mis dans un fichier à part pour pouvoir l’inclure facilement depuis les différentes pages sans avoir besoin de le réécrire. voici le contenu des fichiers :

base.html

<!DOCTYPE html>
<html lang="en">
<head>
        <title>{% block title %}{{ SITENAME }}{%endblock%}</title>
        <meta charset="utf-8" />
        <link rel="stylesheet" href="{{ SITEURL }}/theme/css/{{ CSS_FILE }}" type="text/css" />
        {% if FEED_ALL_ATOM %}
        <link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom Feed" />
        {% endif %}
        {% if FEED_ALL_RSS %}
        <link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" />
        {% endif %}
</head>

<body id="index" class="home">
    <div id="wrapper">
        <div id="topNav">
            <ul>
                <li><a href="/archives.html">Archives</a></li>
                <li><a href="{{ FEED_DOMAIN }}/{{ FEED_ADD_RSS }}">RSS</a></li>
            </ul>
        </div>
        <div id="contentHolder">
            <div id="mastHead">
                <h1><a href="{{ SITEURL }}/">{{ SITENAME }}</a></h1>
                <p>
                    <span style="font-family: Arial">{{ SITESUBTITLE }}</span>
                </p>
            </div>
            <div id="content">
                <div id="postHolder">
                    {% block content %}
                    {% endblock %}
                </div>
            </div>
        </div>
        <div id="footer">
            <p style="text-align:center">
                Fièrement propulsé par <a href="http://getpelican.com/">Pelican</a>,
                qui se repose sur <a href="http://python.org">Python</a>.
            </p>

            <p style="text-align: center">Thème par
            <a href="http://daelan.com/">Daelan</a>, merci !</p>
        </div><!-- /#contentinfo -->
    </div>
</body>
</html>

article.html

{% extends "base.html" %}
{% block title %}{{ article.title|striptags }}{{ SITENAME }}{%
    endblock %}
{% block content %}
    {% include 'article_infos.html' %}
{% endblock %}

article_infos.html

<div class="post">
    <div class="labels">
        <div class="date">
            <a href="{{ SITEURL }}/{{ article.url }}">
                <span class="month">{{ article.date.strftime('%d %m') }}</span> 
                <span class="year">{{ article.date.year }}</span>
            </a>
        </div>
        <div id="navigation" style="position: absolute; top:0; right: 0;">
            {% if article.prev_article %}
                <a href="{{ article.prev_article.url }}"><b>«</b></a>
            {% endif %}
            {% if article.next_article %}
                <a href="{{ article.next_article.url }}"><b>»</b></a>
            {% endif %}
        </div>
    </div>
    <div class="photo">
        <div class="permalink">
            <a href="{{ SITEURL }}/{{ article.url }}">+</a>
            {{ article.content }}

            <div class="caption"><p>{{ article.title }}</p></div>
        </div>
    </div>
</div>

Un dernier détail : le CSS. J’ai copié bêtement le CSS du site cible, que j’ai mis dans template/css/main.css :

/* -- reset this mutha!  -- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

body {
    line-height: 1;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

/* remember to define focus styles! */
:focus {
    outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
    text-decoration: none;
}

del {
    text-decoration: line-through;
}

/* -- end reset  -- */

body{
    margin:0;
    padding:6px;
    text-align:center;
    font-family: Helvetica, Arial, Verdana, Sans-Serif;
    background: #fff;
}

#wrapper{
    width:895px;
    height:auto;
    margin:0 auto;
    padding:0;
    text-align:left;
}

#topNav{
    position:relative;
    float:left;
    width:895px;
    height:90px;
    margin:0;
    padding:0;
}

#topNav ul{
    position:relative;
    float:right;
    margin:0 0 0 0;
}

#topNav ul li{
    position:relative;
    float:left;
    margin:0 0 0 20px;
}

#topNav ul li a:link,#topNav ul li a:visited{
    font-size:12px;
    color:#000000;
    text-decoration:none;
    background:#FFFFFF;
    border:0;
    padding:3px 6px 3px 6px;
    line-height:18px;
}

#topNav ul li a:hover{
    color:#FFFFFF;
    background:#0000FF;
}

#contentHolder{
    position:relative;
    float:left;
    width:895px;
    height:auto;
    min-height: 500px;
}

#mastHead{
    position:relative;
    float:left;
    width:395px;
    height:auto;
    margin:0 0 0 0;
    display:inline;
}

#mastHead h1{
    margin:9px 18px 18px 0;
}

#mastHead h1 a:link,#mastHead h1 a:visited{
    letter-spacing:-2px;
    font-size:36px;
    background:#0000FF;
    padding:18px;
    line-height:54px;
    border:0;
    text-decoration:none;
    color:#FFFFFF;
}

#mastHead h1 a:hover{
    background:#0000FF;
    color:#000000;
}

#mastHead p{
    font-family:Georgia, "Times New Roman", Serif;
    font-family:#000000;
    font-size:11px;
    padding:9px 36px 9px 18px;
    line-height:18px;
    margin:0;
}

#mastHead form{
    padding:9px 18px 9px 18px;
}

#mastHead input{
    padding:0;
    margin:0;
}

#mastHead a:link, #mastHead a:visited{
    text-decoration:none;
    color:#0000FF;
    border-bottom: 1px dotted #FFFFFF;
}

#mastHead a:hover{
    text-decoration:none;
    color:#0000FF;
    border-bottom: 1px dotted #FFFFFF;
}

div.photo img{
    border:0;
}

a.hyperLink:link,a.hyperLink:visited{
    color:#0000FF;
    text-decoration:none;
    font-size:18px;
    line-height:18px;
    font-weight:bold;
    border:0;
}

a.hyperLink:hover{
    color:#FFFFFF;
}

.description{
    position:relative;
    float:left;
    width:100%;
    height:auto;
    margin:18px 0 18px 0;
}

.post{
    position:relative;
    float:left;
    border-bottom:1px dotted #ccc;
    padding:0 0 18px 0;
    width:100%;
    height:auto;
    font-size:11px;
    line-height:18px;
    margin:0 0 18px 0;
}

.labels{
    margin:0;
    padding:0;
}

#content{
    position:relative;
    float:left;
    width:500px;
    height:auto;
    margin:0 0 0 0;
    display:inline;
}

#content p{
    font-size:11px;
    line-height:18px;
    margin:0 0 18px 0;
}

#content h2{
    position:relative;
    float:left;
    width:500px;
    padding:0 0 0 0;
    height:auto;
    line-height:18px;
    font-size:18px;
    margin:0 0 18px 0;
}

#content h2 a:link,#content h2 a:visited{
    color:#0000FF;
    text-decoration:none;
    border:0;
}

#content h2 a:hover{
    color:#FFFFFF;
}

.date{
    border-bottom:1px dotted #666;
    float:left;
    font-size:18px;
    font-weight:bold;
    letter-spacing:-1px;
    margin:0 0 18px 0;
    padding:0;
    position:relative;
    text-transform:uppercase;
    line-height:18px;
    width:500px;
}

.year{
    color:#0000ff;
    letter-spacing:0;
}

.month{
    color:#0000FF;
    letter-spacing:0;
}

#content a:link, #content a:visited{
    text-decoration:none;
    color:#0000FF;
    border-bottom: 1px dotted #FFFFFF;
}

#content a:hover{
    text-decoration:none;
    color:#0000FF;
    border-bottom: 1px dotted #FFFFFF;
}

#footer{
    position:relative;
    float:left;
    width:895px;
    height:auto;
    border-top:1px dotted #efefef;
    padding:18px 0 0 0;
    margin:18px 0 18px 0;
}

#footer p{
    font-size:11px;
    line-height:18px;
    margin:0 20px 0 20px;
}

#footer a:link, #footer a:visited{
    text-decoration:none;
    color:#000;
    border-bottom: 1px dotted #FFFFFF;
}

#footer a:hover{
    text-decoration:none;
    color:#0000FF;
    border-bottom: 1px dotted #FFFFFF;
}

.caption{
    position:relative;
    float:left;
    margin:18px 0 18px 0;
    width:100%;
    height:auto;
}

.regular, .quote, .video, .photo, .audio, .conversation, .link{
    position:relative;
    float:left;
    width:100%;
    height:auto;
}

big{
    font-size:24px;
    line-height:18px;
    padding:0 5px 0 0;
}

.source{
    color:#666;
}

.permalink{
    position:absolute;
    top:0;
    left:-18px;
    height:18px;
    margin:0;
    padding:0;
    line-height:18px;
}

#navigation {
    font-size: 22px;
    font-weight: bold;
}

#pages{
    font-weight:normal;
    color:#999;
    padding:0;
    font-size:11px;
    margin:10px 0 0 0;
}

Voilà tout pour la partie Pelican. Vous avez un beau site, vide mais beau. Maintenant, remplissons-le dynamiquement.

Le contenu

Les sites bonjour* ont généralement une légende sous chaque photo. Disons qu’on s’en fout. J’ai opté pour un fonctionnement minimaliste : on pose des images dans un dossier, et le script, appelé une fois par jour, prend la plus ancienne pour en faire un article puis la supprime.

# -*- coding: utf-8 -*-

import os
import locale
from datetime import date
import Image

locale.setlocale(locale.LC_TIME, 'fr_FR.utf-8')

content_dir = 'content'
content_image_dir = 'images'
source_dir = 'source'
max_size = (500, 500)

def create_article(filename):
    today = date.today()
    output_filename = '%s.jpg' % today.strftime('%Y-%m-%d')
    im = Image.open(os.path.join(source_dir, filename))
    im.thumbnail(max_size)
    im.save(os.path.join(content_dir, content_image_dir, output_filename))

    article_vars = {'today_str': date.today().strftime('%a %d %b %Y'),
                    'date': today.strftime('%Y-%m-%d'),
                    'output_filename': output_filename}

    article = """Title: %(today_str)s
Date: %(date)s

![%(today_str)s](./images/%(output_filename)s)""" % article_vars
    with open(os.path.join(content_dir, output_filename.replace('jpg', 'md')), 'w') as article_file:
        article_file.write(article)

file_list = os.listdir(source_dir)
oldest_file = None

for cur_file in file_list:
    cur_mtime = os.path.getmtime(os.path.join(source_dir, cur_file))
    if not oldest_file or cur_mtime < oldest_mtime:
        oldest_file = cur_file
        oldest_mtime = cur_mtime

create_article(oldest_file)
os.remove(os.path.join(source_dir, oldest_file))

Enregistrez ça dans la racine du site, sous le nom content_generator.py par exemple. C’est testé sous python 2.6 et 2.7. À chaque appel, il listera les fichiers dans source (vous devriez créer ce dossier), les classera par date de modification, puis dépilera la première pour en faire un article : il la redimensionnera aux dimensions voulues, puis écrira un article basique en Markdown, contenant seulement l’image et la date.

À ce niveau, le billet sera écrit mais pas encore publié. C’est un script bash qui s’en chargera, et qui sera appelé par cron. Enregistrez ce qui suit dans cron.sh à la racine du site :

1
2
3
4
5
6
#!/bin/bash

PATH="/usr/local/bin:/usr/bin:/bin"
cd /path/to/bonjouraxolotl
python content_generator.py
make html

Adaptez bien évidemment les chemins. Il ne reste plus qu’à éditer la crontab :

# crontab -l
0 10 * * * /path/to/bonjouraxolotl/cron.sh

Tous les matins à 10h, un nouvel axolotl !

EDIT : corrections et amélioration du script python par Rogdham, merci à lui.

Bonjour Axolotl !

dimanche 7 avril 2013 à 00:00

[Traduction] Rajouter du napalm sur le feu

vendredi 1 mars 2013 à 00:00

Ça fait longtemps que je n’avais pas traduit de billet d’Okhin. Celui-ci est particulièrement intéressant, et parle à nouveau de sexisme.

Si vous avez la flemme de tout lire, voici un résumé :

Allez vous faire voir, arrêtez d’être fainéant·e et lisez.

Rajouter du napalm sur le feu.

Mise au point

Je suis privilégié. Peu importe ce que je peux dire sur l’état de ce monde, il est clair que je suis né de son meilleur côté. Je peux m’exprimer sans risquer d’être frappé ou torturé. Je peux traverser la rue pour acheter à manger sans risquer de me faire abattre par un sniper. Je sais que je dors au chaud chaque nuit, et que je peux avoir trois repas (ou plus) par jour (tant que je n’oublie pas de les prendre).

Et je ne serai pas insulté, agressé, violé, considéré comme une minorité, je ne me sentirai pas en danger pour le simple fait de marcher dans la rue.

Tout ça parce que je suis un homme blanc. J’ai acquis des privilèges (que je n’ai pas demandés) par le simple fait d’être né. Et c’est naze. Je veux dire, le fait d’avoir des privilèges implique que j’aie du pouvoir sur d’autres personnes. Et c’est naze, parce que ça signifie que ces personnes (celles sur lesquelles j’ai du pouvoir) ne sont pas libres, ce qui entrave ma liberté (si les personnes autour de moi ne sont pas libres, je ne peux pas bénéficier de ma liberté).

Alors oui, être privilégié rend la vie plus facile, mais ça ne va pas. Je ne veux pas de ça. Et se débarasser de ça prendra beaucoup de temps, parce que la société dans laquelle je vis a besoin de changer beaucoup plus globalement. Et ça commence en sensibilisant sur la situation (et ensuite en la changeant en abandonnant ce pouvoir).

Faits et statistiques

S’il n’y avait aucune discrimination dans l’éducation, alors les compétences seraient également réparties dans la population, et donc vous devriez trouver des personnes compétentes n’importe où. Je veux dire, si 20% de la population avait la peau bleue, alors il devrait y avoir 20% de personnes à la peau bleue parmi les gens qui cuisinent. Ça vous semble correct ?

Donc, si notre système éducatif fonctionne bien, il devrait tendre à développer l’intérêt et la curiosité de façon égale. Alors, le fait que j’aie rencontré 5 femmes depuis que j’ai commencé mes études dans un domaine technologique (une dans une société, les 4 autres étaient des camarades de classe) est soit une erreur statistique, soit la preuve que le système ne fonctionne pas aussi bien. J’ai rencontré d’autres femmes dans les départements technologiques dans lesquels j’ai travaillé, mais elles occupaient principalement des postes créatifs (design, intégration…).

Il y a donc quelque chose de cassé là-dedans. J’ai un problème pour rester longtemps dans une société : depuis 13 ans que je travaille (oui, j’ai commencé tôt), hormis la société dans laquelle j’ai fait mon apprentissage, je n’ai jamais passé plus d’un an dans la même entreprise. Donc ça en fait 8. De différentes tailles, de différents horizons.

Et bien, je n’ai jamais rencontré une femme dans les départements IT de ces boîtes. Parfois, c’était moi le département IT, mais même dans les équipes de développement, je n’ai jamais rencontré une seule femme. Les seules femmes que j’ai rencontrées viennent de la scène hacker (et la plupart du temps, je ne l’apprenais qu’en les rencontrant dans le meatspace, mais c’est un autre sujet).

Donc, quand quelqu’un me dit, au sujet du sexisme, que « si ce n’est pas cassé, il ne faut pas essayer de le réparer » comme un argument pour ne pas penser à des politiques anti-harcèlement, je pense qu’ils ont tort. C’est un problème.

Un politicien sauvage apparaît !

L’autre jour (deux ou trois jours avant cette rédaction), @_LaMarquise a été agressée dans la rue par un type se masturbant en public, et elle en a parlé sur twitter. Un illuminé de service, @romain_pp, a trouvé pertinent de faire une plaisanterie à ce propos. Le fait est que cette personne est membre du Parti Pirate Français et Suisse, et si j’ai bien tout compris au fonctionnement de ce parti, n’importe qui peut parler en son nom. C’est même écrit dans le nom de son compte twitter, dans sa description, et même dans son image d’arrière-plan. Alors ouais, c’était la parole du Parti Pirate.

Les choses se sont envenimées sur Twitter, et la principale argumentation contre La Marquise était qu’elle n’était pas rationnelle. Je vais développer plus tard, mais basiquement, je tend à penser qu’on ne peut pas attendre de quelqu’un sous le choc d’être rationnel.

On lui a aussi dit qu’elle était agressive, qu’elle ne devrait pas rendre publiques ces choses personnelles, comme une agression (très bien, alors pourquoi est-ce que les gens tweetent à propos de leur vie privée ?), qu’elle ne devait pas déranger leur petite tranquilité.

Le Parti Pirate a écrit une lettre en réponse à La Marquise. Ils l’ont fait en privé (étant donné que je n’ai pas pu la trouver en ligne). Ce que je trouve étrange pour un parti qui défend la transparence à tous les niveaux de la société. Ceci dit, les systèmes informatisés sont sympas, parce qu’ils permettent de copier les choses à coût négligeable, et donc voici une copie de cette lettre (elle a été fournie par Marquise, et je n’ai aucune raison de douter de sa parole là-dessus). En substance, ils disent regretter ce que l’un de leurs membres a dit, et également le « buzz » qui s’en est suivi. Ils n’ont pas saisi l’opportunité d’opter pour une position plus active, pas plus qu’ils n’ont blâmé le membre.

Basiquement, la lettre est une tentative d’effort pour calmer le jeu sans prendre réellement position pour ou contre le sexisme. S’ils sont contre le sexisme, ils devraient, au moins, renvoyer Romain, sinon ils n’auraient pas besoin d’écrire à ce sujet. Cette lettre prouve que ce qui est important pour eux est d’éteindre l’incendie médiatique plutôt que défendre une position.

Ce qui est honteux est également qu’ils sont généralement les premiers à blâmer ce genre de comportement dans les autres partis. Il y a aussi un problème concernant la liberté d’expression, mais j’y reviendrai.

Au sujet de la violence

Vivre dans la peur d’être agressé·e ou violé·e n’aide pas à garder la tête froide. Comme je l’ai dit (et d’autres l’ont dit aussi), garder la tête froide est un privilège des gens qui ont du pouvoir, ne l’oubliez pas. L’insurrection, et la nécessité du changement, mènent à la violence, c’est inévitable. Ce billet l’explique assez bien, et cette citation est intéressante :

La soumission des opprimés est liée à l’ordre établi. C’est le fait de déranger cet ordre en brisant ses chaînes, et en s’en prenant aux maîtres qui est perçu comme un scandale. Dans le langage des maîtres, qui devient le langage courant, la violence ne vient pas de ceux qui commettent cette violence, mais des vilains qui osent se rebeller.

--

Igor Reitzman

Quand quelqu’un vous crie dessus à propos de quelque chose, vous devriez l’écouter, parce que cette chose est importante pour la personne (si ça ne l’est pas pour vous). Vous n’imagineriez pas les Révolutionnaires Français demander gentiment à Louis XVI s’il accepterait de bien vouloir céder le pouvoir. Un tas de personnes ne voudrait pas abandonner le pouvoir, et il faut parfois les forcer à le faire.

Ça m’a pris un moment pour comprendre ça, parce que ce n’est jamais agréable quand des gens vous hurlent dessus. C’est irritant, et on a tendance à répondre à l’agressivité par l’agressivité. Je ne suis pas sûr d’être totalement d’accord avec ça, mais j’essaie de comprendre les raisons pour lesquelles les gens crient (et j’essaie aussi de ne pas répondre trop rapidement, parce qu’en général ça n’aide pas la situation, quelle qu’elle soit).

Alors oui, des féministes utilisent la violence, qu’elle soit physique ou morale. Et si ça vous dérange, ça veut dire que ça marche. Vous devriez poser des questions et tenter de comprendre pourquoi elles sont en colère, au lieu de leur dire de se calmer.

Au sujet de la liberté d’expression

Par ailleurs, je suis contre la censure. Ça veut dire que je condamne le fait de brider la parole. Je veux que les nazis puissent exprimer leurs idées, car c’est comme cela que vous pourrez trouver leurs idées dangereuses. Et je veux que les misogynes puissent le faire aussi, parce que c’est comme ça que vous les reconnaîtrez. Et c’est également le seul moyen d’échanger avec eux autour du problème.

Mais la liberté d’expression va dans les deux sens. Ce n’est pas parce que quelqu’un est autorisé à dire quelque chose qu’il n’a pas le droit d’être contredit, décrié, puni ou autre. Vous avez le droit de faire des blagues sexistes. Et j’ai le droit de vous dire qu’elles ne sont pas drôles. J’ai même le droit de le dire à tout le monde. Si vous ne le voulez pas, et que vous préférez pouvoir dire ce que vous voulez sans conséquences, alors vous défendez la censure.

Alors oui, ça me dérange, ce qui est arrivé à BSides (voici le point de vue de Violet , et celui de AdaInitiative. Pour résumer, une conférence sur le sexe et les drogues, qui avait été annoncée, a été supprimée de l’agenda à cause de la peur d’une chasse aux sorcières par l’équipe du BSides (que ce soit à l’initiative d’AdaInitiative ou non n’est pas très clair à mes yeux) au prétexte qu’il pourrait y avoir des victimes de viol qui auraient pu être stressées (il semble que c’est comme ça que les troubles de stress post-traumatiques) si elles avaient assisté à la conférence, et que parler de la façon dont les drogues fonctionnent, en particulier le GHB, dans une conférence nommée « Sexe et drogues : vulnérabilités connues et méthodes d’exploitation » serait une incitation au viol.

L’argument est que, dans les conférences de hack, les gens font des sujets nommés « Vulnérabilités connues et méthodes d’exploitation » pour encourager l’exploitation de ces vulnérabilités. Et bien c’est une idée fausse. La plupart de ces conférences se préoccupent plus d’expliquer comment se protéger contre ces vulnérabilités plutôt que comment les exploiter.

En général, ces vulnérabilités sont patchées au cours de la conférence, ou du moins, les gens qui gèrent le logiciel en question travaillent dessus (s’ils prennent leur boulot au sérieux, je veux dire). Bien sûr, certains les utilisent pour leur propre profit, mais il s’agit d’une minorité.

Et en réalité, les gens qui utilisent ces vulnérabilités pour leur propre profit n’ont pas intérêt à ce que celles-ci soient connues. Les rendre publiques est de la prévention et de l’éducation, ce n’est pas fait pour mettre en danger les gens. C’est comme ça que la prévention fonctionne.

Maintenant, faut-il faire de la prévention dans la communauté technophile ? Bien sûr qu’il le faut. Il y a tout un historique d’agressions sexuelles et de viols dans ce genre de conférences. Si vous refusez d’en parler, vous ne pouvez éduquer les gens et vous ne les changerez pas. AdaInitiative disent qu’ils organisent leur propre camp pour en discuter. Mais c’est comme faire une campagne de prévention des drogues dans un camp de scouts : vous n’aiderez pas des drogués à gérer leur addiction.

Alors oui, il nous faut éduquer nos camarades hackers, particulièrement lors d’occasions où il y a beaucoup d’alcool, de drogues et de manque de sommeil, parce que tout cela change votre perception des choses. Alors en parler est une nécessité. Et, si la discussion devient offensante, alors les gens doivent le dire et le condamner, mais vous ne pouvez pas savoir comment ça se passera avant que ça n’arrive.

Il y a toujours ce problème avec les victimes de viols et les TSPT. Je peux comprendre que des gens ayant subi une agression et/ou un viol n’aient pas envie d’être exposés à une conférence qui en parle (hé, c’est à eux de gérer leur souffrance comme ils l’entendent). Et il semble qu’il y ait une coutume autour des « trigger warnings », que je ne comprends pas tout à fait (ça semble fonctionner un peu comme les labels « PEGI » pour les jeux vidéos).

Fin

Hmm, je pense avoir loupé plusieurs points. Ou je peux me planter sur d’autres. Si vous le pensez, faites-le moi savoir. Vous pouvez me trouver assez facilement.