Garder sa distribution GNU/Linux propre comme un sou neuf (première partie)

Bien que la robustesse des systèmes de fichiers les plus fréquemment utilisés sous GNU/Linux et leur capacité intrinsèque à ne pas se fragmenter à l’utilisation ne soit plus à démontrer, force est de constater que la fréquence des mise à jour, quand ce n’est pas la succession d’installations/désinstallations de programmes contribuent néanmoins à encombrer inutilement le système de paquets obsolètes voire orphelins.
De même l’utilisation fréquente des applications de messagerie ou de navigation sur le web se traduit inévitablement par la mise en cache d’un grand nombre de fichiers temporaires, qui s’ils ne sont pas purgés périodiquement contribuent eux aussi à « l’encrassement » général du système…

Sans prétendre à l’exhaustivité, cet article se veut être un recueil de bonnes pratiques visant à maintenir son système GNU/Linux aussi propre que possible.

Comme d’habitude, nous nous intéresserons plus particulièrement aux distributions de type Debian/Ubuntu et dérivées, et dans ce premier article nous aborderons les outils disponibles en ligne de commande. Il en existe évidemment d’autres en mode graphique qui leur sont complémentaires ou qui permettent d’aller plus loin, aussi je leur consacrerai un prochain billet sur ce blog.

A chaque installation ou mise à jour d’un paquet logiciel, ce dernier est  téléchargé depuis les dépôts avant installation, puis est conservé en cache pour pouvoir être rapidement réinstallé, le cas échéant.
Si cette politique est tout à fait louable pour économiser de la bande passante et gagner du temps sur le téléchargement, on se retrouve très rapidement avec un cache de paquets de plusieurs giga-octets dont on peut facilement venir à bout :

sudo aptitude clean && sudo aptitude autoclean

Si l’on gagne ainsi un espace disque non négligeable, on peut cependant faire mieux. Chaque désinstallation de logiciel laisse en général (sauf si l’on a pris soin d’utiliser l’option –purge) des fichiers de configurations dont on peut se débarrasser facilement :

sudo aptitude purge ~c

Au reste, on peut sans forcément le savoir conserver au sein du système de nombreux paquets devenus obsolètes au fil des mise à jour que l’on éliminera comme suit :

sudo aptitude purge ~o

Sans faire preuve de frilosité outre mesure, on peut tout à fait préférer vérifier ce que l’on s’apprête à supprimer. Il suffira pour cela de remplacer dans ce qui précède l’argument purge par search, tout simplement…

A ce stade, vous aurez remarqué que j’utilise le gestionnaire de paquet aptitude au lieu d’apt-get qui est plus volontiers invoqué dans la documentation. De mon point de vue, étayé par cet article ou encore celui-ci, aptitude est à la fois plus souple et plus puissant qu’apt-get, et avant tout gère mieux les dépendances, y compris et surtout pour les mises à niveau de distributions. C’est également une habitude que j’ai prise depuis la Debian 3.1 « Sarge » et dont je n’ai pas envie de me défaire…

Maintenir propre sa base de paquets est une bonne chose, mais on peut cependant aller plus loin et débarrasser son système de nombre de fichiers inutiles, à commencer par les bibliothèques orphelines ou les fichiers de traduction dans les langues autres que la sienne. Pour cela on va se servir de deux programmes extrêmement utiles et efficaces que sont deborphan et localepurge. Installons-les pour commencer :

sudo aptitude install -r deborphan localepurge

deborphan (et son pendant graphique gtkorphan) repère les bibliothèques orphelines i.e. les composants de programmes rendus inutiles par désinstallation mais non supprimés par la gestion automatique des dépendances. Invoqué sans plus d’arguments à la ligne de commande, deborphan dresse la liste des « orphelins ». On l’utilise en général combiné à d’autre programmes, voire au sein de scripts shells :

deborphan | xargs sudo aptitude -y purge

supprimera les orphelins mais si l’on veut supprimer les paquets -dev devenus inutiles il suffira de faire :

deborphan --guess-dev | xargs sudo aptitude -y purge

Enfin, si l’on a pas froid aux yeux (et fait quelques vérifications préalables) on peut aussi procéder à un nettoyage radical avec :

deborphan --guess-all | xargs sudo aptitude -y purge

Pour en terminer avec la suppression des paquets inutilisés, voici un exemple de script de nettoyage permettant d’automatiser ce genre de tâche :

[sourcecode language= »bash » highlight= »3,31″]
#!/bin/zsh
echo « liste des paquets inutilisés : »
deborphan
echo « nettoyer? o/n »
read netdeb
if [[ $netdeb == o ]]
then
apt-get remove –purge `deborphan`
fi
echo « paquets desinstallés avec fichiers de config présents »
dpkg -l |grep « rc   » | awk ‘{ print $1″: »$2 }’ > liste_nom
for i in `more liste_nom`
do
echo $i > temp_verif
verif=`awk -F ‘:’ ‘{ print $1 }’ temp_verif`
if [[ $verif == « rc » ]]
then
paquet=`awk -F ‘:’ ‘{ print $2 }’ temp_verif`
echo « purger le paquet : » $paquet « ?  o/n »
read netconf
if [[ $netconf == « o » ]]
then
dpkg –purge $paquet
fi
fi
done
# nettoyage fichiers temporaires
rm liste_nom temp_verif
[/sourcecode]

Par ailleurs, l’internationalisation toujours plus poussée amène avec elle un inconvénient de taille, si l’on peut dire, sous la forme des traductions des pages de man. Hormis l’anglais qui est la langue native du système et le français la langue d’usage il est inutile de conserver l’ensemble des traductions et pour cela localepurge est notre ami. A l’installation, il suffit de cocher les cases en, fr et fr_FR :

configuration de localepurge
Configuration de localepurge.

Quant à l’usage on peut invoquer directement localepurge dans un terminal pour constater immédiatement son action, cependant c’est également sur le long terme que son action est efficace puisqu’il entre en action à la moindre installation de paquet afin de ne conserver que les traductions voulues.

Résultat
Résultat

Le seul reproche que l’on peut adresser à localepurge, c’est de ne pas éliminer toutes les traductions, notamment les fichiers d’internationalisation de l’interface graphique.
Voilà la transition toute trouvée pour aborder le thème de mon prochain article, car c’est précisément une situation à laquelle on remédiera en utilisant d’autres outils, graphiques cette fois.

D’ici quelques jours, je vous proposerai donc d’examiner plus avant le fonctionnement de Synaptic, Computer Janitor pour la gestion des paquets, BleachBit et Fslint pour le nettoyage sans oublier, mais cette fois-ci uniquement pour Ubuntu, cet outil fort pratique qu’est Ubuntu Tweak…

Présentation de Blacklight

Total solar eclipse solaire 1999 – Luc Latour sur Flickr – licence CC BY-SA 2.0
Total solar eclipse solaire 1999 – Luc Latour sur Flickr – licence CC BY-SA 2.0 

À la recherche d’une nouvelle interface de consultation de notre catalogue, nous testons actuellement un logiciel développé par plusieurs universités américaines : Blacklight (BL). Ce logiciel présenté lors d’une journée d’étude Couperin sur les discovery tools libres propose via une interface sobre et claire, une recherche par facette hautement configurable. Plusieurs exemples sont proposés sur le site du projet. Voyons son fonctionnement plus en détail.

À proprement parler, ce n’est pas BL qui fournit une recherche par facette mais un de ces composants : Solr, le moteur de la fondation Apache. BL est configuré pour l’interroger au mieux et avec des formats de données connus des bibliothèques. En l’occurrence, BL a été développé pour MARC mais on peut l’adapter pour d’autres formats. Par défaut, il propose différents champs : (titre, sous-titre, auteur, date de publication, sujets, format, localisation, etc.) que l’on retrouve dans les facettes sur la gauche (copie d’écran ci-dessous), ou en coulisses dans l’index de Solr. On peut bien sûr les modifier, en enlever ou en ajouter d’autres.

Blacklight à l'universite de Stanford
Blacklight à l’universite de Stanford

