Humus numericus

Aller au contenu | Aller au menu | Aller à la recherche

R, Spip et autres

mardi 1 juillet 2008

Message à l'attention des personnels du CNRS

cnrs_tout_va_bien.jpg

Et en bonus, la version PDF.

mercredi 14 mai 2008

Problème avec VirtualBox

VirtualBox est une application de virtualisation qui peut servir, entre mille autres choses, à faire tourner un windows à l'intérieur d'un linux.

Après la mise à jour de ma Debian unstable effectuée ce matin, plus moyen de démarrer l'appli. J'avais un pop-up d'erreur me signalant une impossibilité de démarrer les services COM, et en cas de lancement de la commande VirtualBox en ligne de commande, j'obtenais le joli message suivant :

/usr/lib/virtualbox//VBoxSVC: symbol lookup error: /usr/lib/virtualbox/VBoxXML.so: undefined symbol: _ZN11xalanc_1_1016XalanTransformer10initializeERN11xercesc_2_713MemoryManagerE

La solution ? Récupérer la dernière version (la 1.6) depuis le site de Virtual Box. Apparemment leurs dépôts Debian sont un peu en retard, d'ailleurs le lien de téléchargement renvoit sur le site de Sun, je ne savais pas qu'ils avaient été rachetés...

En tous cas l'installation du .deb pour Debian 4.0 a résolu le problème en ce qui me concerne.

Générer un certificat SSL auto-signé pour Apache

D'abord on génère une clé non chiffrée sur disque (pour éviter d'avoir à saisir un mot de passe à chaque redémarrage d'Apache) :

# openssl genrsa -out mykey.key 1024

Ensuite on crée un certificat signé avec cette clé :

# openssl req -new -x509 -days 365 -key mykey.key -out mycert.crt

Répondre à l'ensemble des questions posées. Le nom de la machine doit être donné en réponse à Common Name. On peut utiliser un wildcard (joker) du type *.example.com pour que le certificat s'applique à un ensemble de sous-domaines.

Ensuite, dans Apache, modifier le fichier de définition du VirtualHost qui va bien :

NameVirtualHost *:443
<VirtualHost *:443>

        SSLEngine on
        SSLCertificateFile    /etc/ssl/mycert.crt
        SSLCertificateKeyFile /etc/ssl/mykey.key
        SSLVerifyClient none

        [etc., etc.]

</VirtualHost>

Imprimer des calendriers en ligne de commande

Il existe un petit utilitaire en ligne de commande, nomé pcal, qui permet la génération et l'impression de calendriers avec de multiples options.

Pour l'installation, c'est comme d'hab :

# apt-get install pcal

Pour avoir une idée de toutes les options, c'est aussi comme d'hab :

$ man pcal

Petit exemple d'utilisation : la commande qui suit génère un fichier postscript des 6 mois suivant mai 2008, en format portrait, pour un papier A4, avec les semaines commençant le lundi, en français, et en ajoutant des calendriers miniatures des mois précédents et suivants.

$ pcal -l -P a4 -F 1 -a fr -K -o /tmp/cal.ps 05 2008 6

Le tout est placé dans un fichier postscript /tmp/cal.ps que l'on peut visualiser avec gv ou evince et imprimer avec xpp, lp, gtklp, etc.

mercredi 30 avril 2008

Chine, Tibet : pas si simple

Un petit billet rapide pour signaler trois articles apportant un éclairage différent sur les récents événements au Tibet.

Les deux premiers sont des articles du blog de Jean-Luc Mélenchon :

Le dernier est un texte paru sur le blog du Monde diplomatique tenu par Martine Bulard et consacré à l'Asie :

Bonne lecture !

mercredi 12 décembre 2007

Ras le bol des grosses configs

Je suis tombé sur un article via digg qui s'extasie du fait que KDE4 tourne correctement dans une machine virtuelle simulant un PC avec un proc à 1GHz et 256Mo de RAM. Et dans les commentaires sur digg on a droit à de jolis c'est chouette de penser aux vieilles machines, c'est bien pour les pays du Tiers-Monde ou encore on a du mal à croire qu'avant on travaillait sur des machines comme ça... Bon, d'accord, c'est sur Digg, mais ça a quand même le don de m'énerver...

A la maison nous avons deux machines. La première est un PC de bureau acheté d'occaze il y'a cinq ans : un magnifique Pentium 3 600 MHz avec 256Mo de RAM et une carte graphique Geforce4 64Mo. La deuxième est un portable également acheté d'occaze il y a deux ans, un rutilant Pentium 3 700MHz avec lui aussi 256 Mo de RAM.

