Petite installation d’un serveur samba avec authentification unix

J’ai eu le besoin de configurer un serveur samba pour des utilisateurs linux et windows, mais je n’arrive pas à trouver de solution d’administration satisfaisante. Le serveur de partage est hébergé sur un serveur debian.
Tout d’abord, rappelons que samba est une implémentation unix du partage de fichier au format NTFS de windows. Il permet de mettre à disposition des fichiers sur un réseau pour tous les utilisateurs d’un lan, avec une gestion des droits assez fine. J’ai personnellement une nette préférence pour NFS, mais bien entendu, NFS n’est pas disponible pour les utlisateurs windows.

Pour l’installer, pas de soucis:

apt-get install samba samba-common

Le fichier de configuration est /etc/samba/smb.conf . Le fichier d’installation de base de debian est une mine d’information.

Les aspects de sécurité sont importants dans l’installation d’un montage Samba.

-Les users autorisés à se connecter sont des utilisateurs unix du serveurs
-Leurs mots de passe (unix et samba) sont synchronisés dans le sens unix vers samba. Toutefois l’implémentation que j’ai de cette synchronisation a un défaut majeur qui la rend selon presque inutilisable. Nous verrons cela plus bas.

-On restreint les interfaces en écoute et on met des iptables pour restreindre l’accés à certains ports (ceux de nmbd et smbd, les démons utilisés).

Je vous donne ici les seuls paramètres que j’ai changés par rapport au smb.conf d’origine:

# interfaces sur laquelle tourne le serveur samba
interfaces = 192.168.3.0/24
# bind seulement sur les interfaces ci-dessus
bind interfaces only = yes
# tout utilisateur samba doit être un utilisateur unix
security = user
# le home de root ne peut pas être un partage et root ne peut pas se connecter
invalid users = root
# le nombre max de partages utilisateurs
usershare max shares = 10

Ce qui nous donne:

[global]
workgroup = WORKGROUP
server string = %h server
;   wins server = w.x.y.z
dns proxy = no
;   name resolve order = lmhosts host wins bcast
interfaces = 192.168.3.0/24
bind interfaces only = yes
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = user
invalid users = root
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Entersnews*spassword:* %nn *Retypesnews*spassword:* %nn *passwordsupdatedssuccessfully* .
pam password change = no
usershare max shares = 10
[homes]
comment = Home Directories
browseable = no
read only = no
create mask = 0700
directory mask = 0700
valid users = %S
donne pour le fichier dans son ensemble:

Afin de pouvoir synchroniser les mots de passe, j’ai besoin de libpam-smbpass :

apt-get install libpam-smbpass

Afin de pouvoir utiliser ce module PAM pour synchroniser les users, j’ai besoin de modifier les fichiers suivants:
/etc/pam.d/common-password

password   required   pam_unix.so nullok obscure md5
password   required   pam_smbpass.so nullok use_authtok try_first_pass

/etc/pam.d/common-auth

auth    required        pam_unix.so nullok_secure
auth    optional        pam_smbpass.so migrate

Ce dernier, par l’option migrate, permet de modifier (et créer) les utilisateurs samba quand on modifie le mot de passe par passwd. La restriction que j’exprimais est que le mot de passe n’est effectivement changé en base smb que quand l’utilisateur se sera loggé sur son compte par mot de passe. Ceci est particulièrement contraignant dans l’administration du système au quotidien et je suis à la recherche d’autres solutions.

Par conséquent pour activer un compte blah:

$useradd -m blah
$passwd blah

Attention pour être en base smb, le user doit maintenant se logger lui-même.

Comment utiliser le système?
Sur un poste linux:

sudo mkdir /mnt/blah
sudo mount -t smbfs //192.168.3.253/blah /mnt/blah -o user=blah,password=xxxxxx,uid=1000

où user blah est le user distant, password est le mot de passe et uid est l’uid de l’utilsateur local qui utilisera /mnt/blah. Sinon, il n’aura pas les droits en écriture.

Sur un poste windows: je ne sais pas bien, mais cela se fait en quelques clics, non?

Afin de sécuriser l’accès aux services, en ne l’autorisant que depuis le réseau local, j’applique les iptables suivantes:

iptables -A INPUT -p udp -m udp  --dport 137 -j DROP
iptables -A INPUT -p udp -m udp  --dport 138 -j DROP
iptables -A INPUT -p udp -m udp  -s 192.168.3.0/24 --dport 137 -j ACCEPT
iptables -A INPUT -p udp -m udp  -s 192.168.3.0/24 --dport 138 -j ACCEPT

En conclusion, je ne peux pas me satisfaire de cette solution, mais c’est la seule que j’ai pour le moment. Si quelqu’un a d’autres idées, je suis preneur!

Un petit conseil openvpn pour la route

Bonjour,

Presque un an que je n’ai pas écrit ici. Je ne m’en satisfais pas car cette année encore, la communauté open-source m’a enrichi d’idées, de nouveautés, de méthodes et de nouveaux softs toujours plus performants. Alors, stephbul parle à stephbul:

“Et toi, stephbul, qu’as-tu fait pour la communauté?” Pas grand chose répond stephbul, pas grand chose.

Ce petit conseil est une goutte d’eau dans la marée heureuse de l’open-source, mais il est bien utile.

Vous avez des services qui ont besoin d’écouter sur votre interface tun0 créée par openvpn, mais ce service est lancé avant openvpn. Que va-t-il se passer? Ou le service écoutera sur les autres interfaces ou le service ne démarrera pas. Et si le service openvpn est soudainement arrêté, que se passera-t-il?  Que faire?

Plusieurs méthodes vont sourdre des esprits. Une seule méritera qu’on la retienne!

A jeter dans /dev/null:

-Le cron qui reloadera le service… Je suis sûr que certains y ont pensé! Voire, certains plus malins que les autres ne reloaderont le service que si tun0 est up, ce qu’ils auront testés par un [ ! -z "`ifconfig | grep tun0`" ]… brrrr, j’en ai des frissons.

-Changer l’ordre des initscripts avec update-rc.d… Très mauvais, car ce n’est pas l’ordre de démarrage qui compte. Il faut juste que les services soient lancés alors que tun0 est up. Si les initscripts sont rapprochés, votre service aura été appelé après openvpn, mais tun0 ne sera pas encore up pour autant.

Non, la seule solution à garder est celle offerte par openvpn lui même:

-L’option –up cmd . Celle-ci permet d’exécuter une commande, un script au moment où l’interface devient up . Je recommande donc de mettre dans le fichier /etc/default/openvpn:


OPTARGS="--script-security 2 --up monscript.sh"

Le script-security 2 permet d’exécuter un code tiers, nécessaire pour exécuter monscript.sh, en charge de recharger les services.

Je vous laisse deviner ce que peut signifier l’option –down .

Des soucis de disque dur

Lors de la panne d’un disque dur, il me semble que personne n’a pu éviter de penser que ce n’était vraiment pas le moment. Quand il s’agit d’un serveur sur lequel est hébergé des services (ce blog notamment), il faut réagir vite pour ne pas frustrer les innombrables lecteurs que vous êtes. La panne d’un disque a des effets différents et par chance, par moment, elle s’annonce par quelques symptômes avant-coureur, des petits bruits, des problèmes de système de fichier. Hier, ce ne sont pas des bruits qui m’ont alerté puisque ma machine se trouve à environ 250 km de mon domicile, mais l’impossibilité d’effectuer certaines commandes unix, celles qui nécessitaient notamment l’écriture dans ma partition / de mon file system.

La commande dmesg du serveur sous une distribution linux ubuntu server me renseignait alors très bien:

[1815129.630045] hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
[1815129.630055] hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=61642, high=0, low=61642, sector=61639
[1815129.630069] ide: failed opcode was: unknown
[1815129.630076] end_request: I/O error, dev hda, sector 61639
[1815129.630136] journal_bmap: journal block not found at offset 7180 on hda1
[1815129.630167] Aborting journal on device hda1.
[1815129.631994] journal commit I/O error
[1815129.632192] ext3_abort called.
[1815129.632211] EXT3-fs error (device hda1): ext3_journal_start_sb: Detected aborted journal
[1815129.632237] Remounting filesystem read-only

L’impossibilité d’accéder à certains secteurs avait obligé ext3 à placer la partition / en read-only. La partition /home n’est pas passée en lecture seule, enfin pas encore et il est préférable d’agir immédiatement, en prenant le temps d’aller vite et garder son calme.

La principale contrainte: faire du back-up rapide en évitant les écritures sur le disque.