À ce jour, le seul moyen d’alimenter Blacklight fonctionne par Solr. Ce dernier dispose d’un certains nombres de connecteurs pour l’alimenter depuis une base de données, un fichier texte ou des notices en MARC via le programme Solrmarc, intégré par défaut à BL. Un fichier de configuration fait la correspondance entre les champs de BL et ceux des notices. À l’origine, ce mapping est prêt pour le MARC mais on peut l’adapter pour l’UNIMARC. La tâche est a priori aisée pour une correspondance directe de champs mais elle se complique quand il s’agit de les apparier, d’enlever une ponctuation inappropriée, de mettre une phrase en minuscule, etc. Dans ce cas, il est nécessaire de faire appel à des fonctions de traitement existantes ou à redéfinir en JAVA.

Une notice de Blacklight
Une notice de Blacklight

À l’usage, l’import de notices se fait très rapidement même pour un grand nombre d’enregistrements et BL est presque utilisable en l’état. On pourra configurer l’affichage des champs des notices ou des facettes à loisir dans un simple fichier de configuration. Cependant, si on opte pour l’UNIMARC, il reste un problème d’encodage pour les différents formats d’export de notice proposé par BL (en copie d’écran jointe). L’adaptation est délicate car elle nécessite de redéfinir des fonctions du cœur du programme en ruby.

Pour résumer, BL est relativement facile à prendre en main, à installer et à alimenter même quand on ne connait pas bien le fonctionnement de Ruby On Rails, le framework sur lequel il s’appuie. La tâche se complique pour le passer en UNIMARC ou pour des fonctionnalités plus personnalisées comme la connexion à un SIGB. Mais cela fera l’objet d’autres billets dans l’alambic…

Ouvrez vos Fenêtres® sur le monde (du logiciel) libre…

Tux
Tux

Le mail est arrivé lorsque j’étais absorbé par la lecture du précédent article de ce blog, Ma première install-party… Mon chef vénéré, mais chef néanmoins, me rappelait avec bienveillance que je n’avais encore pas apporté ma contribution aux parutions hebdomadaires de notre blog. Fort de cette pression amicale et encore tout imprégné de ma lecture, je vous propose donc une tribune –libre, cela va de soi– où il sera tour à tour question, un peu en vrac je le concède, d’install-party, de choix cornéliens, de cyberespace et de manchots paradoxaux…

En passant par l’install party
Olivier l’ayant très bien décrit dans son article, je ne m’attarderai pas davantage sur cet évènement sinon pour dire que c’était une première pour moi aussi, et que j’ai beaucoup appris de cette expérience, à laquelle j’ai été ravi d’apporter ce que je n’aurais pas l’outrecuidance d’appeler « expertise » mais plus modestement de « savoir-faire ». Il me semble plus à propos de formuler la chose ainsi, l’idée même d’une install-party étant justement l’occasion de transformer le savoir-faire en faire-savoir… N’étant pas prosélyte et encore moins rhéteur,  je ne saurais convertir autrui aux logiciels libres par de longs discours, fussent-ils pertinents et techniquement étayés. En outre, je reste persuadé qu’il n’y a en la matière qu’une seule vertu : celle de l’exemple.
Néanmoins pour celles et ceux qui voudraient mettre en place un atelier semblable, je ne saurais trop conseiller que d’avoir sous la main un serveur DHCP, pour s’éviter une phase de configuration du réseau aussi fastidieuse qu’inutile (au sens où il faudra détruire cette configuration à l’issue de l’installation), l’attribution dynamique d’adresses IP étant en outre un standard de fait dès lors que l’on est connecté à une box ou un point d’accès wifi… Un équipement réseau gigabit accélèrera certainement le téléchargement des paquets logiciels, surtout s’il est couplé à miroir local des dépôts de la distribution GNU/Linux que l’on veut installer (quitte à devoir reconfigurer après coup les sources de logiciels pour l’utilisation dans le domaine public)…
Si j’insiste sur ces quelques améliorations visant à réduire la durée d’installation, c’est que le temps passe très vite quand on s’amuse et bien que l’on puisse faire profiter les participants de quelques digressions sur la généalogie des systèmes UNIX ou la philosophie de la licence GPL durant les phases de téléchargement et d’installation du système, il est finalement un peu frustrant de les lâcher au moment où cela devient vraiment intéressant, c’est à dire lorsque l’on a entre les mains un système GNU/Linux à s’approprier et à configurer…

De l’art de faire des choix
Une des questions centrales à ne pas éluder reste le choix de la distribution. De ce point de vue, l’offre est devenue en l’espace de quelques années réellement pléthorique et l’observatoire du libre qu’est le site http://distrowatch.com/ vous en convaincra mieux que moi. Passés les nombreuses distributions spécialisées servant à créer des pare-feu, des routeurs, des serveurs NAS et j’en passe, que reste-t-il donc ? Largement de quoi s’y perdre, je vous l’assure, ce qui ne contribue finalement pas à la dissémination des systèmes libres, mais je reviendrais plus tard sur ce point…
Choisir une distribution linux est finalement tout sauf neutre, car ce choix suppose une profonde adéquation entre les besoins et/ou les capacités de l’utilisateur et la philosophie portée par le système. L’agilité des systèmes GNU/Linux n’étant plus à démontrer, il faut tout simplement que l’utilisateur se sente à l’aise avec son système.
En ce qui concerne notre install-party, j’ai arbitrairement décidé d’installer Ubuntu et assumé ce choix, alors même que cette distribution malgré son réel succès est loin de faire l’unanimité parmi les utilisateurs de systèmes libres…
De mon point de vue, Ubuntu ne peut être mauvais, puisqu’il y a quand même de gros morceaux de Debian dedans. Par ailleurs, s’adressant à des utilisateurs novices (mais motivés) venus de Windows, le choix d’une distribution ouvertement tournée vers l’utilisateur et donc facile de prise en main était simplement évident, preuve aussi que les interfaces utilisateurs trop souvent jugées (à tort) frustes ou indigentes ont depuis longtemps laissé place à de magnifiques cliquodromes aux effets visuels propres à faire pâlir de jalousie le plus enragé des windowsiens intégristes !

Piégé dans le cyberespace ?
C’est d’ailleurs l’omniprésence (omnipotence ?) de Windows dans le monde de l’informatique personnelle et professionnelle qui m’a remis en mémoire un article de Roberto Di Cosmo intitulé Piège dans le Cyberespace (que je vous invite vivement à consulter si vous ne le connaissez déjà). Je l’ai lu pour la première fois il y a une bonne douzaine d’années, au tournant de l’an deux-mille (l’article en question date du 17 mars 1998, soit près de quatorze ans maintenant).
Et si j’insiste tant sur les dates, c’est que pour l’avoir relu avant d’écrire ces lignes, je reste frappé par le caractère actuel du propos… Il suffit de remplacer dans le texte orignal Windows 95 par Windows 7, Office 97 par Office 2010 pour avoir sous les yeux la peinture hyperréaliste du paysage informatique actuel, ce qui est finalement presque un constat d’échec quant à l’évolution sur près d’une décennie et demi pour le logiciel libre !
Cependant la situation a néanmoins beaucoup évolué et les applications open-source conquièrent progressivement la place occupée jadis par les seules applications Microsoft : Firefox ou Chrome pour les navigateurs, Thunderbird pour la messagerie, OpenOffice ou LibreOffice pour la bureautique pour ne citer que celles-ci…
C’est que faute d’avoir investi massivement le poste de travail d’utilisateurs finalement peu enclins au changement lorsqu’ils ne sont pas maintenus captifs des solutions proposées (imposées ?) par les éditeurs de logiciels commerciaux, les systèmes libres ont heureusement progressé sur d’autres terrains comme celui des consoles de jeux (Nintendo Wii) ou encore dans le domaines des terminaux mobiles, smartphones et tablettes (Androïd, et bientôt Chrome OS ?). En tant que telle, la diversification du champ d’application de l’informatique est en elle-même porteuse d’espoir, d’autant qu’elle est en adéquation avec la vitalité des communautés open-source.