Sur la machine de bureau, l'interface est un Xfce avec Compiz fusion. Et ça tourne nickel chrome, même le cube, le zoom interactif, les effets d'animation, etc.. Un Gnome ou un KDE tourneraient très bien aussi, mais en bouffant inutilement de la mémoire alors qu'il y en a quand même pas bézef. Niveau logiciel, même Firefox fonctionne bien, alors que c'est pas du léger. Gimp, Digikam, Videolan, ne posent aucun problème, et même OpenOffice se lance alors qu'il faut quand même bien admettre que c'est une bouse. Google Earth, Second Life et certains jeux en 3D tournent aussi, même si les performances ne sont pas hallucinantes.

Sur le portable, j'ai un bon vieux dwm avec un non moins bon vieil emacs, donc ça tourne évidemment très bien. Le portable en question n'avait que 128Mo de RAM il y a encore quelques semaines : là, Firefox commence à faire souffrir l'utilisateur, mais par contre Epiphany fonctionne très bien. Certes, ça swappait assez rapidement, mais une petite barette de 128Mo supplémentaire achetée d'occasion a résolu le problème sans difficulté. Et je n'ai évidemment aucun souci pour produire des documents avec TeX, développer une appli web en faisant tourner un Apache et un MySql, ou même pour faire des stats avec R si les données sont pas trop volumineuses.

Voilà, tout ça pour dire que pour un usage courant, on n'a certainement pas besoin d'un PC dernier cri dont les trois quart des ressources sont bouffées par des services inutiles. On peut travailler avec un bureau en 3D, des fenêtres ramollo et les dernières versions des derniers logiciels avec un Pentium 3 et 256Mo de RAM.

Et encore heureux, d'ailleurs...

jeudi 6 décembre 2007

Script shell de transfert de photos

Pas sûr que ça en vaille la peine, mais je me permets quand même de mettre en ligne le petit script bash que j'utilise pour transférer les photos depuis mon appareil numérique vers mon PC. Le script en question part du principe que l'appareil est reconnu comme un périphérique de stockage de masse USB et qu'il est automatiquement monté au point de montage indiqué par la variable mount_point. Il faut également renseigner les variable source_dir (chemin vers le répertoire dans lequel se trouve les photos à partir du point de montage) et cible_dir (emplacement des photos sur le PC). Vous aurez également besoin du paquet libjpeg-progs pour avoir la commande exifautotran.

Une fois que vous avez tout ça, vous aurez juste à brancher votre appareil et à lancer le script. Celui-ci s'occupera de monter le périphérique, de copier chaque image dans un répertoire nommé selon la date de prise de la photo (au format /home/photos/2007/12 par exemple) et d'effectuer une rotation en fonction de l'orientation horizontale ou verticale contenue dans les données EXIF.

#!/bin/sh                                                           
                                                                    
mount_point=/mnt/photo
source_dir=dcim/100km028 
cible_dir=/home/photos

