Le vacarme des bombes et le silence de la Gauche

Chers ami(e)s, chers camarades,

Je m’adresse exceptionnellement à vous pour transmettre toute mon indignation au regard de la position politique défendue par les principaux représentants de la Gauche française concernant la situation en Libye.

Je suis outré par l’attitude irresponsable de nos représentants politiques qui ont commis une grave erreur en cautionnant, au sein du parlement européen, une position commune pour la mise en place de la résolution 1973 du conseil de sécurité de l’ONU.

Il faut ici rétablir une vérité et dénoncer un mythe : cette résolution n’a jamais eu pour objectif de défendre « le peuple »  libyen. La résolution et les pays à l’origine de cette initiative (La France, l’Angleterre et les Etats-Unis) avaient pour unique objectif d’obtenir un passe-droit pour s’immiscer dans les affaires internes d’un pays souverain.

Je réfute donc totalement les arguments défendus par la majorité des partis de gauche. Ils auraient dû dénoncer l’hypocrisie sans nom que constituait cette résolution de l’ONU. Les partis de gauche auraient dû dénoncer la manipulation et la propagande visant à nous faire croire qu’il n’y avait pas d’autres solutions alternatives à une intervention militaire.

Depuis quand l’ONU protège-t-elle les peuples en créant des zones d’exclusion aérienne?

Quelle résolution de l’ONU a permis la création d’une zone d’exclusion aérienne pour empêcher les avions et hélicoptères de Tsahal de bombarder les populations civiles de Gaza ?

Entre 1959 et 1975, quelle résolution de l’ONU a permis la création d’une zone d’exclusion aérienne pour empêcher les avions états-uniens de lancer des bombes de napalm sur le peuple vietnamien?

Depuis quand l’ONU prend-il parti pour un camp plus qu’un autre dans le cadre d’une guerre civile?

Quelle résolution de l’ONU a permis de soutenir ouvertement la guérilla zapatiste au Mexique en 1994 ? Quelle résolution a protégé les populations indigènes du Chiapas des massacres perpétrés par l’armée mexicaine à cette époque ?

Quelle résolution de l’ONU a permis de soutenir ouvertement la guérilla sandiniste en lutte contre le dictateur Somoza au Nicaragua en 1978?

Quelle résolution de l’ONU a permis de soutenir la guérilla cubaine en lutte contre la dictature de Fulgencio Batista en 1958?

« Le capitalisme porte en lui la guerre comme la nuée porte l’orage. » Jaurès

Notre devoir de militant internationaliste n’est pas de défendre l’intervention de nos armées impérialistes (sous quelque mandat que ce soit) mais de défendre l’inaliénable droit des peuples à disposer d’eux-mêmes, le dialogue, la médiation et la paix. La lutte armée, la guerre ou toute intervention militaire est pour nous, citoyens internationalistes, depuis toujours le dernier des recours. Faudrait-il le rappeler?

Entre la passivité et une intervention militaire, il y avait plusieurs issues possibles et notamment la proposition de médiation proposée par les présidents Latino-Américains et ignorée par l’ONU,  le monde entier, à commencer par nos partis de gauche. Alors que près d’un mois avant que ne tombent les premières bombes, Fidel Castro (1), les présidents Chavez (Venezuela), Correa (Equateur), Morales (Bolivie), Ortega (Nicaragua) avaient prévenu le monde entier des menaces impérialistes qui planaient sur la Libye et le peuple libyen.

AUCUN PARTI POLITIQUE en France n’a relayé ces analyses. AUCUN PARTI POLITIQUE en France, n’a soutenu l’initiative de paix présentée par ces présidents d’Amérique du Sud. L’histoire aujourd’hui leur donne raison.

Quand bien même cette initiative aurait échoué, elle nous aurait permis d’être à l’origine de mobilisation pour la paix et pour la défense de la souveraineté du peuple libyen. Cette posture politique nous aurait donné, aujourd’hui, la possibilité de faire barrage aux motivations impérialistes de Nicolas Sarkozy et de l’UMP.  Maintenant que la Gauche française a cautionné l’intervention militaire, elle est dans une impasse.

Où est la cohérence, entre la position politique de la gauche aujourd’hui et nos actions d’hier, lorsque nous dénoncions l’entrée de la France dans le commandement intégré de l’OTAN, initiative de l’UMP qui annonçait clairement des prétentions impérialistes futures?

Je suis convaincu que nous aurions véritablement aidé le peuple libyen en tenant en laisse notre chien de guerre de président.

« La liberté de la presse s’arrête là où commence mon droit à une véritable information », VD

Ce qui me frappe, c’est l’illusion qu’arrive à créer nos adversaires politique, en nous faisant croire que nous connaissons tout et comprenons toute la complexité politique qui existe en Libye.