Le paradoxe du manchot
Je l’évoquais plus haut, mais paradoxalement l’évidente fécondité de la communauté de l’open source, a tout pour désorienter le béotien, et partant freiner la dissémination du libre. Trop d’offre tuerait donc l’offre ?
Un autre facteur est aussi la versatilité : divergence d’opinion entre développeurs, choix d’un mode de licence, changement de partenariat, il n’en faut parfois pas plus pour qu’un projet forke, qu’OpenOffice diverge en LibreOffice, que Firefox soit rebaptisé Iceweasel (sur Debian)…
Face à ces monolithes que sont Windows et dans une moindre mesure MacOS, les systèmes GNU/Linux vivent clairement sur les marges, portés par une minorité agissante d’inconditionnels et d’enthousiasmes qui paradoxalement voient parfois d’un mauvais œil les efforts de démocratisation consentis par des sociétés commerciales (Oracle, Cannonical…) même si ceux-ci semblent aller dans le bon sens…
Que manque-t-il aux systèmes libres pour qu’ils atteignent enfin la place qui leur revient (quand on sait que ces mêmes systèmes UNIX / Linux sont présents sur près de 70 % des infrastructures de l’Internet) ? Un partenariat avec un grand constructeur d’ordinateur qui distribuerait ses machines dotées d’un systèmes GNU/Linux préinstallé comme l’ont tenté Ubuntu et Dell, pour un temps au moins, assurerait de toucher un large public…
Au delà de ces conjectures, j’en revient à l’étonnante vérité des chiffres qui ressortent de notre install-party : environ 120 personnes invitées, une douzaine de présents (soit les 10% de gens qui disent connaitre/avoir entendu parler de GNU/Linux) et au final 4 ordinateurs personnels convertis totalement ou partiellement au petit manchot… soit en considérant quelques biais à peu près 3%, ce qui représente la marge haute dans les estimations de part de marchés des OS libres pour les ordinateurs personnels…
Finalement, et puisqu’on n’est plus à un paradoxe près, on se dit que le choix de Tux le manchot comme mascotte de Linux n’est peut-être pas si fortuit ou innocent que cela (mais ironique, sûrement), puisqu’après tout les manchots sont des oiseaux qui ne volent pas (alors que le pingouin, si !).

Ma première install-party

Avant... Cliché O. Legendre (licence Creative Commons Zéro)
Avant… (photo sous licence Creative Commons Zéro)

J’ai toujours rêvé de participer à une install-party.  Non que le mot revête à mes yeux tellement de charme : je serais preneur d’une traduction française compréhensible, mais je ne suis pas sûr qu’atelier festif d’installation de système libre, ni un scintillant néologisme tel que fêtelier informatique fasse vraiment l’affaire.

Usons donc du mot pour être compris, sachant que c’est la chose qui mérite l’intérêt : il s’agit de permettre, au cours d’un atelier à caractère mi-sérieux mi-ludique (qui est un peu la marque de fabrique du monde Linux), l’installation simultanée d’un système libre sur les ordinateurs de tous les participants, sous la houlette de quelques praticiens chevronnés.
On a déjà développé dans ce blog le grand intérêt des systèmes libres, et de nombreuses bibliothèques publiques proposent, parfois avec l’aide d’associations locales de soutien au logiciel libre, des install-parties pour leurs usagers ; mais les universités n’ont pas tellement emboîté le pas dans ce domaine, ce qui est un peu paradoxal quand on sait qu’elles forment un public abondant, jeune et a priori bien disposé à l’égard d’un système informatique à coût nul. Du reste, bien des étudiants n’ont pas attendu que leurs bibliothécaires s’intéressent au libre, et notamment dans les disciplines scientifiques, ils l’utilisent depuis longtemps déjà.

Soucieux, à titre professionnel de participer à la dissémination des systèmes libres à l’université et chez les étudiants qui n’y connaitraient rien ; tenté, à titre personnel, par l’installation d’un Linux sur ma vieille machine (vous savez, celle qui a 5 ans, qui met 6 minutes à démarrer sous Windows et 7 à ouvrir un document texte) ; bref, bien décidé à tenter l’expérience à la BU, j’ai demandé de l’aide aux collègues et nous avons organisé la chose à titre interne et expérimental, puisque nous avons sur place trois informaticiens tout à fait bien disposés envers le petit manchot.

Ma première Linux party a donc eu lieu le 9 février dernier, organisée par et pour des collègues, à titre d’expérience et de formation. Brève fiche pratique pour ceux qui voudraient faire de même, et pour nous-mêmes l’an prochain.

L’organisation générale
– faire un mail à l’ensemble du personnel et recueillir les inscriptions : une dizaine sur l’ensemble du réseau (quelques 120 collègues), ce n’est pas si mal. Nous avions fixé un plafond de 12.
– demander aux participants d’apporter leur machine deux jours avant pour pouvoir se livrer à un diagnostic de leur état : une machine trop ancienne (au-delà de 5 ans) pourrait ne pas bien supporter le passage.
– leur suggérer qu’un apport de type gastronomique était bienvenu (c’est tout de même une party).

La régie

La scène... Cliché O. Legendre (licence Creative Commons Zéro)
La scène…(photo sous licence Creative Commons Zéro)

– réserver une salle à la BU et y acheminer le réseau nécessaire pour une douzaine de postes, mettre un vidéoprojecteur en place pour les démonstrations. La salle de formation classique ne se prête pas bien à cet usage (les tables sont déjà pourvues, donc encombrées, d’ordinateurs…), on a donc dévoyé une salle de réunion.

Embrouillamini de fils...
… et les coulisses. (photo sous licence CC-Zero)

– préparer les machines d’appoint (pour ceux qui n’apportent pas leur machine mais qui veulent juste voir comment ça se passe et manipuler le système) et les PC personnels déposés pour examen.

– choisir le système à installer (Ubuntu 10.04 en l’occurrence, pour ne pas surcharger les machines un peu anciennes que nous allions utiliser) et graver tous les CD nécessaires.
– animer la séance et assister au fur et à mesure ceux dont les machines donnaient des signes de faiblesse ou posaient des problèmes particuliers. Les trois collègues informaticiens disponibles ont largement suffi à la tâche, la procédure étant très bien balisée parce qu’ils sont surcompétents et surmotivés, bref des surhommes quoi.

Bilan au bout de 4 heures
Ubuntu version 10.04 est installé sur les dix machines : 4 PC personnels et 6 fournis par le service. Ces dix postes fonctionnent. Une intervention postérieure (trois minutes) sur les postes a cependant été nécessaire pour modifier les paramètres d’accès internet : ceux qui servaient lors de l’installation à l’intérieur de la BU, ne permettaient pas l’usage d’une connexion filaire extérieure, et le passage en DHCP n’est pas parfaitement géré par l’interface graphique du système.

Ma vieille machine est redevenue utilisable. Elle démarre en moins d’une minute et répond gentiment, et vite, quand je lui demande d’ouvrir un fichier.

Après ! (licence Creative Commons Zéro)
Après ! (photo sous licence Creative Commons Zéro)

Perspectives
– Organiser la même l’an prochain, mais cette fois pour les étudiants.
– Passer en dual-boot (système mixte Linux-Windows) au prochain renouvellement de postes de la bibliothèque numérique, puisque hélas notre SIGB ne tourne pas correctement sous Linux.
– … Et donc, bien sûr, changer de SIGB. Mais c’est un chantier d’une autre ampleur, donc une autre histoire et d’autres billets.

Des statistiques pour améliorer nos développements

Le développement web devient une tâche rapidement complexe quand il s’agit de rendre un site compatible avec le plus grand nombre de navigateurs possibles. D’un côté, HTML5 ET CSS3 font course en tête et sont chaque jour un peu mieux pris en charge par les nouveaux navigateurs. De l’autre, Internet Explorer dans ses versions 6 et 7, freine l’utilisation des nouveaux langages qu’ils comprennent très mal, ou pas du tout. Ajoutons à cela, l’expansion des mobiles et tablettes nécessitant des feuilles de style dédiées et le casse-tête devient difficile à résoudre. Pour tenter d’y voir plus clair et adapter nos choix techniques en conséquence, nous pouvons utiliser les statistiques du site web (fournis par notre logiciel Piwik) qui fournit des informations détaillées sur les équipements de nos usagers.