mount $mount_point
for i in $mount_point/$source_dir/*.jpg; do  
        img=`basename $i`
        annee=`stat -c %y $i | cut -d '-' -f 1`
        mois=`stat -c %y $i | cut -d '-' -f 2`
        cible=$cible_dir/$annee/$mois
        if [ ! -d $cible ];
        then
                mkdir -p $cible
        fi      
        echo "Copie de $i vers $cible/$img"
        cp -i $i $cible/$img
        exifautotran $cible/$img
done;   
sleep 2s
umount $mount_point

Comme d'hab en ces lieux, vous constaterez que c'est du vite fait !

dimanche 25 novembre 2007

Le best of du meilleur de la crème du web du 21e siècle

Et oui, quand on écume depuis un bout de temps les pages web les plus diverses à longueur de soirée, on finit par découvrir de petits joyaux, de ces sites qui vous font comprendre pourquoi Al Gore a inventé l'Internet. Aujourd'hui, dans un élan de bonté qui me surprendrait si je ne me connaissais pas si bien, je consens à vous dévoiler certains des sites les plus innovants, utiles et étonnants du Web heunndeurgrounde.

C'est parti.

  • Vous surfez depuis des heures au hasard en passant de lien en lien, et vous finissez par ne plus savoir où vous êtes ? La solution se trouve chez perdu.com !
  • Un ami vient de se mettre à l'informatique et vous abreuve de questions auxquelles vous ne savez pas toujours répondre ? Ce site vous permettra d'apporter une réponse à absolument tous les problèmes informatiques connus !
  • Votre ami qui vient de se mettre à l'informatique a enfin réussi à brancher sa Livebox et s'extasie devant la page d'accueil d'Orange ? N'hésitez pas, renvoyez le avec un brin de condescendance vers l'un des sites multimédias les plus innovants de ces dernières années, et jamais encore vraiment égalé : zombo.com.

Voilà, avec ça vous devriez pouvoir briller en société...

samedi 13 octobre 2007

Boards of Canada

Je redécouvre en ce moment un groupe de musique électronique nommé Boards of Canada, dont je trouve la production plutôt envoutante.

Je suis tombé sur une vidéo en ligne (qui semble être la seule qu'ils aient réalisé à ce jour) accompagnant le morceau Dayvan Cowboy de l'album The campfire headphase. J'ai vraiment accroché à l'ambiance qui se dégage de l'association entre la musique et les images, et je ne résiste donc pas à la tentation de vous la proposer là tout de suite, même si ça m'obllige à mettre du Flash sur ce site pour la première fois, chose pour laquelle je ferai pénitence en récitant quatre GPL et cinq BSD :

Les images de la première moitié du clip sont plutôt impressionnantes, et on se demande si c'est vrai ou pas. Et bien ça m'a permis de découvrir un truc dont je n'avais jamais entendu parler jusque-là : les images en question sont tout à fait réelles, elles ont été tournées en 1960 lors du saut en parachute le plus haut de l'histoire. Il a été effectué par Joseph Kittinger suite à une ascension à plus de 31 kilomètres d'altitude dans un ballon à hélium. Et une fois à cette altitude, c'est à dire à peu de choses près dans l'espace, qu'a-t-il fait ? Et bien il a sauté, établissant par la même occasion plusieurs records proprement hallucinants. D'après Wikipedia :

le 16 août 1960, il saute d’une altitude de 31 300 mètres, effectuant une chute libre de 4 minutes et demie (il ouvrit son parachute à 5 500 mètres) avec une pointe de vitesse de 988 km/h. Il battit ainsi simultanément 4 records : La plus haute ascension en ballon, le saut en parachute le plus haut, la plus longue chute libre et la plus grande vitesse atteinte par un être humain dans l’atmosphère. Selon Joseph Kittinger, il aurait franchi le mur du son lors de ce dernier saut. Cela n’est pas formellement établi, mais les différentes mesures effectuées alors varient de 988 à 994 km/h, soit plus de mach 0,9.

Et le tout a été filmé à l'aide de caméras placées dans le ballon, et sur Kittinger lui-même. D'où les images quasiment irréelles de la vidéo précédente.

Voilà, et si jamais la musique de Boards of Canada vous plaît, voici une deuxième vidéo, réalisée par un fan, et qui illustre assez bien également l'ambiance (très différente) d'un autre morceau que j'apprécie beaucoup (You could feel the sky de l'album Geogaddi). Il s'agit d'une copie en local de l'original mis en ligne par dredd1971 sur Youtube :

jeudi 20 septembre 2007

Revue de presse numérique instantanée

Etant présentement sur la page d'accueil de Google news, je ne résiste pas au plaisir de vous faire une petite revue de presse des titres affichés à l'instant même, histoire de donner une petite idée de l'air guilleret des temps qui courent.

Une

  • L'Assemblée vote le texte sur l'immigration et l'amendement ADN
  • Martin Hirsch n'est "pas favorable" aux tests ADN

France

  • Sarkozy veut "refonder" la fonction publique
  • Bruno Juillard : «Le gouvernement nous a trompé»
  • Sans-papiers: Les élèves fichés ?

Économie

  • Appel à la grève des cheminots le 17 octobre
  • France : la dette publique pourrait s'alourdir en 2007
  • Pernod Ricard: bénéfice net annuel en hausse

Et à noter aussi, dans la rubrique Culture : Nicolas Sarkozy à 20H00 jeudi sur TF1 et France 2. Ça ne s'invente pas.

lundi 27 août 2007

Une triste nouvelle pour la France...

On a beau dire, ça fait quand même un choc.

Peut-être est-ce parce que je suis lyonnais, donc davantage sensible à cette nouvelle, mais quand même, ça ne peut pas laisser indifférent.

Et oui, je l'ai appris samedi matin, en même temps qu'une France attristée et consternée : Raymond Barre n'était pas mort.

P.S. : toujours sur ce sujet, je ne résiste pas au plaisir de vous retranscrire la question d'une journaliste de France Info à un commentateur sans intérêt : Si Raymond Barre a subi un échec en 1988, d'après vous, est-ce parce qu'il était encore incompris, ou parce qu'il était trop précoce ?

mercredi 4 juillet 2007

Installation d'un Spip mutualisé en sous-domaine

J'ai eu l'occasion de travailler sur la configuration d'un Spip pour le mutualiser en sous-domaine (et non en sous-répertoire). Comme c'était pas tout à fait de la tarte, je mets mes notes de travail ici, même si tout ça n'a pas forcément été testé à fond les ballons.

Configuration

Un spip situé sur un serveur nommé dd.nozav.org et accessible à l'adresse http://dd.nozav.org/spip/.

Deux autres sites Spip que l'on veut atteindre en sous-domaines via http://spip1.nozav.org/ et http://spip2.nozav.org/.

On a donc trois sites hébergés sur 3 bases différentes sur le même serveur MySql. On peut aussi apparemment n'utiliser qu'une base de données MySql en modifiant les préfixes des tables.

Le tout est situé dans le répertoire /home/julien/www/spip.

Installation du site principal

  • Décompression de Spip 1.9.2b dans /home/julien/www/spip.
  • Installation du site http://dd.nozav.org/spip de manière classique (j'ai l'impression que cette étape est obligatoire, même si le site en question reste vide, à vérifier).
  • Création des répertoires /home/julien/www/spip/sites/nozav.org/spip1 et /home/julien/www/spip/sites/nozav.org/spip2, plus les sous-répertoires IMG, temp, config et local pour chacun d'entre eux.

Attention : la convention de nommage est importante, pour un site dont l'url serait toto.domaine.fr, on doit avoir un répertoire sites/domaine.fr/toto.

Configuration d'Apache

On crée un site dans /etc/apache2/sites-enabled/ avec le contenu suivant :

<VirtualHost *>
       ServerName spip1.nozav.org
       ServerAlias spip2.nozav.org

       # Redirection vers le SPIP noyau
        DocumentRoot "/home/julien/www/spip"
        <Directory "/home/julien/www/spip/">
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>

        RewriteEngine On

        RewriteCond %{SERVER_NAME} (www\.)?([^.]+)\.nozav\.org$
        RewriteCond /home/julien/www/spip/sites/nozav.org/%2/%{REQUEST_FILENAME} -f [OR]
        RewriteCond /home/julien/www/spip/sites/nozav.org/%2/%{REQUEST_FILENAME} -d
        RewriteRule (.*) /home/julien/www/spip/sites/nozav.org/%2/$1 [QSA,L]

        RewriteCond %{SERVER_NAME} (www\.)?([^.]+)\.nozav\.org$
        RewriteRule (.*) /home/julien/www/spip/$1 [QSA,L]

</VirtualHost>

Configuration de Spip

Création du fichier spip/config/mes_options.php :

<?php
if ( preg_match(',(.*)\.nozav\.org/?,',$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_FILENAME'],$r)) {

  if (is_dir($e = _DIR_RACINE . 'sites/nozav.org/' . $r[1]. '/')) {
  
  $cookie_prefix = $r[1];
  $table_prefix='spip';
           
  define('_SPIP_PATH',
	 $e . ':' .
	 _DIR_RACINE .':' .
	 _DIR_RACINE .'dist/:' .
	 _DIR_RESTREINT);
  
  spip_initialisation(
		      ($e . _NOM_PERMANENTS_INACCESSIBLES),
		      ($e . _NOM_PERMANENTS_ACCESSIBLES),
		      ($e . _NOM_TEMPORAIRES_INACCESSIBLES),
		      ($e . _NOM_TEMPORAIRES_ACCESSIBLES)
		      );
  
  $GLOBALS['dossier_squelettes'] = $e.'squelettes';
  
  if (is_readable($f = $e._NOM_PERMANENTS_INACCESSIBLES._NOM_CONFIG.'.php')) include($f);
  }
}
?>

Installation des sous-sites

Ensuite on se rend dans http://spip1.nozav.org/ecrire et on procède à une installation classique. On peut ensuite faire une migration d'un site existant en copiant les répertoires config, squelettes, tmp, local, IMG ainsi que d'éventuelles ressources statiques et en effectuant une restauration de base.

Idem pour http://spip2.nozav.org/

Remarques

  • Les plugins sont également mutualisés, c'est à dire qu'ils sont installés pour l'ensemble des sous-sites. Mais chaque site peut choisir de les activer ou non.
  • Il est possible d'utiliser des types d'urls différentes par sous sites en mettant le $type_urls que l'on souahite dans le fichier mes_options.php du sous-site.
  • Pour les migrations de site vers un mutualisé il y a apparemment des subtilités concernant les images et documents joints. Voir la remarque Note sur les sauvegardes et les restaurations sur la page de la doc qui va bien.

- page 4 de 11 -