Qui est capable de situer la Libye sur une carte? Qui est capable de décrire les régions de ce pays? Qui connaît la date de l’indépendance de la Libye et les conditions historiques dans laquelle elle se réalisa? Qui est en mesure d’expliquer les projets politiques des deux camps qui s’affrontent aujourd’hui en Libye?

Il serait intéressant de demander au 60% de français qui soutienne l’intervention militaire en Libye de répondre aux questions précédentes pour savoir sur quels éléments ils fondent leur opinion.

Je suis étonné de la facilité avec laquelle le citoyen lambda est capable d’affirmer avec conviction que Kadhafi est le méchant et que les habitants de Benghazi sont les gentils (2). D’autant plus lorsque l’on sait que l’opinion publique est forgée à partir des informations fournies par le journal de 20h, 20 minutes ou direct matin.

Il convient de rappeler que 70% des dépêches qui circulent dans les rédactions du monde entier proviennent d’agences de presse situées aux Etats-Unis et en Europe.

Compte tenu des contraintes de temps imposées aux journalistes pour effectuer leur travail, il est humainement impossible de pouvoir vérifier la véracité de toutes ces dépêches. Par conséquent, il faut être vigilant sur les informations fournis par les mass-médias.

Quand on connait également le besoin pour les forces impérialistes de préparer le terrain de l’opinion publique pour donner une légitimité à une intervention militaire où que ce soit (par ex : Armes de destruction massive en Irak), il faut être doublement vigilant.

L’Impérialisme, stade suprême du capitalisme

Le soir des premiers bombardements en Libye, en l’espace de quelques heures, le pays qui a comme Président le prix Nobel de la paix, a envoyé 110 missiles Tomahawks (3). Sachant qu’un seul de ces missiles coûte 569 000 dollars.  Cela fait donc 62,59 millions de dollars qui sont partis en fumée pour détruire des vies humaines.

Alors que ces dernières années, la droite enterre petit à petit le programme du conseil national de la résistance sous prétexte que les caisses de l’Etat sont « vides » et que nous sommes en pleine crise (du capitalisme). Combien de millions d’euros qui ne seront donc pas investis dans le logement ou la santé, sont actuellement gaspillés pour assouvir les prétentions impérialistes de la droite française ???(4) Qui dénonce cela?

Un peuple a le droit et le devoir de s’insurger pour renverser un gouvernement qui viole ses droits fondamentaux. En revanche, une armée étrangère, l’ONU, le Pape ou la Gauche française ne peuvent pas se justifier,  se vanter d’user ou même de déléguer ce droit.

La position politique défendue par nos représentants de gauche cautionne le deux poids, deux mesures de l’ONU et de l’UMP. Ceci est intolérable.

Par respect et solidarité pour nos frères Libyens qui sont les seuls à pouvoir décider du futur politique de leur pays, je refuse de cautionner la position de nos représentants de gauche.

Mobilisons-nous camarades pour dénoncer l’hypocrisie de l’ONU et l’impérialisme « humanitaire » de la droite.

Défendons la souveraineté nationale et la paix en Libye.

Fraternellement,

Miguel

Sources:

(1): http://www.legrandsoir.info/Le-plan-de-l-OTAN-est-d-occuper-la-Libye.html

(2): http://www.legrandsoir.info/Bombarder-la-Libye-de-1986-a-2011-Countercurrents.html

(3) : http://www.google.com/hostednews/afp/article/ALeqM5j2l3a0BG7QXcmFeMeoXoG5zxLcVA?docId=CNG.27b1069401b8b574be3606496b0f4aa9.661

(4): http://lexpansion.lexpress.fr/economie/ce-que-coute-la-guerre-en-libye_251160.html

Publié dans Politique & société | Un commentaire

Télécharger une vidéo flash RTMP avec Linux

Pour regarder une vidéo flash en streaming depuis un site de télévision ou autre (streaming rtmp) sans utiliser le plugin flash, on peut télécharger la vidéo sur son ordinateur comme ceci :

  1. Ouvrir la page web avec Firefox. Clic droit puis Code source de la page.
  2. Rechercher l’insertion de la vidéo, en général « <embed> », par exemple <embed src= »http://site.tv/player.swf?admin=false&amp;autoPlay=true&amp;videorefFileUrl=http%3A%2F%2Fsite.tv%2Fvideos%2FmyFilm%2Cvideo.xml » […]>
  3. L’URL d’un fichier XML est transmise au player flash. C’est ce fichier qui contiend la véritable référence vers la vidéo. On copie donc cette URL dans la barre d’adresse du navigateur en remplaçant les codes de caractères spéciaux par les caractères eux-mêmes, ici : http://site.tv/videos/myFilm,video.xml
  4. Le fichier XML est affiché par Firefox. On recherche dedans l’URL directe du flux video (il peut y en avoir plusieurs, par exemple la vidéo normale ou haute définition). Par exemple rtmp://site.tv/365/2744?lg=en
  5. Installer flvstreamer (apt-get install flvstreamer pour Ubuntu, urpmi flvstreamer pour Mandriva, etc)
  6. Le lancer avec l’URL rtmp : flvstreamer -o outputFile.flv -r « rtmp://site.tv/365/2744?lg=en« 
  7. Si le téléchargement est incomplet et que le message suivant s’affiche : ERROR: ReadPacket, failed to read RTMP packet header
    Download may be incomplete (downloaded about 57.20%), try resuming
    Il suffit de poursuivre le téléchargement en relançant la commande avec l’option -e en plus :
    flvstreamer -e -o outputFile.flv -r « rtmp://site.tv/365/2744?lg=en »
  8. Tant que le fichier n’est pas complet, relancer cette même commande.
  9. Il ne reste plus qu’à lire le fichier outputFile.flv avec mplayer ou vlc !