Sauvegarder ce blog utilisant le moteur de blog wordpress:
Impossible de faire un dump de la base sql, puisque mysqldump a besoin d’écrire dans /tmp. Il va donc falloir faire une copie de l’arborescence. Ce n’est pas une solution à recommander, mais c’est la seule que j’ai. Je vais devoir récupérer /var/lib/mysql

Backuper /home:
La dernière version de son backup est évidemment trop ancienne.

Backup les confs:
La mauvaise gestion de mes arborescences de configuration est flagrante, elles sont toutes dans /etc, ce qui m’oblige aussi à le sauvegarder. Je ne m’y referai plus prendre, elles seront toutes, c’est décidé, dans /home/user/etc afin que la sauvegarde soit plus simple.

Bien, comment faire un backup de tout cela qui soit rapide?
-scp? Non, trop lent, pas besoin de chiffrer, d’autant que je passe déjà par un vpn, l’overhead de chiffrement de ssh ne me satisfait pas.
-L’élégant tar, tar cvf – /source-dir | ssh user@backup-server.home “cat > /backup/source-dir.tar n’est pas plus souhaitable, pour la même raison.
-Puis, toujours dans l’idée d’aller lentement pour aller vite, je parle à iMil de mes soucis. Il me glisse l’idée de passer par netcat pour effectuer un back-up rapide. Je ne connais pas et l’idée de prendre le temps d’apprendre, là maintenant, dans la panade ne me me plait pas d’emblée. Je dois prendre le temps, mais tout de même. Le principe est d’écouter sur un port d’un côté et de mettre dans stdout ce qu’on y reçoit, et d’envoyer stdin de l’autre machine sur ce port. L’intérêt est alors de l’associer à tar. L’idée fait son chemin. Quelques minutes plus tard:

$ man netcat

me donne nc – TCP/IP swiss army knife. J’aime bien l’idée.

Après quelques essais, j’obtiens sur la machine où je veux backuper:

$ netcat -l 3869 | tar xfp -

Cette commande met en écoute netcat sur le port 3869 et envoie le résultat vers le stdin (-) de tar pour l’extraire.

Sur la machine que je veux backuper:

$ tar cvfp - source-dir | netcat host 3869

où source-dir est le répertoire à sauvegarder sur la machine host.
Comme je ne sais pas si tar -z a besoin des droits d’accès en écriture, j’évite de l’utiliser. Si d’ailleurs quelqu’un a la réponse, il peut me laisser un petit comment.

La phase la plus difficile est de prioriser le backup sans rien oublier. Je pense la phrase “Tu n’as rien oublié?” complètement inutile et parfaitement stupide. Le risque d’oubli n’est pas nul, et comme je ne peux pas envisager faire un backup total de la machine qui serait beaucoup trop long et inutile, il faut se concentrer, faire le tour de l’arborescence, puis refaire un tour… et se lancer.

Se lancer, cela veut dire, ouvrir un ticket chez le hoster de mon serveur dédié. Je dois reconnaître qu’OVH, mon hoster a été très rapide pour intervenir. Deux heures plus tard, mon disque était changé, l’install d’une debian 5.0 terminée. J’abandonnai ubuntu pour debian.

Il me reste à cet instant l’install, la config de tous les services, aussi proprement que possible pour faciliter les backups.

Je vous fais une liste des opérations que j’ai effectuées pour avoir mon service up and running:

-Changement du mot de passe root
-Modification du /etc/apt/sources.list pour le faire pointer sur une debian testing ou stable, au choix. stable est plus conseillé sur une machine de prod, bien entendu.

/etc/apt/sources.list:

deb http://ftp.fr.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ stable main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free

-Je ne veux pas utiliser lilo, et préfère grub.

apt-get remove lilo
apt-get install grub
update-grub
grub-install "(hd0,0)"
grub
>root (hd0,0)
>setup (hd0)
>quit

Il faut alors installer le kernel pour ne pas utiliser le kernel monolythique proposé par le hoster.

apt-get update
apt-cache search kernel-image et choisir le bon.
apt-get install kernel-image-2.6.26-2.i686
apt-get dist-upgrade

Rebooter.
Tout s’est bien passé dans mon cas. Je peux continuer:

-Modification du hostname
-Création de mon user principal useradd -m user
-Modification du /etc/ssh/sshd_config pour interdire l’accès en ssh à root et l’accès par mot de passe:

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no