D’abord, Piwik fait la distinction entre le nombre de visites et le nombre de visites uniques (un visiteur est alors compté une seule fois même si il visite le site plusieurs fois dans la journée). Les résultats sont sensiblement différents entre ces deux chiffres. Le nombre de visites est significatif des utilisateurs les plus actifs tandis que le nombre de visites uniques représente mieux la diversité des visiteurs. Voyons ce qu’il en est pour les navigateurs de nos usagers.

On voit que le navigateur Chrome est largement représenté (camembert de gauche) mais que c’est Firefox et Internet Explorer qui sont les plus utilisés (à droite). Quand on regarde les statistiques plus précisément, Internet Explorer 6 et 7 comptabilisent 10% des visites.

Pour les utilisateurs de mobiles, les chiffres sont surprenant. Leur proportion est de 10% en visites uniques et tombe à 1% quand on regarde leur activité sur le site (la catégorie « autres » contient des systèmes aussi incongrus que la playstation ou la nintendo wii).

Que conclure de ces chiffres ?

D’abord, la proportion des usagers d’Internet Explorer 6 et 7 n’est pas négligeable et les développements doivent tenir compte de leurs spécificités. Adieu donc les bonnes pratiques de développement en CSS et adieu également aux innovations de pointe proposées par CSS3. Nous pouvons cependant utiliser la technique de dégradation élégante qui permet de rendre le site compatible avec tous les navigateurs pour un rendu meilleur sur les plus modernes et moins bon sur les plus anciens.

Concernant les mobiles, leur proportion est loin d’être négligeable également mais leurs utilisateurs ne semblent pas réellement actifs sur le site. Comme nous n’avons pas encore de feuille de style dédiée à ces équipements, c’est compréhensible. Cependant il serait intéressant de connaître l’usage réel fait avec ces appareils (une recherche documentaire semble peu probable sur mobile) pour mieux connaître leur impact.

Une messagerie pour deux systèmes : cas de Thunderbird sur un pc en dual-boot

Quiconque ayant un jour fait preuve de suffisamment de curiosité, ou ayant eu l’esprit aventureux au point de sortir des sentiers balisés des systèmes d’exploitation que je qualifierai pudiquement de « pré-installés » s’est inévitablement tourné vers GNU/Linux…

En bon camarade, GNU/Linux, toutes distributions confondues, vit bien la cohabitation avec un système Windows préexistant. Pour peu que ce dernier lui en ait laissé la place, GNU/Linux s’y installe sans plus de difficulté et les deux systèmes vivent alors sur le mode de la coexistence pacifique…

Certes Windows demeure superbement indifférent à Linux, incapable qu’il est de déchiffrer son système de fichiers. Linux, plus agile, sait lire et écrire sur des partitions NTFS, ce qui au passage en fait un outil pratique pour récupérer les données et parfois même réparer un Windows cassé…

Cependant quiconque ayant un jour fait l’expérience du dual-boot sait que l’on se retrouve immanquablement confronté à des choix. Disposer de deux systèmes est à coup sûr un confort, et la certitude de revenir facilement à un environnement familier. Pour l’utilisateur dont Linux est devenu le système principal mais pour qui Windows reste indispensable (une application propriétaire sans équivalent et ne fonctionnant pas sous Wine, par exemple) le dual-boot offre une souplesse bienvenue…

Mais dans ce contexte, quid de l’accès aux données déjà présentes sur l’ordinateur ? En particulier aux données déjà enregistrées dans certaines applications tournant sous Windows, ces dernières étant entièrement configurées… vous voyez sons doute où je veux en venir ? Je pense bien évidemment à la messagerie électronique.

ThunderbirdCertes on peut résoudre la question en utilisant exclusivement un webmail, ou en redémarrant son pc pour consulter ses mails, mais sincèrement, quel ennui.

Pour peu que l’on respecte quelques conditions préalables, il est toutefois possible de disposer d’une seule messagerie pour les deux systèmes. Supposons que l’on était auparavant un utilisateur « éclairé » de Windows préférant un client de messagerie open-source, en l’occurrence Thunderbird.

Il nous faut installer dans notre beau système GNU/Linux en dual-boot le même Thunderbird, ou tout au moins une version majeure identique (au moment ou j’écris ces lignes, la version dans les dépôts Ubuntu 10.10 « Maverick Meerkat » est la 3.1.16 et celle présente sur ma partition Windows XP est la 3.1.18) ce qui peut se faire ainsi :

$ sudo aptitude install -r thunderbird

 Si cette version vous semble trop archaïque, ou bien que votre messagerie Windows est déjà un Thunderbird 10.0 flambant neuf pas de problème, il suffit d’aller, si j’ose dire, « à la source » : https://launchpad.net/~mozillateam/+archive/thunderbird-stable et d’ajouter le dépot ppa de Thunderbird avant de procéder à l’installation.

$ sudo add-apt-repository ppa:ppa.launchpad.net/mozillateam/thunderbird-stable/ubuntu maverick main

puis via Synaptic ou plus prosaïquement en ligne de commande :

$ sudo aptitude update && sudo aptitude install -r thunderbird

A ce stade nous disposons donc de Thunderbird dans les deux systèmes, il convient donc de configurer le client Linux afin qu’il aille chercher l’intégralité des données de la messagerie déjà installée sous Windows, c’est à dire bien sûr le texte des messages, les pièces jointes mais également la totalité du carnet d’adresses, les filtres et plus important, la configuration du ou des comptes, mots de passe inclus… sans oublier les modules complémentaires !

La partition  windows est en général accessible via le menu « raccourci » de Gnome, le point de montage étant /media/WINDOWS si le disque ne porte pas de nom particulier. Le répertoire contenant les dossiers de la messagerie se trouve alors, si l’on est sous XP

/media/WINDOWS/Documents and settings/Nom_de_l'utilisateur/
Application Data/Thunderbird/Profiles/xxxxxxxx.default

(xxxxxxxx étant une valeur alphanumérique propre à chaque installation). Sous Vista ou Seven, le répertoire de l’application est à chercher du côté de /Users/Profiles…

On doit maintenant éditer le fichier de configuration de Thunderbird, que l’on trouve dans le répertoire .thunderbird de son home directory et qui se nomme profiles.ini

$ cd .thunderbird/
$ sudo vim profiles.ini

et là on remplace la variable path existante par le chemin décrit plus haut

Path=/media/SYSTEME/Documents and Settings/utilisateur/
Application Data/Thunderbird/Profiles/m31xts4b.default

On n’a plus qu’à enregistrer les modifications et lancer Thunderbird pour retrouver sa messagerie à l’identique, entièrement configurée et toute prête à être utilisée…

A chaque démarrage cependant, il faudra penser à monter sa partition windows avant de lancer Thunderbird sous peine de recevoir en plein figure un beau message d’erreur…

Rassurez-vous, Linux pense aux étourdis et offre la possibilité de monter automatiquement une partition au démarrage, ce qui se fait en éditant le fichier /etc/fstab

$ sudo vim /etc/fstab

auquel on ajoutera une ligne comme celle-ci, après avoir examiné la sortie de la commande sudo fdisk -l et par sécurité fait un cat /etc/mtab

périphérique  point de montage  ntfs-3g   rw,user,auto,gid=100,uid=1000,nls=utf8,umask=002  0  0

périphérique est à remplacer par /dev/sda1 et point de montage par /media/WINDOWS, la plupart du temps (à adapter à votre système, quoi qu’il en soit).

Et après ça vous devriez arriver à lire vos mails quel que soit votre système !

Script de sauvegarde pour MySQL

Nos serveurs étant installés selon la technologie RAID, le risque de perte de données provient essentiellement d’une erreur logicielle ou humaine. Ne disposant pas de solution de sauvegarde professionnelle pour nos sites web et documents numériques, nous ne pouvions cependant pas rester sans copie de secours des fichiers et des bases les plus importants. Concernant ces dernières, un simple script les enregistre dans des fichiers distincts à intervalles réguliers. L’alambic numérique étant peu pourvu en langage informatique — un comble pour le blog d’une bibliothèque numérique –, voyons plus en détail le fonctionnement de ces quelques lignes de code.

Screenshot of the famous GLMatrix screensaver Copyright © 1999-2003 by Jamie Zawinski
Screenshot of the famous GLMatrix screensaver Copyright © 1999-2003 by Jamie Zawinski