Publié dans Notes Info | Laisser un commentaire

Synchronisation automatique entre deux disques NAS

Scenario

On a deux disques réseaux NAS (dans ce cas deux Iomega StorCenter ix2). On veut qu’un groupe d’utilisateurs (sous Windows/Mac OS X/Linux) puisse sauvegarder ses données vers un de ces disques et qu’il y ait une copie supplémentaire sur le deuxième disque (sauvegarde hors-site). La sécurité n’est pas un enjeu majeur ici, car tout se passe sur un réseau interne. Un mot de passe stocké en clair dans un serveur n’est pas dramatique.

Synchronisation quotidienne par un ordinateur linux

Configuration

Chaque utilisateur a un compte et un répertoire réservé sur le disque Disk1. Sur le disque Disk2, il y a un répertoire « Backups ». L’accès à ces répertoires est autorisé par le protocole de partage Windows/CIFS/SMB sur les deux disques.
Dans cet exemple, les deux disques ont un nom DNS défini (Disk1 et Disk2). On peut aussi utiliser l’adresse IP des disques à la place.
Un utilisateur backupUser est déclaré sur les deux disques. Sur Disk1, il a les droits de lecture sur tous les répertoires des utilisateurs. Sur Disk2 il a un accès complet (lecture-écriture) au répertoire Backups.
Sur l’ordinateur linux, il faut créer les répertoires /mnt/serv1 et /mnt/serv2.

Script de sauvegarde

Un script perl, backupNAS.pl effectue la copie du disque 1 sur le disque 2 :

#!/usr/bin/perl -w
#
# Il faut : - un utilisateur backupUser avec - les droits de lecture sur tous les répertoires du Disk1
#                                                                 - les droits d'écriture sur le répertoire Disk2/Backups
#           -  Le répertoire Disk2/Backups doit contenir un fichier nommé AutoBackup

# Monter le Disk2 dans le répertoire /mnt/serv2
`umount /mnt/serv2; mount -t cifs -o user=backupUser,password="MyBackupPassword",iocharset=utf8,file_mode=0777,dir_mode=0777 //Disk2/Backups /mnt/serv2/`;
$err1 = $?;

# On vérifie que le fichier "AutoBackup" est présent et qu'il n'y a pas eu d'erreur
if ((not -e '/mnt/serv2/AutoBackup') or $err1 != 0){
	die "ERROR : cannot mount Disk2 !\n";
}

# On liste les dossiers du disque 1
@shareList1 = `smbclient -N -L //Disk1`;

# On filtre pour n'avoir que les dossiers partagés. Les lignes ressemblent à : 
# "        nomDossier        Disk  "
@reps1 = ();
print "Disk 1\n";
foreach $share1(@shareList1){
	chomp $share1;
	if ($share1 =~ /^\s+(\S+)\s+Disk\s+/){
		($name,) = $share1 =~ /^\s+(\S+)\s+Disk\s+/;
		push (@reps1, $name);
	}
}

# Chaque répertoire du disque 1 est monté, copié puis démonté
foreach $rep1(@reps1){
	`umount /mnt/serv1`;
	`mount -t cifs -o user=backupUser,password="MyBackupPassword",ro,iocharset=utf8,file_mode=0444,dir_mode=0555,noperm //Disk1/$rep1 /mnt/serv1/`;
	if ($? != 0){
		print "ERROR : Directory //Disk1/$rep1 mount failed !\n";
		next;
	}
	print "SYNCHRO rsync /mnt/serv1/ /mnt/serv2/$rep1\n";
	print `rsync -rltpv --stats  /mnt/serv1/ /mnt/serv2/$rep1`; # --del if deleted files must be removed on Disk2 too
 }
`umount /mnt/serv1`;
print "SERVER 1 : backup to DISK 2 is done !\n";

Script Cron

Il manque un petit script pour appeler le script ci-dessus chaque jour et créer un log de la sauvegarde. On édite /etc/cron.daily/backupNAScall :