-Récupération du répertoire .ssh des utilisateurs qui se connectent par ssh dans lequel on a les clés autorisées.
Attention, à partir de cet instant, il ne faut plus fermer son terminal avant d’avoir tester la connexion par clé, sous peine de devoir rebooter en mode rescue avec un mot de passe root fourni par OVH, monter ses partitions à la main et changer la config de ssh. Le mode rescue d’OVH est excellent, mais il est préférable d’en éviter la lourdeur inévitable.

etc/init.d/ssh restart

Essayer de se connecter avec un autre terminal, si c’est ok, on continue.

-Installation de openvpn en tant que serveur.
Pour respecter mon engagement, je place tous mes fichiers de conf dans /home/user/etc/openvpn et rien dans /etc/openvpn et je n’utilise pas le script /etc/init.d/openvpn start pour le démarrer, mais je préfère screener l’application

cd /home/user/openvpn/
screen -S openvpn
openvpn --config server.conf

Ctrl a-d # pour détacher le screen sans le terminer
A cet instant, si vous êtes encore plus novice que moi et que nous ne connaissez pas screen, un “man screen” est obligatoire.

server.conf est mon fichier de conf server.conf, récupéré de mon backup. J’ai bien entendu modifié les chemins d’accès vers /home/user dans celui-ci.

Passons au service apache pour relancer blog et wiki.

sudo apt-get install apache2 php5 mysql-server php5-mysql libapache2-mod-gnutls

L’utilisateur www-data est créé automatiquement par l’installaton d’apache2, mais je lui crée son répertoire et mot de passe. Je déplace toutes les conf apache dans /home/www-data/ et fais un dans /etc fait un ln -s /home/www-data/etc/apache2 apache2 en modifiant /home/www-data/etc/apache2/apache2.conf

Je laisse mysql configuré comme par défaut dans /etc/mysql, celui-ci ne nécessite pas de modification dans mon cas et la sauvegarde doit se faire par mysqldump.

Je copie la base sql de mon blog dans /var/lib/mysql/bulblog, je modifie les propriétés avec chown.
J’utilise wordpress comme moteur de blog. Le nom du user utilisant la base mysql se trouve dans wp-config.php avec son mot de passe. Je crée l’utilisateur avec des droits d’accès depuis localhost seulement.

mysql -u root -p

mysql> CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'wpuserpass';
mysql>  GRANT ALL ON *.* TO 'wpuser'@'localhost';
mysql> quit

Attention, il est important de ne laisser l’accès que depuis localhost, car l’utilisateur a tous les droits.

Dans apache, il faut maintenant recopier tous les contenus des pages backupées dans les bons répertoires des config de site définis dans /home/www-data/etc/apache2/sites-available
Un test préalable du serveur apache lui-même est conseillé avec la page par défaut “it works”.
Ensuite, il faut activer les sites avec la commande:

a2ensite filename

où filename est le nom du fichier de conf du site dans /etc/apache2/sites-available qui est un lien vers /home/www-data/etc/apache2/sites-available .

On termine avec un /etc/init.d/apache2 restart

Utilisant dokuwiki pour mon wiki, la gestion par fichier plat des données simplifie grandement le backup, la simple copie avec les bons droits et bons propriétaires suffit pour remettre l’ensemble en service.

Puisque vous pouvez lire ces lignes, c’est que mon aventure s’est bien terminée et que j’ai pu reprendre le cours normal de mes opérations. Si j’étais un habitué des bonnes résolutions, je me promettrais de travailler plus proprement sur les backups.

En tout cas merci à iMil pour ses conseils, innombrables et toujours judicieux.

Le monde tousse…