MySQL, le système de gestion de bases de données  que nous utilisons, dispose d’un certain nombre d’outils d’administration. L’un d’entre-eux, permet d’exporter les bases dans un format adapté à un éventuel ré-import (en SQL). Chaque nuit, le programme qui nous intéresse ici, exporte les données de nos sites principaux à l’aide de ces commandes de gestion. Les extractions de la veille sont écrasées systématiquement et même si nous archivons régulièrement ces fichiers il n’y a donc pas de gestion des versions précédentes. Nous disposons tout de même d’une copie de secours en cas d’une perte de données inattendue.

Voici ce script et un commentaire associé :

[sourcecode language= »bash » highlight= »15,31″]
#! /bin/bash
#fonction testant la presence d’un element dans un tableau de chaînes
function in_array(){
chaine=$1
trouve=$(echo ${exclude[*]} | grep « $chaine »)
if [ « $trouve » != «  » ]
then
return 1
else
return 0
fi
}

#récupération de la liste des bases
bases=($(mysqlshow -pmotdepasse | cut -d ‘|’ -f2 | sed ‘1,3d’ | sed ‘$d’))

#repertoire de sauvegarde ou sont copiés les exports
rep=’/sauvegardes’

#liste des bases a exclure
exclude=(base1 base2 base3)

#lancement de l’export
for i in ${!bases[*]}
do
$(in_array ${bases[$i]})
inarray=$(echo $?)
if [ $inarray -eq 0 ]
then
echo ${bases[$i]}
mysqldump -u root -pmotdepasse –opt ${bases[$i]} > $rep/${bases[$i]}.sql
fi
done
[/sourcecode]

Ces quelques lignes sont écrites pour BASH, l’interpréteur de la ligne de commande sous Linux. Son fonctionnement est simple, il récupère la liste des bases présentes dans le serveur MySQL puis les enregistre dans un répertoire indiqué dans le programme à la ligne 18 . Certaines bases peuvent être ignorées en indiquant leur nom dans la liste de la ligne 21.
Les lignes en surbrillance ont une syntaxe particulière. Il ne s’agit pas d’une faute de frappe mais le mot de passe doit être accolé à l’option « -p » passée aux commandes mysqlshow et mysqldump.

Il suffit ensuite d’attribuer les droits d’exécution à ce script et de le lancer avec les commandes suivantes :

[sourcecode language= »bash » gutter= »false »]
$ chmod a+x dump-mysql
$ ./dump-mysql
[/sourcecode]

Introduction aux logiciels libres

À l’intérieur de notre réseau, l’usage des logiciels libres est de plus en plus courant : la généralisation de l’utilisation d’OpenOffice est en cours, nos serveurs et sites web sont pour la plupart sous licences libres et certains postes publics sont équipés d’une distribution Linux. Si cette transition ne provoque pas de levée de boucliers, la notion de logiciel libre reste cependant mal comprise. À destination des collègues de la BCU, cet article a pour but d’éclairer un peu mieux le choix de nos outils informatiques…

Galette Mosaïque - Par Yuichi.Sakuraba Flickr - Licence CC BY-NC 2.0 - Flickr
Galette Mosaïque – Par Yuichi.Sakuraba Flickr – Licence CC BY-NC 2.0 – Flickr

D’abord, une définition. Pour cela, prenons l’exemple couramment utilisé de la recette de cuisine. Imaginez un instant que vous réalisiez un superbe gâteau pour l’anniversaire d’un ami. Les convives admiratifs, après s’être régalés de la pâtisserie, vous demandent alors la recette. Deux possibilités s’offrent à vous. Vous pouvez jalousement garder le secret de fabrication et lancer un « Oh tu sais, c’est tout simple, j’ai fait ça les yeux fermés ». Vous pouvez également copier la recette de votre œuvre et la distribuer généreusement à votre entourage selon les principes du logiciel libre. Quelles sont les différences entre ces deux façons de faire ?

Dans le premier cas, vos invités ignorent la recette du gâteau. Ils ne peuvent le reproduire à l’identique, vous seul(e) détenant le secret de fabrication.
Dans le deuxième cas, chacun peut reproduire le gâteau chez lui à sa guise. Si on pousse l’analogie avec les logiciels libres plus loin, vos amis pourront également modifier la recette et la distribuer à nouveau avec leurs modifications. Toutefois, rien ne garantit que c’est à vous qu’il feront goûter le fruit de leurs efforts…
Pour en revenir au logiciel, chacun d’entre eux possède sa recette qu’on appelle le code source. Dans le cas d’un logiciel non-libre, le code source n’est pas accessible. L’utilisateur est alors dans l’impossibilité d’étudier son fonctionnement, de le reproduire ou de le modifier (sous réserve qu’il ait les connaissances informatiques pour le faire). Il n’aura pas non plus l’autorisation de le partager avec quelqu’un d’autre, ces droits étant déterminés par la licence accompagnant le logiciel. Ainsi on pourrait définir un logiciel libre par « logiciel ayant une licence libre». La GPL (Gnu General Public License) est la figure de proue des licences libres mais il en existe d’autres.
La comparaison culinaire a ses limites et, pour une définition plus précise, vous pourrez lire cette page de la free software foundation à l’origine du concept de logiciel libre.

«N’est-ce pas moins bien parce que c’est gratuit ? »

Au détour d’une conversation sur les « Free software » (à ne pas confondre avec « freeware »), vous entendrez peut-être la question ci-dessus qui contient deux erreurs à elle seule.
Libre ne veut pas dire gratuit. Vous pouvez tout à fait commercialiser un programme sous licence libre. Cependant, il y a peu d’intérêt à vendre un logiciel dont on distribue le code librement. Les entreprises qui occupent ce secteur vendent des services (maintenances, mises à jour) plutôt que le logiciel en lui-même.

Sans vouloir faire un comparatif entre logiciels libres et logiciels non-libres, la qualité n’est pas un argument en leur défaveur. L’ouverture du code entraîne en général une amélioration de la fiabilité du programme. La raison en est que les communautés de développeurs peuvent détecter plus rapidement et plus facilement les éventuelles erreurs de programmation et améliorer le logiciel en conséquence.

Une autre confusion provient de la similitude entre la notion d’open source et celle de logiciel libre. La FSF (Free Software Foundation) est à l’origine de l’appellation « logiciel libre » tandis que l’organisme OSI (Open Source Initiative) revendique l’appellation « open source ». Les premiers, emmenés par Richard Stallman, mettent en avant les valeurs de partage et de liberté garanties par les licences libres. Les seconds, qui se réclament d’Eric Raymond, (hacker respecté pour son livre La cathédrale et le bazar) se veulent pragmatiques et prônent l’open source pour ses qualités intrinsèques (meilleure fiabilité du logiciel due à l’ouverture du code). Selon que l’on est partisan de l’un ou de l’autre camp, les termes et la philosophie varient mais les deux définitions sont en accord dans la plupart des cas.

Tux le manchot
Tux le manchot

Enfin, il reste une confusion mineure mais néanmoins problématique. Rendons son honneur à Tux, mascotte emblématique de Linux. Il est souvent confondu avec un pingouin à cause du mot anglais « penguin » qui signifie en réalité « manchot ». Un spécialiste avancerait que pour un manchot, Tux ne ressemble à aucun autre de ses confrères mais cessons là la comparaison.

Pour finir, voici un lien vers le site Framasoft, référence incontournable du « monde libre », sur lequel vous trouverez quantité de fiches descriptives de logiciels libres en tout genre pour différents systèmes d’exploitation. Bonne découverte !

Adobe Digital Editions sous GNU/Linux, c’est possible !

A l’heure où le nombre de publications au format électronique va croissant, quoi de plus légitime que de vouloir consulter des e-books au moyen de son système d’exploitation favori ?
C’est en effet la question que l’on peut se poser lorsque, comme moi, on utilise au quotidien à titre personnel autant que professionnel un système GNU/Linux, en l’occurrence Ubuntu 10.10 « Maverick Meerkat » sur son ordinateur et que l’on se retrouve face à cela…

Installeur d'Adobe Digital Editions
Le message insupportable…