#!/bin/bash
echo >> /var/log/backupServers.log
echo >> /var/log/backupServers.log
echo "-------------------------------------------------" >> /var/log/backupServers.log
echo "Beginning BACKUP -> Launching backupNAS.pl" >> /var/log/backupServers.log
date -R >> /var/log/backupServers.log
perl /pathToScript/backupNAS.pl >> /var/log/backupServers.log

echo "BACKUP FINISHED" >> /var/log/backupServers.log
date -R >> /var/log/backupServers.log
echo "**************************************************" >> /var/log/backupServers.log

Chaque jour, la sauvegarde est lancée et des logs détaillés (y compris date, heure et liste des fichiers mis à jour) sont stockés dans le fichier /var/log/backupServers.log !

Depuis un des disques (en cours…)

Le prochaine étape sera de supprimer le PC Linux et d’exécuter le script de sauvegarde sur le système linux minimal d’un des disques. Ce qui suit est spécifique au modèle de disque réseau utilisé (des Iomega StorCenter ix2).
Un serveur ssh peut être activé sur le disque en allant sur la page https://adresseDisque/support.html et en cliquant sur la première icône. Une fois le disque redémarré (en suivant les instructions)on peut se connecter au disque avec ssh root@adresseDisque. Le mot de passe est « soho » suivi du mot de passe du compte administrateur configuré sur le disque (dans l’interface web). On a accès à un petit système Linux (sans perl ni bash, juste sh ou ash – donc le code précédent ne fonctionnera pas tel quel. Par contre rsync est présent).

Dans /etc/crontabs/root il y a un message pour signifier que pour créer des tâches répétées, il faut utiliser le fichier sohoProcs.xml :

# DO NOT SCHEDULE TASKS HERE (use sohoProcs.xml to schedule tasks)
Le fichier /usr/local/cfg/sohoProcs.xml semble correspondre. On y trouve des déclarations comme :

<Program Name= »reportquota » Path= »/bin/sh »>
<Args>/usr/bin/reportquota</Args>
<SysOption Days= »1″ Scheduled= »1″ StartTime= »01:00″/>
</Program>

Je n’ai pas encore essayé d’ajouter une déclaration pour mon script, mais ça doit être la bonne direction pour lancer un script chaque jour à 1h du matin…

Ce wiki pourrait être utile : http://ix2-200.wikidot.com/

Scenario

You have two NAS devices, for example two network hard drives (in my case Iomega StorCenter ix2). You want your users (Windows/Mac OS X/Linux) to be able to backup their data to one of them, and have a mirror of the backups on the second one (off-site backup). The setup does not need to be very secure, as this works on an internal network, so a password stored in cleartext in a script is not a big deal.

Daily Synchronization by a linux computer

Setup

Each user has an account and associated directory on Disk1. On Disk2, there is only one « Backups » directory. Windows share/CIFS/SMB is activated in both disks.
Here, both disks have DNS names « Disk1 » and « Disk2 ». You can use the IP adress of the disks instead.
A backupUser user is declared on both disks, with reading rights only on all Disk1 directories, and all rights on Disk2 Backups directory.
On the linux computer, the directories /mnt/serv1 and /mnt/serv2 must be created.

Backup script

First, let’s make a small perl script backupNAS.pl to perform the backup :

#!/usr/bin/perl -w
#
# You need : - a backupUser with - all reading rights on all Disk1 directories
#                                                   - writing rights in Disk2/Backups
#           - the  Disk2/Backups directory must contain a file named AutoBackup
#

# Mounting Disk2 in /mnt/serv2
`umount /mnt/serv2; mount -t cifs -o user=backupUser,password="MyBackupPassword",iocharset=utf8,file_mode=0777,dir_mode=0777 //Disk2/Backups /mnt/serv2/`;
$err1 = $?;

# Check : There must be an "AutoBackup" file in the directory if the disk in mounted correctly
if ((not -e '/mnt/serv2/AutoBackup') or $err1 != 0){
	die "ERROR : cannot mount Disk2 !\n";
}

# Get the list of user directories in Disk1
@shareList1 = `smbclient -N -L //Disk1`;

# Filtering the list to get only the shared directories. Lines should look like 
# "        username        Disk  "
@reps1 = ();
print "Disk 1\n";
foreach $share1(@shareList1){
	chomp $share1;
	if ($share1 =~ /^\s+(\S+)\s+Disk\s+/){
		($name,) = $share1 =~ /^\s+(\S+)\s+Disk\s+/;
		push (@reps1, $name);
	}
}

# Each directory will be mounted then unmounted
foreach $rep1(@reps1){
	`umount /mnt/serv1`;
	`mount -t cifs -o user=backupUser,password="MyBackupPassword",ro,iocharset=utf8,file_mode=0444,dir_mode=0555,noperm //Disk1/$rep1 /mnt/serv1/`;
	if ($? != 0){
		print "ERROR : Directory //Disk1/$rep1 mount failed !\n";
		next;
	}
	print "SYNCHRO rsync /mnt/serv1/ /mnt/serv2/$rep1\n";
	print `rsync -rltpv --stats  /mnt/serv1/ /mnt/serv2/$rep1`; # --del if deleted files must be removed on Disk2 too
 }