Fabio est un pizzaïolo avec service de livraison à domicile réputé sur Paris dans le 12eme arrondissement. Il a de l’ambition, il veut ouvrir une pizzeria dans le 13ème arrondissement basée sur le même modèle. Il recherche un local, il va voir son banquier, pèse le pour le contre, vérifie sa situation financière et constate que son affaire sera rentable un an plus tard, le temps d’effectuer les travaux, monter l’installation. Pour amortir l’investissement, Fabio a tout intérêt à commencer à trouver des clients sur place dès la signature du bail, les livrer depuis le 12ème arrondissement le temps des travaux, afin de monter plus rapidement en puissance à l’installation finale.
Quelques années plus tard, l’entreprise de Fabio a très bien fonctionné, ses méthodes commerciales ont été créatives, son entreprise de pizza est devenue un grand groupe qui au fil des années, au grés de stratégies nouvelles est devenue un laboratoire pharmaceutique très puissant. Aujourd’hui, Fabio est à la retraite, son fils, Giaccomo a pris sa succession. L’entreprise investit dans la construction d’une usine d’anti-grippaux à hauteur de 100M€ en Hongrie avec un partenariat avec le ministère de la santé du pays. Comme depuis toujours, il a intérêt à trouver des clients sur place, en plus de ceux habituels afin de rentabiliser l’investissement colossal que représente cette construction. Giaccomo a de bonnes relations avec le ministre de la Santé, qui joue bien au golf. Ils sont partis à plusieurs reprises ensembles lors des négociations pour l’implantation de l’entreprise. Le ministre aime beaucoup l’île Maurice, il a apprécié les invitations, l’hospitalité de Giaccomo, ils ont sympathisé, sa femme est agréable et intelligente, ses enfants très drôles. L’autre jour, juste après la signature du contrat, ils ont ri d’un cas étrange de décès par infection bactérienne suite à un virus grippal dans une province du pays.

Mais fallait-il en rire, vraiment?

Giaccomo attend le lendemain, lorsque ils sont loins de femmes et enfants pour ne pas les inquiéter, sur le trou 12, pour évoquer le sujet de ce cas de grippe. Il faut absolument informer les services de santé du pays, ce peut être une pandémie qui démarre, cela ressemble aux hypothèses envisagées par les laboratoires. Les jours se passent, et à bien y chercher, on trouve plusieurs autres cas comme celui-là dans le pays. Giaccomo prend l’information très au sérieux et d’un ton solennel annonce au ministre de la Santé, son ami, que la pandémie guette. Il faut agir. Organiser la communication pour informer et ne pas inquiéter. Le ministre en difficulté sur deux autres dossiers n’a pas envie de mal gérer la situation de crise qui s’est enclenchée.

Compte tenu de la situation, 12 jours plus tard, l’état signe avec l’entreprise une commande de 20 millions de doses d’anti-grippaux. C’est un pur hasard, mais cela permet de provisionner quelques rentrées d’argent pour l’investissement dans l’usine.

AVERTISSMENT: ce petit texte est une pure fiction. Ce que vous lirez sur ce lien n’a sûrement rien à voir.

Un Conti.

Le bip sonore a retenti comme à son habitude, pas de surprise. C’était toujours pareil, quand Jean-Michel revenait de vacances, ce geste automatique et le son à l’approche de son badge sur le mur, le replongeaient dans l’univers de l’atelier. Conti. Bientôt trente ans qu’il travaille pour la maison. Le mêtier a suivi de nombreuses évolutions, il a fallu à chaque fois s’y faire, mais si Jean-Michel regarde derrière lui, il n’est pas mécontent, il connaît son mêtier, dernièrement, il a quitté l’équipe qui s’occupait du curage pour être maintenant au contrôle-qualité. Premier passage visuel de tous les pneus, puis passage à la radio. Les procédés ont beaucoup progressé, il y a de moins en moins de déchets. Il pensait que c’était moins difficile, plus reposant la qualité, mais finalement, la cadence est là, sa responsabilité est engagée, il prend à coeur de bien faire, mais parfois, un coup de mou, une fatigue, un stress, il se sent moins vigilant et pense qu’il a peut-être baissé en attention, laissé passer un défaut.

La pointeuse

Les 35h, c’est de l’histoire ancienne, les 35h, on les a vite oubliées, toutes les équipes sont repassées à 40h pour sauvegarder l’emploi, la décision n’avait pas été facile, les 35h, tout de même c’était un peu plus de confort, les cadences avaient un peu été modifiées, mais pas tant que ça. Maintenant, les cadences sont restées avec le passage aux 40h. Les emplois aussi. Ca valait le coup quand même. Se retrouver au chômage, c’est pas possible, quitter la région, en vacances oui, mais prendre ses bagages, les enfants sont grands, ils n’ont pas envie, ils tiennent encore plus à leurs amis qu’à leurs parents. La sortie de terre, ce n’était pas ici, mais on est venu et on a pris racine. Enfin, pas possible. Si bien sûr. Jean-Michel se dit bien qu’il aimerait parfois aller ailleurs, le proposer à Michèle, repartir vers d’autres aventures. Jean-Michel, c’est le Sud-Ouest qui l’attire. Il n’ose pas vraiment l’évoquer avec Michèle, juste parce qu’il a peur qu’elle saute sur l’occasion, elle est moins pantouflarde. Lui, c’est une idée qu’il a, un projet, c’est la possibilité de se dire qu’il peut. Une roue de secours. De là à le faire.