Si vous voulez en faire l’expérience et que vous n’utilisez ni Windows™ ni MacOS™, cela va de soi, rendez vous sur le site d’Adobe Digital Editions®, vous verrez, c’est édifiant !
Dès lors, on peut davantage douter de la bonne volonté que du savoir-faire d’Adobe qui promet une version Linux de son lecteur depuis la version 1.0 sortie en… 2007 ! Et ce d’autant plus que le très officiel Adobe Reader 9.0 est disponible dans les dépôts d’Ubuntu, au même titre que les plugins Flash, Shockwave ou Air…
Cela étant on peut comprendre la réticence d’Adobe à libérer le code source d’une application gérant des DRM vers une communauté globalement hostile à ce principe… et qui trouverai là l’occasion rêvée de contourner la gestion des droits électroniques !

Mais revenons à des considérations plus pratiques, on ne va quand même pas se laisser démonter par un message défaitiste !

A ce stade les solutions envisageables restent d’avoir une machine en dual-boot permettant de choisir un système supporté par Adobe au démarrage ou d’exécuter Windows dans une machine virtuelle. Mais tout cela est long, lourd et peu fonctionnel : peut-on décemment imaginer d’avoir à quitter toutes ses applications et redémarrer sa machine pour lire un e-book ? Quant à utiliser une machine virtuelle sur un netbook ou un ordinateur à la configuration matérielle limitée, je n’ose même pas l’imaginer.

Fort heureusement Wine est là pour nous aider et si ce n’est déjà fait, commençons par l’installer, ce qui avec Debian ou Ubuntu peut se faire en tapant ce qui suit dans un terminal :

$ sudo aptitude install -r wine

N.B. : Wine n’est pas un émulateur, c’est une couche de compatibilité applicative entre  logiciels Windows et système Linux ; Wine est présent dans toutes les distributions Linux récentes et si ce n’est en ligne de commande, il est facile moyennant quelques clics de l’installer avec son gestionnaire de paquets favori…

Le deuxième défi reste de trouver sur le site d’Adobe le fichier exécutable de l’installeur… et ce n’est pas une mince affaire. Car la page qui nous a si mal reçu contient un exécutable en flash permettant de lancer l’installation… pourquoi faire simple ? Mais rien n’est perdu et il suffit de suivre la note technique d’installation. Sur cette page au paragraphe « Manually install Adobe Digital Editions for Windows » figure le lien direct vers l’installeur

Où trouver l'installeur ?
Où trouver l’installeur ?

Une fois téléchargé l’installeur qui se nomme benoitement « setup.exe« , il convient de rendre ce dernier exécutable, soit via ses propriétés dans l’interface graphique ou bien :

$ sudo chmod +x setup.exe

et dans la foulée de lancer l’installation en double-cliquant sur l’icône de « setup.exe » ou encore :

$ wine setup.exe

par suite l’installation se passe comme sous… Windows !

Déroulement de l'installation
Une installation comme sous Windows…

Je passe rapidement sur les différentes étapes de l’installation, identique en tout point à ce qui se fait dans le monde MicroSoft. Il vous sera successivement demandé de choisir un chemin d’installation, d’accepter les termes du contrat de licence… mais après copie des fichiers un dossier « My Digital Editions » ainsi qu’une icône de bureau auront fait leur apparition. Magique, non ?

Voilà, désormais Adobe Digital Editions est installé sur votre ordinateur GNULinux et vous pouvez à loisir consulter l’offre de livres numériques de la BCU… Bonne lecture !

D’APOGEE à STAR : Automatisation de l’export sous linux

I was in space !!! - Par *Katch - Flickr - CC BY-NC-ND 2.0
I was in space !!! – Par *Katch – Flickr – CC BY-NC-ND 2.0

À Clermont-Ferrand le dépôt des thèses numériques dans STAR est officiel depuis Septembre 2010 pour l’université Blaise Pascal et depuis Janvier  2011 pour l’université d’Auvergne. Pour faciliter le dépôt des nouvelles thèses, un lien a été établi entre APOGEE et STAR et éviter ainsi une double saisie des informations administratives. Les données d’APOGEE sont extraites, puis mises en forme afin d’être importées dans STAR.

Cette méthode n’a rien d’originale et est notamment utilisée  à l’université de Tours qui a généreusement transmis sa méthode d’export/import sur la liste des correspondants STAR. Cette procédure a été retranscrite à l’université de Metz également. Nous l’avons quelque peu modifiée afin de simplifier cette routine effectuée chaque semaine.

Quelques fichiers à adapter

Le script d’extraction

Ce programme a été affiné par un informaticien de notre centre de ressources informatiques. Seules les informations des nouveaux doctorants (depuis la dernière extraction) sont aspirées. L’étape de suppression des doctorants déjà présents dans STAR est ainsi évitée.

Les données issues de l’export

L’étape d’édition du fichier CSV est encore nécessaire. Ceci pourrait être automatisé en adaptant la feuille de style XSL mais pour l’instant le jeu n’en vaut pas la chandelle. En pratique, il arrive que le nom du président du jury ne soit pas saisi dans APOGEE ce qui empêche l’import dans STAR (ce champ étant requis dans la recommandation TEF).

La feuille de style XSL

En plus de l’adaptation du numéro d’autorité Sudoc, on a du changer l’en-tête XML et une balise XSL pour l’adapter à la version de saxon. Il faut donc remplacer la ligne :

<?xml version="1.0" encoding="UTF-8"?>

par

<?xml version="1.1" encoding="UTF-8"?>

puis la ligne

<?xsl:result-document href="out/{$ETABLISSEMENT}_{CODE_ETUDIANT}.xml"?>

par :

<?xsl:document href="resultats/{$ETABLISSEMENT}_{CODE_ETUDIANT}.xml"?>

Un script bash pour générer les thèses

Ces modifications faites, un petit script (disponible en bas de cette page) a été créé pour automatiser la transformation du fichier d’export en fichiers de thèses XML conformes à la recommandation TEF.
Sous linux, il n’y a pas de problème d’encodage entre l’ANSI et l’UTF-8 (ce dernier format étant natif), on peut alors lancer notre script qui créera les fichiers des thèses dans un répertoire dédié.
Ce petit programme utilise le logiciel ffe (flat file extractor) pour transformer le CSV en XML, puis saxon (comme à Tours) pour la transformation en TEF.

Pour l’utiliser sous Ubuntu, les paquets libsaxon-java et ffe doivent être installés. La suite des opérations se déroule en ligne de commande.

  •   on place le fichier CSV issu de l’extraction à la racine du répertoire du script.
  •   on place le fichier de transformation XSL dans le répertoire « scripts »
  •   on execute la ligne de commande suivante :
$ ./ star.sh theses.csv scripts/feuilleXSL.xsl

Les thèses seront alors disponibles dans le répertoire « résultats » et prêtes pour l’import par mail.

Vous pouvez télécharger  le script bash pour STAR au format zip.

Projet 2012 : pourquoi pas nous ?

Je suis mécontent.

Quand on interroge « projet 2012 » dans le formulaire de recherche du moteur que l’on ne cite plus, on ne trouve pas le projet de la bibnum. Ce moteur est vraiment mal conçu, ou mal renseigné. Car la bibnum a des tombereaux de projets pour l’année à venir, de quoi nourrir un quinquennat  quinquennal. Qui plus est, ils sont plutôt moins coûteux que ceux des partis candidats au gouvernement, et je gage, sans avoir approfondi la question (Ttttt… devoir de réserve!), que leur faisabilité n’est pas moindre.

Jyhem, Oui oui non non (Creative Commons, paternité, pas d’utilisation commerciale ; source FlickR)

La lecture in-extenso de notre « projet de service » serait de nature à faire déserter ce blog pour 6 mois ; les collègues m’en voudraient, ainsi que les lecteurs d’ailleurs, dont la plupart ont sans nul doute déjà produit ou absorbé une bonne lampée de « projets 2012 » pour leur propre compte. Puisque l’on fait ici dans la distillation, quelques gouttes de quinquina(l) suffiront aux connaisseurs.

Une politique documentaire véritablement politique et profondément documentaire