`umount /mnt/serv1`;
print "SERVER 1 : backup to DISK 2 is done !\n";

Cron script

Now, let’s create a small script that will call this one daily and log the results. Edit /etc/cron.daily/backupNAScall :

#!/bin/bash
echo >> /var/log/backupServers.log
echo >> /var/log/backupServers.log
echo "-------------------------------------------------" >> /var/log/backupServers.log
echo "Beginning BACKUP -> Launching backupNAS.pl" >> /var/log/backupServers.log
date -R >> /var/log/backupServers.log
perl /pathToScript/backupNAS.pl >> /var/log/backupServers.log

echo "BACKUP FINISHED" >> /var/log/backupServers.log
date -R >> /var/log/backupServers.log
echo "**************************************************" >> /var/log/backupServers.log

Now each day, the backup will start and detailled logs (including the date and time) will be stored in /var/log/backupServers.log !

From the NAS (in progress…)

Next step would be to remove the need for the linux computer entirely and execute this on the small linux system of the NAS disk. The following is specific to the NAS device (Iomega StorCenter ix2).
A ssh server can be activated on the NAS by going to the page https://myDiskAddress/support.html, then activating the access option.
When the disk has rebooted, you can connect to it with ssh root@myDiskAddress. The password is « soho » followed by the admin account password that was set up to access the web interface. With this, you have access to a small system (without perl or bash, just sh or ash – the previous code won’t work on this device « as is ». rsync is there, though).

In /etc/crontabs/root there is a warning :

# DO NOT SCHEDULE TASKS HERE (use sohoProcs.xml to schedule tasks)
The file /usr/local/cfg/sohoProcs.xml seems to be the right place for schheduled tasks. In it, we find commands like this :

<Program Name= »reportquota » Path= »/bin/sh »>
<Args>/usr/bin/reportquota</Args>
<SysOption Days= »1″ Scheduled= »1″ StartTime= »01:00″/>
</Program>

I did not try to add a custom command yet, but this should be the way to go…

This wiki might be helpful : http://ix2-200.wikidot.com/

Publié dans Notes Info | Laisser un commentaire

Origine de PyVotons!

Ce texte résume les idées principales qui ont mené au lancement de PyVotons!. Il date de février 2009, bien avant la première initiative concrète vers PyVotons.

Il s’agissait de proposer des outils logiciels pour faire fonctionner un groupe (dans ce cas un parti politique pour l’élaboration de son programme) avec des initiatives et des décisions collectives.

Logiciel DECISION

Les utilisateurs

  • Un identifiant type wiki PrenomNom et un mot de passe
  • quelques informations personnelles optionnelles
  • un contact e-mail/téléphone fixe/portable
  • Les disponibilités pour des réunions exprimées par jour de la semaine et horaires

Application Sondage

Cette application sert à choisir une date de réunion ou prendre rapidement une décision simple dans un petit groupe, avec un système de vote public.

  • dans le style du site internet doodle
  • Un utilisateur tape la question à poser à un groupe d’utilisateurs (Quelle date pour la réunion ?)
  • Il spécifie la liste des réponses possibles (12/02 à 17h, 12/02 à 18h, 17/02 à 20h)
  • Il envoie le lien vers la page du sondage qu’il a créé.
  • Le logiciel génère une page web affichant la question et au-dessous la liste des possibilités. Chaque utilisateur entre son nom puis coche les réponses qui lui conviennent.
  • A la fin du sondage il suffit de compter les cases cochées pour savoir quelle date est la plus populaire
  • Il est possible d’étendre ça à une plus grande variété de sondage (choisir parmi une liste de solutions, noter chaque réponse dans une liste…). Pour que ça reste simple à utiliser, il faut présenter à la personne qui veut créer un sondage un ensemble de sondages types parmi lesquelles elle va sélectionner le type de sondage qu’elle souhaite lancer.

Application Envoi de messages

  • L’application permet d’envoyer un e-mail selon les événements qui se déroulent sur le site (invitation à un sondage, nouvelle proposition, ouverture d’un vote, rappel d’une fin de vote proche, résultats d’un vote disponible).
  • Il serait utile de rajouter la possibilité d’envoyer des SMS aux gens qui n’ont pas d’e-mail sous la main pour les prévenir de ce qui se passe sur le site (y’a-t-il des services gratuits de ce type ?)
  • Il doit être possible de se désabonner selon le type de message ou de grouper les messages pour en recevoir un par jour ou un par semaine au maximum.

Application Vote

Soumettre une ou plusieurs questions/propositions/candidats au vote