Il retrouve l’atelier, son poste, on passe le voir, on le salue, on lui tape sur l’épaule, on lui propose un bière demain soir et un billard au “bon coin”. Il demande des nouvelles, à Marc de Cynthia, sa femme, malade. Ca peut aller, mais le regard est lourd et plonge. Il ne s’attarde pas, aimerait dire à Marc, courage, mais juste, ça lui couperait les jambes à Marc. A Erwan de son père, qui est parti à la retraite l’année dernière et qui déprime. Arrivent en même temps Candice, Agnès, ses collègues de la qualité. Mais c’est Jean-Mimi, je croyais que tu rentrais mercredi. j’te fais la bise, hein. Ca a été tes vacances? T’étais où? Sur la côté d’Azur, Fréjus, c’est ça? Non, la Creuse. Ah, mais, qu’j'suis conne, tu me l’avais dit. Jean-Michel pense, mais non, t’es pas conne, tu t’en fous, c’est tout. Puis je ne t’en veux pas, je voudrais juste que tu ne fasses pas semblant. Candice est plus discrète. Bonjour, ça va? Bon, ça va faire du bien de retrouver l’homme de l’atelier, parce qu’entre filles, ça craint, reprend Agnès, ça se crèpe le chignon. Tout l’atelier éclate de rire. Jean-Michel, juste plus lent à revenir, a un sourire moins franc. Les pneus arrivent, on reprend. La pause ne va pas tarder à être attendue, en fait, c’est vrai, les premiers pneus du matin, on est souvent motivé, on est strict, le moindre doute, double contrôle. Par contre, la fatigue vient vite, la vigilance n’est pas constante, parfois, on reprend un pneu, le doute, à d’autres moments, on ne le reprend pas. Jean-Michel, dans l’automatisme, est encore un peu en vacances, il aurait bien aimé rester avec Michèle aujourd’hui, qui a pris un jour de plus, pour ranger, faire les lessives, un plein de courses. Les vacances leur ont fait un bien fou, ils ont été pleinement à deux une semaine et Jean-Michel craignait un peu ce moment et non, ils ont vraiment aimé être tous les deux, ils ont bien ri, en prenant le pneu suivant, un sourire, l’allégresse est là, son coeur est ailleurs, son coeur est léger. Quelques instants.
La pause.
Café, ça ne discute de rien en faisant du bruit, quand il parle avec Michèle, il parle de tout de rien, mais c’est pas grave, ils sont juste là, bien, c’est pas pour fuir, maintenant, ici, ce n’est pas pareil, tout le monde se fuit, Jean-Michel trouve qu’il y a moins de projets, d’amitié dans les équipes, de solidarité, lui le premier, il n’accuse pas, c’est juste un constat. Il a bien conscience que son jugement est faux, biaisé par l’humeur de retour de vacances, il a bien des amis ici. Il se demande si on retrouverait autant de solidarité s’il fallait sauver des emplois aujourd’hui, s’il fallait se battre. Est-ce qu’on n’est pas un peu anesthésié?

Les délégués sont sombres, le climat n’est pas bon, le dialogue est tendu, pas de perspectives claires de la Direction et finalement aucune info. De toute façon, la situation n’est pas bonne, le groupe va sans doute licencier, la cadence des 40000 pneus est lointaine, mais ici, on se sent protégés, puisque on est passé aux 40h, avec engagement de la Direction sur pas de licenciement. L’accord, les détails, les conditions précises sont un peu oubliés, mais l’accord est là. Un rempart. D’ailleurs, personne n’en parle, ni eux, ni les délégués, ni la direction. L’autruche. Le délégué cfdt qui n’est pas né de la dernière pluie, qui est plus rigoureux, personne ne l’aime parce que c’est lui qui a peut-être le plus conscience que la protection est peut-être un peu légère, un peu fictive. Une ligne Maginot.
Reprise. Jean-Michel passe au toilette rapidement, il croise Urbain, le délégué CGT, ça va, Urbain? Ouais, et toi? Fait longtemps que je ne t’avais pas vu? J’étais en vacances. Eh, eh, les congés payés. Ouais. A plus.