Côté contenus, les jérémiades budgétaires, comme tous les lieux communs, étant aussi fastidieuses à écrire qu’à lire, je coupe court : 2012 sera une année qualitative. Réduit en slogan, ça donnerait quelque chose d’intermédiaire entre dépenser pas trop plus pour acquérir pas trop moins et acquérir moins mais consulter mieux.
Mais surtout, en politique documentaire comme en politique économique les enjeux sont situés autant et plus au-dehors qu’au-dedans. Mutatis mutandis, notre construction européenne à nous (Tttt… devoir de réserve !) est un consortium.

  • Notre rêve est donc de voir étinceler dans le glacial crépuscule des négociations humiliantes un consortium-couperet, qui bien loin de valider une négociation, inviterait ses membres à la bouder explicitement.
  • Notre projet, c’est de faire valoir ce point de vue chaque fois que la proposition d’un éditeur semblera le justifier. Je n’ai guère de doute sur le fait que l’occasion se présentera une fois ou l’autre cette année.
    Je vote pour un consortium fort et juste. Pour un consortium de conviction.

Un accès résolument accessible

Côté accès : on teste cet automne l’adaptation sur notre SIGB d’un OPAC libre.
Si – hypothèse absurde – tout se passe bien, vous n’en entendrez parler ici que lors d’un petit billet triomphal annonçant le changement d’OPAC.
Si tout se passe normalement, vous aurez quelques billets dans ce blog sur les difficultés rencontrées et un billet soulagé au printemps expliquant que finalement ça marche, pas parfaitement, mais ça marche.
Si tout se passe mal, je m’engage personnellement à signer un billet rageur rejetant toute la responsabilité de l’échec sur les failles techniques de notre SIGB, ou la météo, ou mes collègues, selon l’humeur du jour (je ne dis pas que ça n’est pas injuste, je dis que ça soulage). Mais nous n’en sommes pas là. Laissons travailler nos bouilleurs de cru, il paraît que si l’on regarde par dessus leur épaule la distillation échoue.
Les solutions ? Elles existent. Testons-les.

Une bibliothèque de production délibérément productive

Notre première « bibliothèque virtuelle » devrait être publiée cette année. Il s’agit des carnets du géologue Glangeaud, dont Camille vous a donné un échantillon il y a peu. Entre autres projets, on vise aussi la publication des thèses déposées électroniquement de 2003 à 2010 (avant le dépôt électronique officiel). Après moult réflexions, on s’oriente pour cela vers la solution la plus légère, la diffusion sur TEL. Évidemment, c’est un peu plus compliqué que pour les thèses nativement électroniques, puisque ce n’est pas automatisé, mais sinon, où serait le plaisir (car TEL est notre plaisir) ?

Avec la bibnum, la production virtuelle devient réalité .

Sortir de l’informatique informaticienne

Dans le parc informatique, le dossier de l’année, c’est l’expérimentation de systèmes libres. Les machines professionnelles devraient achever leur migration vers la bureautique libre, le parc public devrait entamer la sienne vers un système d’exploitation Linux, en profitant de la rénovation complète d’une des bibliothèques du réseau. Et pour accompagner le mouvement, une petite install-party sera organisée pour les collègues, afin de faire connaître le système.

En 2012, pour une accessibilité efficace et apaisée ; pour une documentation scientifique et solidaire ; pour une bibliothèque de conviction et d’innovation, votez Clermont. Pour une bibliothèque en mouvement, votez Montferrand. Pour dire ce que vous pensez de nos projets, laissez un commentaire. Pour nous parler des vôtres, faites donc un blog.

Logiciels libres et développement en bibliothèque

Quand une bibliothèque dispose d’un développeur, la question des logiciels libres est au cœur des développements. Leur utilisation amène pourtant des contraintes et influence l’organisation du travail. Voici un état des lieux sur leur pratique, avantages et inconvénients.

Un développeur seul n’est rien

Course de gnous - Licence CC BY-NC 2.0 - Par Thiery49 Flickr
Course de gnous – Licence CC BY-NC 2.0 – Par Thiery49 Flickr

Commençons par un constat : pour un développeur web, ce n’est pas très productif de programmer un logiciel de A à Z. La plupart des fonctionnalités de base (création de pages web, gestion d’utilisateurs, etc.) sont fournies par la majorité des CMS et il serait vain de vouloir faire mieux ou de les reproduire à l’identique en travaillant seul. Autre écueil, le travail d’une personne, ne peut rivaliser avec celui d’une communauté de développeurs fournissant mises à jour régulières et correctifs contre les failles de sécurité.
Cependant, on peut comprendre l’envie de l’informaticien de créer sa propre application. Concevoir, modéliser, pratiquer de manière avancée la programmation objet et les patrons de conception sont autant d’étapes passionnantes du cycle de développement. A la manière du forgeron, c’est en développant que l’on devient développeur et l’exercice de son cœur de métier lui permet de réfléchir à sa pratique de la programmation, le code devenant plus propre et efficace, et même beau, au passage.

Des logiciels de qualité

Partant de ce constat, l’utilisation des logiciels libres devient un atout considérable pour un service informatique en bibliothèque. Leur licence permet leur réutilisation, leur modification et offre au développeur la possibilité de les enrichir et les adapter en mettant ses compétences en application. La bibliothèque profite également du travail de la communauté de développeurs fournissant les logiciels, d’autant plus lorsque ces derniers sont spécialisés dans le métier. Leur nombre et leur diversité représente une manne considérable, souvent gratuite. A la BCU, nous n’hésitons pas à les tester et les déployer pour répondre à des besoins précis et ponctuels. Nous avons ainsi mis à disposition des chercheurs une galerie d’images numérisées (piwigo), pour qu’ils puissent les décrire en Dublin Core. Cette description sera réutilisable pour une bibliothèque numérique.
Bref, le tableau est presque idyllique mais à l’usage on rencontre quelques contraintes.

Une course à l’évolution

En premier lieu, intéressons-nous aux mises à jour accompagnant tout logiciel libre. Signe de bonne santé d’un projet, elles permettent de bénéficier des correctifs comblant les failles de sécurité inhérentes à tout logiciel complexe. Elles offrent également les toutes dernières innovations techniques et fonctionnelles du web. A priori, c’est donc un bénéfice de les installer et de faire évoluer le logiciel.
Mais ce processus a une contrepartie. Les temps de maintenance augmentent au fur et à mesure du nombre d’applications installées. Pour preuve, wordpress, utilisé pour l’alambic numérique, propose environ une mise à jour par semaine, que ce soit pour le corps du programme ou pour les extensions installées.
De manière générale les logiciels libres, au moins les plus actifs, souffrent d’une instabilité chronique (au sens d’évolution permanente). Prenons l’exemple de Drupal. Nous l’avons sorti en version 6, au moment même où paraissait la version 7. Dans un an et demi ou deux, quand la version 8 sera prête, la version 6 ne sera plus maintenue. Faut-il passer à la version 7 dès que possible ? Faut-il attendre la version 8 et refondre entièrement le site à ce moment là ? Si l’on veut respecter ces changements de version (et continuer à bénéficier du support de mise à jour), le remplacement du site impliquera de recommencer un cycle de développement (cahier des charges, acquisition de connaissances, formation des utilisateurs, etc.) peu de temps après le précédent.
Il faut toutefois pondérer cet inconvénient. Si le logiciel évolue, les services évoluent en parallèle. Dans deux ans, on peut imaginer que de nouveaux besoins seront apparus et que le remplacement de notre site deviendra évident, et pas seulement pour des raisons logicielles. En bibliothèque, l’avenir proche amènera sans doute à s’intéresser au web de données et au format RDF. On peut toutefois se demander si les efforts fournis aux étapes précédentes ont le temps de porter leurs fruits.

S’adapter au cycle de vie des logiciels apporte son lot de questions importantes : Comment gérer au mieux l’ensemble d’un grand nombre de logiciels installés en interne ? Comment ne pas se laisser déborder par les tâches de maintenance? Comment profiter des changements de version sans devoir tout recommencer à chaque fois ?
Nous n’avons pas les réponses dans l’immédiat, mais ces questions seront au cœur de nos travaux à venir…

 

Logiciels libres et bibliothèques est une association de plus en plus répandue. Leur utilisation amène pourtant des contraintes et influence l’organisation du travail. Voici un état des lieux sur leur pratique, avantages et inconvénients.

Drupal à la BCU (une étude de cas)