On doit pouvoir expérimenter ici divers systèmes de vote (classement des candidats, note des propositions, un choix unique…) à un ou plusieurs tours, qui peuvent être anonymes ou non.

Au moment de la création d’une nouvelle élection/référendum, on doit pouvoir choisir un ou plusieurs systèmes de votes (cela permettrait avec des personnes bien motivées de comparer les résultats selon le système utilisé).

Application Foire aux idées

Le but ici est que chacun puisse lancer une proposition et que la sélection et les amendements de ces propositions se fassent par un processus collectif.

  • Proposer une proposition P
  • Commenter une P existante : critiquer ou au contraire aller dans le sens de la proposition
  • Noter une P (sur 20 par exemple)
  • Lier deux propositions (elles sont identiques, apparentées, l’une s’inspire de l’autre, ou c’est une nouvelle version de l’autre…)
  • Permettre la discussion (avec par exemple un forum lié à la P) pour faire évoluer une proposition et en créer une nouvelle intégrant le résultat de la discussion
  • Définir des thèmes et des mots-clés pour classer un peu les propositions
  • Pour chaque proposition, synthèse des arguments pour et contre
  • Moteur de recherche des propositions (éviter de proposer 10 fois la même, en trouver une apparentée). A ce niveau-là, ça devrait fonctionner un peu comme bugzilla
  • Amender ou fusionner des propositions : étiqueter comme anciennes les propositions obsolètes et en écrire une nouvelle liées aux anciennes
  • On peut éliminer les propositions anciennes (en les gardant dans un historique) quand elles sont remplacées par des propositions plus récentes
  • Une synthèse des propositions les mieux notées doit être générée périodiquement.
  • Les propositions qui sont remontées au-dessus d’un certain seuil (note + nombre de personnes ayant noté) doivent être soumises périodiquement au vote de tous avec l’application Vote
  • Les propositions soumises au vote seront étiquetées « rejetée » ou « acceptée » avec une référence au vote correspondant

Wiki de synthèse

Ce wiki doit être le lieu de synthèse de l’ensemble des propositions retenues. Elles doivent être listées et permettre d’élaborer des textes cohérents pour les articuler. (Inclusion de mediaWiki, ou MoinMoinWiki)

Base de connaissances Wiki

  • références à des livres, articles, réflexions
  • Le but est d’aider à comprendre le monde et d’avoir des arguments pour soutenir les discussions sur les propositions
  • (Inclusion de mediaWiki, ou MoinMoinWiki)

Forum et Discussion en ligne (« chat », IRC)

  • Le forum permet de discuter en ligne même quand les interlocuteurs n’ont pas de plages horaires communes disponibles : chacun écrit et lit quand il le souhaite, et les archives sont disponibles. (intégration de PhpBB par exemple…)
  • L’IRC permet de remplacer les réunions téléphoniques ou simplement de discuter en direct en mode texte. Les discussions peuvent être archivées. (serveur IRC quelconque).

Quelques remarques

Attention, tout ceci n’a pas pour but de supprimer les réunions et les contacts humains, mais de permettre au maximum de gens de proposer et de participer à la prise de décision, grâce aux technologies récentes. Pas de société des experts, autrement dit…

Les humains restant des humains il faudra trouver des méthodes de régulation pour éviter le spam, les guerres d’édition dans les wikis et le pouvoir trop important des modérateurs.

En gros, l’élaboration du programme devrait venir de propositions venues de tous, discutées sur les forums de discussion, par IRC et en réunion classique, notées, puis passées au vote, et enfin ajoutées dans le wiki de synthèse.

Publié dans Documentation | Laisser un commentaire

Le revenu inconditionnel – compte rendu de débat

Voici mes notes détaillées d’une présentation suivie d’un débat sur le revenu inconditionnel, organisée à Grenoble par les Alternatifs et la Fase le 13 octobre 2010. Continuer la lecture

Publié dans Politique & société | Laisser un commentaire

Sortie audio Asus EEE 1005PX

Après l’installation d’Ubuntu 10.04 sur mon netbook Asus EEE 1005PX, la sortie audio (prise jack) ne fonctionnait pas; quand un casque est branché, les haut-parleurs du portable se coupent, mais il n’y a pas de son dans le casque.

La solution a été l’ajout d’une ligne à la fin du fichier /etc/modprobe.d/alsa-base.conf :
options snd-hda-intel model=lifebook

Après un redémarrage, la prise casque fonctionne correctement.

Publié dans Notes Info | 4 commentaires

Etats généraux du renouveau : forum Libération à Grenoble

Ces trois derniers jours, j’ai assisté à une partie du forum organisé par le journal Libération à Grenoble, les Etats Généraux du Renouveau 2011. Un ensemble de conférences, de débats et de recontres entre associations, élus et politiques, journalistes, et le public.

J’ai suivi principalement les conférences et débats sur le thème de la démocratie. Les conférences étaient intéressantes, mais le nombre de questions de la salle étant limité, les thèmes ont souvent été traités de façon incomplète.