Michèle passe prendre Jean-Michel à la fin de la matinée, ils n’ont qu’une voiture, et elle en avait besoin pour les courses. Il pourra d’ailleurs l’aider à tout ranger. Michèle n’a pas repris le travail, mais l’hypermarché, dans la grisaille, le long de la Nationale, avec les herbes salies, les détritus de la bretelle d’accès, ça la mine. Dans la voiture, ils ne parlent pas beaucoup. Jean-Michel a son coeur gros, son estomac noué, là, à l’instant, il pourrait dire à Michèle qu’il l’aime, il voudrait lui dire aussi de ne pas prendre la sortie, continue, on part, on prend la route. Mais non.

De retour, ils sortent une poëlée paysanne surgelée, la font réchauffer, rapidement, Jean-Michel passe arroser les géraniums le long de la véranda. Ils ont bientôt fini de payer la maison, pense-t-il, c’est bon, de rentrer ce midi. Il retrouve son sourire, Michèle a l’air mieux qu’il y a quelques minutes. A table, il soupire, il peut maintenant parler, reprendre le contrôle aujourd’hui lui a moyennement plu, dans la routine avant les vacances, ça lui plaisait, mais là, l’idée de faire ça est moins attirante. Michèle le réconforte, c’est la reprise, ça ira mieux dans quelques jours.

En fond sonore, Michèle a allumé le JT de TF1, pour se mettre un peu au goût du jour. Les deux semaines les ont coupés du monde. Quand dans le fond, ils entendent Clairoix, ils sursautent, pas tous les jours qu’on parle de Clairoix. Continental qui annonce un plan de suppression de poste. 1600 postes, dont la fermeture du site de Clairoix. La fermeture du site de Clairoix. La fermeture du site de Clairoix.

Jean-Pierre Pernaut est déjà passé à autre chose. Le reste devient insupportable à Jean-Michel, qui se lève pour éteindre le téléviseur avant de se diriger vers la vitre de la véranda. Il regarde le jardin, immobile. Michèle est restée à table et le regarde, silencieuse. Jean-Michel n’a pas envie de pleurer, il n’est pas non plus en colère. Impassible. Les flashs lui viennent un à un, désorganisés, que vont-ils faire? Pourquoi ne lui ont-ils pas dit, ce matin, à l’usine? La grève? Préparer son départ? Son jardin, sa maison, tout ça pour ça. Il était assez fier d’avoir réussi à acheter le pavillon, l’avoir fait à leur image, tout cela semble s’évanouir, en deux phrases de journal télévisé, par une décision de quelques bonshommes à Hanovre. Quelle blague ces 40h? Le sentiment d’humiliation éclot au moment où Michèle prononce les premiers mots. Allez, tu vas voir, on va s’en sortir. Que dire d’autre? Rien. Tu as raison. Michèle s’était approchée et il la serre par l’épaule. Faut y retourner. Je te conduis? Si tu veux, si tu as besoin de la voiture.

De retour à l’atelier, Jean-Michel entre, il ne sait pas comment dire ce qu’il a vu, il a peur de passer pour un imbécile parlant d’histoire ancienne, en même temps, il ne voit pas comment personne ne lui aurait parlé ce matin.
Personne n’a regardé le journal, ce midi?
Non, j’ai mangé ici.
Non, pas envie.Vous êtes au courant? L’usine?
Quoi?
Ce midi, à TF1, ils ont dit qu’ils ferment l’usine.
Le silence s’installe et un à un, ils quittent tous l’atelier, se dispersent, la nouvelle court d’atelier en atelier. Le travail ne reprend pas et ne reprendra pas de la journée, de la semaine. La grève s’organise, la colère gronde, la direction ne communique pas. Les organisations syndicales sont déboussolées mais déterminées et se rassemblent. L’inter-syndicale s’active déjà. Jean-Michel devant la réaction de tous est un peu rassuré.