Rouages - Par Олександр - Licence CC BY 2.0 - Flickr
Rouages – Par Олександр – Licence CC BY 2.0 – Flickr

Dans un billet précédent, nous vous présentions les raisons du choix du CMS Drupal pour notre site. Voici maintenant une présentation plus précise de sa configuration. Elle ne se veut pas exhaustive ni exemplaire mais nous espérons ainsi contribuer à la discussion sur les multiples possibilités offertes par ce CMS.

Bien choisir les types de contenus

Comme le décrivait Camille dans un billet sur l’organisation du portail, la première étape a consisté à classer les contenus en différent « types de contenu », notion phare de Drupal. À ce stade, ce choix a une répercussion importante sur l’organisation du site à venir et notamment sur la configuration des modules à utiliser. Autrement dit, c’est un moment important du processus de construction et il s’agit de bien connaître quels sont les enjeux de cette classification.
Pour faire vite, un type de contenu est un gabarit commun à plusieurs contenus partageant des caractéristiques communes. Par défaut, Drupal propose ainsi les types « pages » et « articles ». Un article peut accueillir les commentaires de ses lecteurs alors qu’une page ne propose pas cette fonctionnalité.

Un tri par métadonnée

Mais Drupal ne s’arrête pas là. Grâce au module CCK, on peut enrichir les types de contenus (ceux par défaut et d’autres nouvellement créés) avec des attributs supplémentaires. En plus des commentaires, on pourrait alors ajouter un champ « sujet » permettant de classer un article. Par exemple, le type « base de données » utilisé sur notre site comporte 10 champs descriptifs dont l’éditeur, l’url d’accès et la discipline.
Ces métadonnées ont une autre vertu. En plus de qualifier un contenu et d’améliorer sa description, elles permettent de regrouper des contenus en fonction d’une caractéristique commune. Ainsi, il est aisé d’afficher toutes les bases de données ayant la médecine pour discipline  ou d’afficher toutes les articles dont le sujet est « puy-de-dôme », Drupal gérant (presque) nativement cette option.

Une page d’accueil par type de contenu

Pour en revenir au site de la BCU, nous avons répartis les contenus dans 7 types différents : « bases de données », « pages », « événements », « mercredis de la science », « jeudis du patrimoine », « actualités », « boite à outils ». Les pages sont utilisées pour le contenu éditorial du site. On les retrouve via le menu de navigation principal.
Pour chaque type de contenu (sauf « pages » et « boite à outils ») nous avons ajouté une page d’accueil en développant un module adéquat. Sur cette page nous offrons au visiteur différents point d’accès aux contenus. Pour les bases de données par exemple, la page d’accueil propose un accès par disciplines, par index alphabétique (autant d’attributs déclarés dans le type de contenu correspondant) et enfin une liste de toutes les bases à accès payant (encore un attribut personnalisé). Vous pouvez voir d’autres exemples de page d’accueil pour les Mercredis de la science, les jeudis du patrimoine et les actualités.

L’agenda culturel est bâti sur le même principe mais assemble des contenus de différents types. On trouve sur cette page les derniers événements ainsi que les Mercredis de la science et Jeudis du patrimoine à venir.

Des modules appropriés

Pour un non-developpeur, le module views permet de créer ces pages fournissant différents points de vue sur les types de contenu. Cependant, nous avons choisi de ne pas l’utiliser. La création de modules « à la main » permet de mieux comprendre le fonctionnement de Drupal et de se passer d’un outil complexe comme views, pas toujours facile à mettre en oeuvre. Il a pourtant le mérite d’être utilisable par quelqu’un qui ne connait pas PHP et SQL.

Pour finir, voici la liste des principaux modules utilisés à la BCU :

  • IMCE : pour la gestion des images.
  • Menu block : pour scinder le menu principal en sous-menus utilisables dans des blocs.
  • Scheduler : pour programmer la publication des actualités.
  • CCK : pour enrichir les types de contenus avec des métadonnées adéquates.
  • Piwik : pour les statistiques.
  • Date : pour la gestion des dates et de leurs formats.
  • Site map : pour le plan du site.
  • Tagadelic : pour le nuage de mots-clés.
  • Captcha : pour la protection des formulaires.
  • Wysiwyg : pour l’activation de l’éditeur tinymce.
  • Fil d’ariane : un module interne pour la gestion du fil d’ariane, basée sur l’url des pages. Le fil d’ariane n’est pas le problème le plus simple à résoudre avec Drupal. On se heurte au choix entre contenus associatifs et contenus hiérarchisés, discuté sur drupalistic.

Drupal à la BCU

Mickael Welsing (Lic. CC BY-ND 2.0), FlickR
Mickael Welsing (Lic. CC BY-ND 2.0), FlickR

Le site de la BCU est officiellement en ligne depuis le 15 avril 2011. Le portail Archimed a laissé place à un site principal et plusieurs mini-sites pour les sections, tous équipés du CMS Drupal. Si ce logiciel fait désormais partie de notre quotidien le choix de l’utiliser ne s’est fait qu’après mûre réflexion. Retour sur l’historique et les raisons de son utilisation…

Du coté de la technique

C’est dans le courant de l’année 2010 que se pose la question de trouver des solutions pour remplacer notre portail vieillissant. Nous commençons alors un travail de veille pour trouver des outils en adéquation avec nos besoins.

Du coté technique, plusieurs pistes émergent. Nous pouvons utiliser un framework de développement et tout coder à la main. C’est très plaisant pour le développeur, ça l’est moins pour les administrateurs du site qui dépendent dès lors de l’informaticien pour ajouter ou modifier le programme dont lui seul a les clés. Autre inconvénient : partir de rien et développer dans son coin n’est pas très productif surtout qu’il existe de nombreux logiciels de qualité, libres de surcroît, partout sur la toile.

Nous pensons alors à utiliser un CMS permettant d’administrer le site facilement sans tout réinventer. L’idée est séduisante mais l’outil devra être évolutif pour que l’on puisse l’adapter comme on le souhaite.
Parmi d’autres, Drupal devient ainsi un candidat bien placé car il intègre nativement un système de modules permettant l’ajout de nouvelles fonctionnalités.

Les bibliothèques et Drupal

Au même moment, ce logiciel a le vent en poupe. Du site de presse comme Mediapart au site institutionnel de la maison blanche, Drupal est largement employé et pour des sites de différents types (e-commerce, presse, etc.).

L’argument de sa notoriété grandissante n’est pas déterminante en soi pour faire notre choix, cependant sa communauté d’utilisateurs et de développeurs très active est un bon indicateur de sa qualité. D’autant plus que parmi eux, des bibliothèques contribuent à son expansion par des modules spécialisés. Citons par exemple les bibliothèques américaines d’Ann Arbor, et de Palos Verdes.
Point intéressant, le catalogue de ces deux bibliothèques est géré par Drupal!

Au gré de nos recherches, nous découvrons qu’il fournit d’intéressants outils pour la profession : OPAC de nouvelle génération, recherche avec rebond par facette, protocole OAI, dublincore, etc. sont autant d’aspects techniques qui rencontrent un écho à la bibliothèque numérique et nous confortent sur cette piste de travail.

Sur le site officiel du CMS, on trouve même un groupe dédié à la profession. Parmi les modules développés par ces « biblio-drupaliens », SOPAC nous plait particulièrement afin d’exposer notre catalogue sur le web et transformer notre OPAC à l’ergonomie limitée en un outil plus moderne.

Autre point positif, la notion de type de contenu utilisée par Drupal se rapproche de la notion de notice en bibliothèque. Une page peut-être affublée de métadonnées paramétrables à volonté. L’idée d’en faire notre bibliothèque numérique se profile alors. Le module OAI fourni par la communauté ouvre de belles perspectives.

Une configuration technique souple et modulable, des fonctionnalités usuelles à ne pas réécrire, des modules adaptés aux bibliothèques, nous incitent donc à choisir Drupal.

A l’heure qu’il est, nous n’avons pas encore exploré toutes ces pistes (notamment le catalogue en ligne) mais la sortie du site et surtout l’abandon de notre ancien système centralisé est une étape importante et promet d’intéressantes évolutions, qui feront l’objet de prochains billets sur l’alambic…