Par exemple, la conference « démocratie et internet » s’est résumé a une discussion d’une heure entre deux députés européens, un sociologue, un président d’agglomération et un coach formant les élus à la communication par internet. Je m »attendais à une présentation du rôle d’internet dans le renouvellement de l’idée démocratique dans les démocraties occidentales comme la nôtre.

En 2005 un grand débat autour du projet de constitution europénne a été ouvert par des citoyens largement en dehors du cadre traditionnel des partis politiques. Le rôle des blogs, des forums, des wikis pour résumer les arguments pour et contre le projet, tous ces nouveaux outils qui ont permis au citoyen de s’impliquer dans le débat, voilà un sujet que je pensais voir traiter.

La plus grande partie de la conférence s’est concentrée sur l’utilisation de Facebook et Twitter dans la communication des élus, comment ces outils leur permettent de ne pas perdre le contact avec leurs électeurs. Finalement, internet était presque résumé à une nouvelle façon de faire de la communication politique. Le sociologue a cependant cherché à aborder une thématique plus large et plus intéressante, avec un point de vue plus large que les élus pour qui démocratie se résume à démocratie représentative.

Le rôle d’internet dans les mouvements de contestation en Tunisie et en Egypte a été mentionné, étant donné l’actualité.

Les élus se sentent souvent menacés par (et donc bloquent souvent) l’implication directe des citoyens dans la prise de décision. Le terme de co-décision a été employé plusieurs fois au cours du débat, avec d’intéressantes expériences pratiques d’élus, au niveau d’une mairie avec un processus de co-construction des projets, mais aussi une expérience plus négative à Grenoble, lié au problème du « pas chez moi » lorsqu’il s’agit de construire des équipements nécessaires au niveau global mais comportant des nuisances locales.

La représentativité des assemblées locales des citoyens a aussi été discutée, car la plupart des participants sont des retraités ou des personnes personnellement concernées et opposées aux projets discutés sans vision globale des problématiques

La journée de débat (samedi 29) était de loin la partie la plus intéressante.

La conclusion du dernier jour était ironiquement inappropriée pour un forum de Renouveau ! Un groupe composé uniquement d’hommes, vieux et blancs, qui traînent dans le journalisme ou les cercles de pouvoir depuis plusieurs décennies viennent parler de nouveauté et de révolte contre la société qu’ils ont souvent contribué à créer… Et tous de se présenter par leurs titres de gloire, l’organisateur de se féliciter que tel ancien ministre ait accepté de nous honorer de sa présence…

Une fois de plus, on constate que les partis politiques et les grands médias ne sont pas à l’avant-garde, faisant progresser la démocratie, proposant des nouveautés dans le champ économique et social…

Cette avant-garde, elle vient de simples citoyens, d’associations, de chercheurs. Combien d’années avant un débouché politique ?

Publié dans Politique & société | Laisser un commentaire

Etats-Unis : une proposition de loi pour le vote par approbation

Article intéressant sur Slashdot (en anglais) au sujet d’une proposition de loi aux Etat-Unis qui, si elle est adoptée, modifierait le mode de scrutin utilisé dans le New Hampshire en faveur du vote par approbation (inclus dans PyVotons, version locale pour l’instant).

Dans la discussion, après des commentaires positifs pour la plupart, un commentateur affirme préférer la Méthode Schulze qui a de nombreux avantages et un gros inconvénient : il est difficile pour les électeurs de comprendre comment est calculé le résultat du scrutin.

Cette méthode devrait cependant être implémentée dans PyVotons! au même titre que les autres systèmes de vote.

Publié dans Politique & société | 2 commentaires

Protocole de communication client-serveur

Première tentative pour définir le protocole de communication client-server.

Principe

Le client envoie des requêtes au serveur comprenant un ID et reçoit une réponse mentionnant l’ID. Chaque requête est un objet JSON, en python un dictionnaire de la forme : {‘type’:’typeRequete’, ‘data’:mesParametres}

Types de requêtes

Liste des requêtes possibles (première version) du client au serveur :

  1. ‘Auth’:identification de l’utilisateur
  2. ‘CreateUser’: création d’un utilisateur
  3. ‘CreateScrutin’: création d’un scrutin,
  4. ‘GetScrutin’: récupération des informations sur un scrutin,
  5. ‘UpdateScrutin’: modification d’un scrutin existant,
  6. ‘GetVoteTemplate’: récupération d’un scrutin et des questions associées pour présenter une page de vote,
  7. ‘CheckAndRegisterVote’: vérification de la validité d’un vote et enregistrement,
  8. ‘GetResults’: récupèration des résultats d’un scrutin,
  9. ‘ListScrutins’: liste les scrutins accessibles à l’utilisateur (en cours, terminés…),
  10. ‘UserGroupManagement’: Gestion des groupes et des droits des utilisateurs