Jean-Michel, à cet instant, réalise qu’il doit choisir, la lutte au côté des autres, ou la lutte seul avec Michèle, seuls dans la jungle. Vendre, partir avant que tout s’écroule, sauver sa peau, oublier, reconstruire ailleurs, prendre la route ou faire confiance une fois de plus à la lutte syndicale.
Ils choisiront tous la lutte collective, la solidarité. Tous n’auront pas le même engagement charnel, la même mobilisation physique mais tous sentent monter la rage.
Tous ne passeront pas aux actes violents mais tous, face à tant de mépris, d’humiliation, les accepteront.

On s’étrangle.

L’après-midi avance, le printemps s’installe, l’atmosphère est paisible pourtant une magistrale erreur politique, l’illustration de l’incompétence crasse d’un côté et de la persévérance de l’autre ont eu lieu ce midi sur les bancs de l’Assemblée Nationale. La loi “Création et Internet” a été rejetée par les députés, en raison de l’absence de nombreux députés ump. Les députés de l’opposition, du centre, tous peu nombreux eux-aussi, auront eu, à la surprise générale, raison d’une logique dépassée, d’une méthode politique d’un autre temps. L’avenir dira si cette loi sera finalement votée au forceps par le sénat avant de revenir à l’Assemblée Nationale, mais là, n’est pas l’important.

Cet après-midi, le net fête cela à sa manière, chacun se déchaîne, les railleries envers la ministre de la Culture, Christine Albanel, envers Frédéric Lefebvre, vont bon train, alors que déjà, le jeune Franck Riester, rapporteur de la loi est oublié. Cet échec est assurément l’illustration de la vacuité de ces trois larons, marionnettes politiques d’intérêts plus hauts et plus sournois, mais aussi d’une politique générale qui, à force de manipuler l’opinion, à force de ne travailler qu’en faveur d’intérêts privés quand on s’attendrait, à l’Assemblée Nationale, à un travail tourné vers l’intérêt général, échoue face à un combat politique vaillamment mené par l’ensemble d’une communauté, la communauté du logiciel libre, emmenée par la Quadrature du Net, groupe de travail, de réflexion, apportant son appui aux députés opposés à cette loi et permettant aux députés ump de comprendre le risque politique à voter une telle loi, expliquant leur absence ce jour.

Le propos de ce post est avant tout de remercier personnellement l’ensemble des participants à la lutte, _jz, en premier lieu ainsi que tous les membres de la Quadrature du Net, pour la qualité et la pertinence de leurs réflexions, GCU-squad et iMil ensuite, pour la détermination et l’humour, et enfin tous ceux qui ont apporté leur petite pierre à la lutte.

Je suis enfin persuadé que cet évènement peut être aujourd’hui l’illustration que le combat démocratique, même si parfois décourageant, si épuisant, vaut toujours la peine d’être mené quelqu’en soit l’issue. Puisse être ce jour la renaissance de la défense des idées, puisse être ce jour l’avènement d’une conscience politique parfois éteinte, puisse être ce jour la prise de conscience de l’utilité de chacun dans notre démocratie.

Encart publicitaire du gouvernement.

Pourquoi le gouvernement utilise-t-il des encarts publicitaires dans la presse écrite pour promouvoir ses réformes et communiquer sur sa volonté d’avancer? Promouvoir un produit quand on est une entreprise est-il du même ordre que défendre une politique quand on est un gouvernement? Les réformes, si elles sont utiles, ne doivent-elles pas être éprouvées au quotidien par les citoyens? Encore, faut-il qu’elles les concernent, mais si ce n’est pas le cas, ces réformes ne doivent-elles pas être éclairées, mises en perspective par une presse indépendante, puis enfin interrogées par le citoyen, lui-même et confrontées à ses choix politiques? Quand on sait que grand nombre de quotidiens par leur mode de distribution sont, de fait, en train de devenir des gratuits, leur financement par un appareil gouvernemental ne met-il pas encore plus en question leur indépendance?

Je m’interroge sur le glissement que fait opérer à notre société l’exercice de communication permanent auquel, quotidiennement, tous nous nous prêtons.

News about pytemplate: version 1.4.0 available!

Hello

pytemplate, the python template framework, is now in version 1.4.0. What’s new for this version? it uses optparse to create options, meaning that options can now be created easely from your program and that pytemplate.py does not need to be modified anymore. It also means that this version is really able to be a pythondistributed module.

For more information, to download it,  go to the pytemplate project page.
deb and rpm package to install as a python distributed module are available at this page.
Have fun.

Stephbul