Paramètres par type de requête

– Auth :

data = {‘login’:login,  ‘pass’:mot de passe}

ATTENTION : il faut gérer un salt à l’enregistrement d’un nouveau user et donc stocker le login, le salt, et le hash SHA/MD5 de la concaténation (mot de passe + salt). Continuer la lecture

Publié dans Development | Laisser un commentaire

PyVotons! : Un prototype de logiciel de vote

  1. Présentation générale

    PyVotons! est un logiciel libre pour l’organisation de scrutins.

    Il fait partie d’un projet plus large (Propositions) dont le but est de permettre le travail en commun, l’élaboration de propositions, le débat et la prise de décision collective.

    Au cours des réflexions sur ces thématiques, nous avons pensé à développer un logiciel permettant de voter par internet en utilisant des méthodes de votes alternatives.

    Comme je n’avais pas les compétences (et surtout l’intérêt) pour la réalisation d’une interface de vote web, j’ai réalisé un prototype simple d’un système de vote pour l’élection de candidats qui nécessite l’utilisation de bureaux de votes ou l’installation du logiciel chez chaque personne souhaitant voter.  C’est la version classique de PyVotons, utilisable bien qu’incomplète.

La nouvelle version Web de PyVotons est en cours de développement. Elle permettra à chaque électeur de voter sur le site internet où sera installé PyVotons!

  1. Objectifs de PyVotons!

    Le but de ce logiciel est de :

    • démontrer la faisabilité d’un système de vote par internet pour une démocratie plus directe au sein d’une association ou d’un parti politique.
    • permettre d’expérimenter des systèmes de vote plus représentatifs des opinions des électeurs que ceux en vigueur dans nos démocraties
  2. Téléchargement

    La version web ne fonctionne pas encore. Des éléments d’interface graphique, une structure de base de données ont été développés. Un dépôt GIT permet de gérer les versions du logiciel, il n’est pas en ligne pour l’instant.

    Quelques pages présentant la nouvelle interface sont accessibles ici.

  3. Anciennes versions

    Seul le code source est disponible (pas de paquetage ou d’exécutable).

    Le programme doit fonctionner sous Linux, Windows et MacOS, mais seul Linux a été testé.

    Pour utiliser le logiciel, il faut avoir une installation fonctionnelle de Qt 4, PyQt 4 et Python.

    Téléchargez la dernière version locale de PyVotons!, puis décompressez le fichier dans un répertoire.

    Vous pouvez alors exécuter CreerScrutin.py, Vote.py, et CalculResultatsDialog.py pour démarrer un scrutin, enregistrer les votes et calculer les résultats. Pour plus de détails, reportez-vous à la documentation.

  4. Documentation

    Documentation pour les utilisateurs

    Documentation pour les développeurs

  5. Outils, licence et copyright

    Ce logiciel fonctionne grâce à d’excellents outils libres qui ont permis un développement rapide et efficace :

    • Le langage Python;
    • La bibliothèque Qt développée par Trolltech puis Nokia pour l’interface graphique et le réseau;
    • PyQt qui permet d’utiliser la librairie C++ Qt avec Python, par Riverbank computing
    • Pyjamas pour la version web.

    PyVotons! est un logiciel libre, développé en 2009, 2010 et 2011 par Manik Bhattacharjee (manik-listes at altern.org), diffusé sous la licence GNU GPL version 3 (version locale) et Affero GPL version 3 (version web)

    GPL v3

  6. Développements futurs

    Fonctionnalités à ajouter et suggestions :

    • CreerScrutin ne permet pas de rentrer un titre et des commentaires (pourtant stockés dans les fichiers).Il faut ajouter cette possibilité dans l’interface
    • Impression du bulletin de vote pour permettre un recomptage manuel des voix
    • Serveur d’enregistrement des votes et protocole de communication avec les bureaux de vote
    • Ajouter d’autres méthodes de vote
    • Revoir les formats de fichier
    • Modification du code (noms des variables et des fonctions) vers l’anglais pour permettre une diffusion internationale du logiciel
    • Utiliser les fonctions de traduction de PyQt pour pouvoir afficher une version anglaise et une française.

Seul le code source est disponible (pas de paquetage ou d’exécutable).

Le programme doit fonctionner sous Linux, Windows et MacOS, mais je ne dispose que de Linux pour les tests.

Pour utiliser le logiciel, il faut avoir une installation fonctionnelle de Qt 4, PyQt 4 et Python.

Téléchargez la dernière version de PyVotons!, puis décompressez le fichier dans un répertoire.

Vous pouvez alors exécuter CreerScrutin.py, Vote.py, et CalculResultatsDialog.py pour démarrer un scrutin, enregistrer les votes et calculer les résultats. Pour plus de détails, reportez-vous à la documentation.

Publié dans Documentation | Laisser un commentaire