Télétravaux forcés

Balcons en enfilade… Photo par Phil Shirley (source FlickR) Licence Creative Commons, Attribution, pas d’utilisation commerciale, partage dans les mêmes conditions.

En période confinée, enfoncer quelques portes ouvertes à titre de défoulement ne me fera pas de mal. Ce sera aussi l’occasion d’un retour sur un moi(s) de travail confiné, et d’évoquer ce qui a été possible ou impossible, pour moi, dans ce laps de temps.

Respiration

Dans la foule, on s’isole difficilement.

Le télétravail ne s’est pas développé pour contenter des grincheux qui préfèrent rester chez eux en survêtement et prétendent mieux travailler comme ça, le collectiy trouve bien son compte. L’ours mal léché qui sommeille télétravaille un ou deux jours par semaine est non seulement très efficace ces jours-là, mais aussi moins grincheux et plus disponible les autres jours : grâce à la perspective réconfortante de son hibernation hebdomadaire, il va bravement de rendez-vous en réunionereportant les tâches qui exigent concentration et isolement. Idéalement, la part individuelle et collective du travail s’équilibrent comme les deux temps d’une respiration1 ; d’ailleurs beaucoup de professionnels alternent d’une façon ou d’une autre ces modalités dans le travail sur site. Ouvrir et fermer tour à tour la porte du bureau, s’installer deux heures dans un coin tranquille, alterner service public et bureau, travailler un jour par semaine dans un autre service ou se décréter injoignable une demi-journée par semaine sont des méthodes de « télétravail atténué » que j’ai vu fonctionner efficacement.

Notre assignation collective aux télétravaux forcés m’fourni un terrain expérimental que je n’aurais jamais exploré spontanément, parce qu’il faut tout de même être vicieux2 pour imaginer des circonstances où tout le monde est obligé de télétravailler tout le tempsLe Covid nous a servi, sur plateau aseptisé, une configuration improbable et très intéressante, mais où manque, précisément, cette alternance reconstituante qui donne son charme au télétravail.

Parmi les éléments qui affectent l’environnement de travail, je suis personnellement assez sensible à un premier facteur limitant dans ma capacité de concentrationfacteur assez répandu, dont la taille et l’effectif varie suivant les foyers (mais se trouve être relativement élevé dans le mien), et qui produit un nombre important d’interruptions de fréquence :

  • proportionnelle à l’effectif des individus
  • inversement proportionnelle à leur âge
  • étroitement corrélée aux tâches en cours (typiquement, beaucoup plus élevée quand elles relèvent du domaine scolaire que quand elles sont de type ludique ou audiovisuel)
  • exponentiellement croissante dans les créneaux horaires proches des repas.

Jme garde de déplorer la présence dans ma maison de personnes que j’ai contribué à faire venir au mondeet dont l’existence ajoute sens et saveur à la mienne. Jrelève seulement qu’il m’est beaucoup plus difficile de m’isoler pour travailler chez moi qu’au bureau, et je sais n’être pas seul dans ce cas. Inversement je suis conscient de bénéficier, grâce à mes enfants, d’une alternance forcée des activités qui contribue à mon délassement (si l’on considère, et j’en suis convaincuque changer de fatigue c’est se reposer).

Je tente un résumé résolument tautologique de ma perception : confinés, nous sommes passés d’une configuration à géométrie variable (être seuls/avec d’autres) à une configuration figée (dans mon cas, être avec d’autres en permanence ; d’autres sont seuls tout le temps), et je pense que cette monotonie constitue un défi pour la vie professionnelle (entre autres).

 Matériel

L’ouvrier sans outil a du mal à œuvrer

Sur le plan matériel, la répartition des ordinateurs portables disponibles dans les BU de Clermont s’est étalée sur presque tout le premier mois de confinement : des collègues ont mis du temps à trouver un rythme, à s’assurer qu’ils parvenaient réellement à travailler et à solliciter alors un peu de matériel supplémentaire. Tout ce qui était disponible a été graduellement distribué, et un saut qualitatif majeur a été franchi lorsque l’intégralité de nos dossiers de travail a été migrée vers le « drive » de l’Université : techniquement, tout collègue connecté peut télétravailler. Cette amélioration n’est pas seulement inappréciable, elle est aussi heureusement irréversible !

Elle ne résout pas tout, car au point de vue domestique, la répartition de la ressource informatique est un jeu mathématique amusant. Dans le cas que je connais le mieux, huit utilisateurs dont six réguliers, ayant parfois des obligations dans des créneaux fixés par le monde extérieur (visio du prof, tentative de réunion en ligne, etc.) partagent un ordinateur fixe et trois portables, dont deux fournis par les employeurs, avec trois systèmes d’exploitation différents (Linux, Windows, Apple), sachant que l’utilisation de certains outils un peu frustes (vous connaissez WinIBW pour Linux ?) implique parfois un système précis pour fonctionner de façon optimale, voire pour fonctionner tout court. L’allocation de ces ressources peut être créatrice d’amusants petits problèmes. Par exemple, la webconf’ de 10h00 doit se tenir avec la connexion filaire pour être potable, donc dans le bureau (jusqu’ici tout va bien), mais elle utilise Teams, donc le portable Windows est nettement préférable3. En résumé, le prof de philo immobilise la pièce la mieux isolée, neutralise l’ordinateur fixe Linux déconnecté et mobilise un des portables, sur lequel il m’oblige à installer un truc Microsoft de plus. Autant dire qu’il a intérêt à traiter de sujets totalement essentiels, et à être vachement captivant4.

Au-delà de l’immense plaisir qu’il y a à raconter sa vie sur le web, je fais état de ces mésaventures parce que je les crois très banales. Je considère mon foyer comme correctement doté en matériel et en réseau. Nos tracas quotidiens valident simplement, par le contre-exemple, la condition de base de faisabilité du télétravail : un environnement de travail ergonomique, bien identifié et bien équipé.

Portes ouvertes en enfilade ; Photo prise par Kevin Friery (Source FlickR). Licence Creative Commons, Attribution, pas d’utilisation commerciale

Ce qui marche à moitié, à demi, pas du tout

Avec un mois de recul, tout de même, et d’après mes échanges socialement distanciés avec mes collègues, beaucoup de travaux qui exigent un peu de concentration se sont avérés assez compatibleavec le confinement : lecture, réflexion, écriture ; réflexion sur la recotation de fonds et l’organisation des collections, prévisions de commandes d’ouvrages ; préparation voire tenue des entretiens annuels, travail sur la qualité des données ; et bien sûr l’incontournable veille professionnelle5. L’efficacité peut même être étonnante, et certains jours les ouvrages anciens que j’ai emportés chez moi pour occuper le temps confiné transitent à un rythme réconfortant du carton « à traiter » vers celui des « signalés, à ranger ».

La gestion de dossiers nécessitant le va-et-vient entre plusieurs outils m’a paru nettement moins facile dans mon environnement mouvant : vagabonder entre messagerie électronique, bureautique et imprimante est épuisant quand tout n’est pas au même endroit, et je m’aperçois là encore que je bénéficie au bureau d’un outillage à ma main, dont l’ergonomie n’est pas aisément reconstituée ailleurs. Par exemple, j’ai entamé le confinement par un message de rappel à des docteurs pour le dépôt de leur thèse, mais la gestion des fichiers que j’ai reçus en réponse s’est révélée très usante : je n’ai qu’un seul écran au lieu de deux, télécharger un fichier lourd me prend cinq fois plus de temps, le copie d’un dossier à l’autre aussi, etc.

Quelques activités en lien avec nos utilisateurs restent praticables : les réseaux sociaux prospèrent, les questions posées sur nos guichets numériques reçoivent deréponsesla fourniture de documentation électronique se poursuitLe numérique qui fonctionnait déjà bien fonctionne toujours, c’est rassurant6. Mais le point commun à tous ces travaux est de n’exiger pratiquement aucun échange direct ni, surtout, collectif (et sans doute aussi, malheureusement, d’être pour la majorité des étudiants d’un secours dérisoire). Celles de mes collègues qui se sont attelées à la corrections de bibliographies étudiantes, parfois sans imprimante ni scanner, forcent mon admiration. Après quelques tâtonnements et essais d’échanges par voie numérique, certaines onpris des rendez-vous téléphoniques avec les étudiants pour discuter de leur travail.

En revanche je peux dire nettement, au bout d’un mois, que je ne crois plus aux TCC (télétravaux collectifs confinés)… Toutes les réunions ou tentatives de réunion, quel que soit le logiciel utilisé (cinq ou six ont été testé en un mois par l’un ou l’autre membre de la maisonnée)m’ont paru exiger temps, énergie, moyens et attention à dose massive, pour des résultats décevants. Je vais un peu plus loin : même si je ne suis pas insensible à la cohésion paradoxale qui se révèle à la faveur des isolements personnels, ni aux manifestations de solidarité à l’intérieur des équipes, pour ce qui est de travailler ensemble, je ne vois pas clairement ce que nous arrivons à sauver, à part la répartition pragmatique des tâches en fonction des possibilités de chacun, ce qui n’est déjà pas si mal. Vue de ma fenêtre, l’expérience illustre mieux les limites infranchissables que les possibilités libératrices de l’outil numérique comme moyen de travailler en groupe.

Se réunir de loin n’est pas des plus aisés

Je ne suis ni technophobe, ni rétif à la visioconférence. Je l’ai souvent et volontiers utilisédepuis mon bureau à l’université, avec de bons résultats. Mais quand j’essaie depuis chez moi de discuter avec d’autres depuis chez eux, je mesure la grande qualité de mon matériel professionnel. Lors de toutes mes tentatives de réunion depuis un mois, sans exception, au moins un des participants a rencontré un problème technique gênant l’échange (j’ai moi-même été ce participant une ou deux fois). Il est arrivé que les réglages absorbent entièrement le créneau prévu pour la discussion. Il m’est aussi arrivé qu’une réunion en visioconférence se passe à peu près bien, mais si je ne peux pas être raisonnablement certain que ce sera le cas, il m’est impossible de tabler dessus pour travailler, d’autant que le collectif avance par définition au rythme du plus lentAjoutons les petits inconforts propres à la visio : je dois choisir de regarder mes interlocuteurs en ayant l’air de les ignorer, ou de paraître les regarder alors que je ne les vois pas ; j’ai l’impression de parler du fond d’une piscine, vide ou pleine selon les moments ; je me vois dans la glace au milieu de la réunion… Bref la visioconférence m’est souvent apparu au mieux comme un échec sauvé plutôt que comme un succédané.

Je préfère les moyens qui s’affranchissent carrément de la pseudo-présence : l’entretien téléphonique pour le bilatéral, le tchat pour le collectif. Je ne suis pas certain que le tchat puisse vraiment servir à travailler, mais il est utile pour échanger les nouvelles et les petites informations factuelles. Et surtout, il n’est pas frustrant… Quand je suis saturé d’expérimentations ambitieuses et ratées, lsolidité sans prétention de la basse technologie me repose et me réconforte.

Retour sur un moi confiné

Ma propre compagnie me confronte à moi-même

De façon prévisible, après un mois passé à mon propre contact, je suis plutôt conforté dans mes opinions sur moi-même et mes semblables :

  • Je ne travaille bien que si je fais des choix : cloué chez moi et ne pouvant tout concilier, ce qui pourrait être fait dépassant dix fois le temps disponible, le danger de l’affairement désœuvré devant la boîte mail et les 87 sites web qui ont un lien plus ou moins crédible avec ma vie professionnelle est décuplé. Ce que j’ai une chance de parvenir à faire, c’est ce que j’ai planifié le plus fermement. Le reste, que j’avais l’intention de faire, glisse irrésistiblement d’un jour à l’autre, sous la douce pression des circonstances.

  • J’économistemps et frustration dès que jrenoncà déplorer que mes conditions de travail ne soient pas comme au bureauet que j’ajuste ce que je prévois de faire à ce qui est techniquement à ma portée. Avec un réseau moyen, on ne fait pas une visio. En revanche, avec un téléphone on peut faire un entretien professionnel ; avec des livres et un ordinateur portable, on peut cataloguer (et même en tirer satisfaction).

  • En laissant chacun jauger sa propre situation, et en restant attentif à fournir aux collègues juste l’aide qu’ils demandent, je suis impressionné par l’énergie que je vois se déployer et par ses résultats.

S’il existe un palmarès des portes les plus ouvertes enfoncées en 2020, ce billet est promis à un brillant avenir. Il n’y manque plus l’ immanquable conclusion que l’avisé lecteur aura sans doute formulé plusieurs fois de lui-même, s’il est arrivé jusqu’ici :

Je suis mieux riche et sain que pauvre et maladif.

Portes ouvertes en tous sens… (Photo de John Mason, Glasgow University, source FlickR ; licence Creative Commons, Attribution)
  1. Je ne vais pas filer trop longuement cette métaphore, elle peut vite devenir trrèès loouurde, et ce n’est vraiment pas le moment d’en rajouter dans ce registre: à force de brasser on n’aboutit qu’au vide. []
  2. De source médicale, il semblerait précisément que les virus couronnés soient vicieux. []
  3. J’ai fini par réussir à installer Teams sur mon ordinateur Linux, mais je n’en ai pas encore testé l’utilisation, et je suis encore vaguement inquiet, d’abord faute de recul, ensuite parce que j’ai eu peu d’expériences durablement réussies avec les outils Microsoft. []
  4. Je peux le flatter ici car il ne me lira jamais : il s’en sort très bien. []
  5. À supposer que le vagabondage agacé sur Touitteur puisse porter ce nom, ma veille professionnelle n’a jamais été aussi intense que pendant la première semaine de confinement. []
  6. Et il faut mentionner, pour le saluer, le geste de très nombreux éditeurs qui ont ouvert largement les accès à leur documentation, et le travail des collègues qui ont rendu ces accès opérationnels! []

Du télétravail en BU en temps de crise

Le télétravail, c’est d’abord du travail, c’est-à-dire qu’il s’agit d’ « une activité individuelle ou collective, intentionnelle et non instinctive, s’exerçant sur la nature à travers une succession d’opérations » (Dictionnaire de l’ethnologie et de l’anthropologie, PUF). Ce travail s’élabore dans un temps spécifique (asynchrone et synchrone) conditionné par l’outil technologique et dans un espace particulier (généralement l’espace domestique).

A en croire une enquête Malakoff Médéric diligentée en février 2019, près de 30% des salariés travailleraient sur le mode du télétravail, de manière occasionnelle ou régulière. Le phénomène prend effectivement de l’ampleur. Nul doute qu’avec les mouvements sociaux, il ait pris un nouvel essor. Janique Soulié (Laboratoire ClerMa de l’UCA) a dressé une liste de 6 points clefs à suivre pour les Responsables d’équipe, afin de mener à bien une œuvre collective : c’est la règle des 6 C (Cadre ; Communication ; Confiance ; Contrôle ; Cohésion d’équipe ; Collègues non-télétravailleurs). Bien évidemment, cela ne prend tout d’abord son sens que par rapport à un projet bien déterminé et à une stratégie mûrie ; cela suppose ensuite un contexte favorable ; il n’est possible, enfin, de mettre cela pleinement en place qu’avec des collègues motivés et volontaires.

1. La notion de télétravail telle qu’elle était envisagée avant la crise à l’UCA

Il se trouve que c’était un sujet d’actualité à l’UCA.

– La notion de télétravail a naguère fait l’objet d’une discussion et d’un cadrage au sein de l’Université Clermont-Auvergne (Délibération CA 2019-06 du 28 juin 2019). Elle s’appuie sur des textes législatifs et réglementaires bien connus maintenant et publiés entre 2012 et 2017.
– Elle entre bien dans une stratégie qui veut concilier les intérêts du Service public et la prise en compte des risques psycho-sociaux
– Elle n’est applicable qu’aux métiers qui s’y prêtent : cadres instruisant des dossiers, chargés de missions, collègues essentiellement chargés de chaînes de traitement numérique (DUMAS, annales d’examen, voire gestion administrative qui ne nécessite pas de présence physique) … Les métiers d’accueil avaient été délibérément exclus du dispositif.

– A la BU de l’UCA, 3 personnes ont fait une demande en la matière. Et c’est en toute logique que ces demandes émanent des services transversaux que sont la Bibliothèque numérique et la Direction. Deux d’entre elles sont des collègues très spécialisées, travaillant « dans les nues », puisque spécialistes d’Alma (entre autres choses ; Alma est un SIGB en mode SaaS) et la troisième gère la communication et la scénographie à la BU. Les demandes portent sur 1 jour par semaine s’agissant des deux premières et de 2 jours par semaine s’agissant de la troisième.
Il est à noter –j’y insiste- que les 3 personnes en question joignent à une haute technicité une aisance relationnelle certaine, qui font qu’elles conçoivent ce moment de télétravail comme un temps de concentration maximale pour gérer au mieux leurs tâches.
Il faut dire, enfin, que quelques cadres (le Directeur adjoint, le Responsable administratif, moi-même…), pratiquons le mélange des genres sciemment, pour terminer ce qu’il faut terminer, sans cadre puisque ce travail s’effectue à des moments normalement voués au repos. L’ENT est alors notre instrument de travail. Je tiens à dire que l’UCA entend lutter contre cette tendance, qui résulte d’une certaine dose d’indifférenciation entre les différentes fonctions (j’y reviendrai plus bas).
C’est dans ce contexte que la crise du COVID 19 nous astreint à un confinement et qu’il faut imaginer de faire travailler 110 personnes dont 107 n’étaient pas volontaires (100 si on excepte les cadres qui pratiquent de facto le télétravail « sauvage » non recommandé).

2. Les conditions externes

Pour imaginer que le télétravail domestique soit généralisé, il faut examiner les conditions externes qui doivent prévaloir. Elles sont de quatre types :

>avoir du débit chez soi. Nous sommes en Auvergne et mes collègues n’habitent pas tous dans une métropole bien irriguée en la matière ; en outre, sur la métropole clermontoise, le réseau peut à certains moments « ramer » (Ah ! Les ravages de Netflix…)

>avoir des outils à la hauteur de l’enjeu. C’est le point fort des universités, incontestablement. Nous avons une équipe technique, avec de nombreux ingénieurs compétents et réactifs. Et l’ENT universitaire est autrement plus costaud que l’ENT académique…

>avoir le matériel sécurisé fourni. Hormis les services de type Alma (Saas), les SI « régaliens » comme la brique RH ou la brique financière sont à préserver absolument de toute attaque. J’ai personnellement demandé deux PC portables sécurisés pour le service : le traitement de la demande est en cours.

>gérer le problème du déplacement. Pour l’instant, je suis le seul à être habilité à me déplacer. Je vais faire la demande aussi pour mon adjoint. Inutile de dire que je ne vais pas faire la navette en Auvergne pour desservir en matériel informatique les collègues : le confinement décrété hier 16 mars me l’interdit.

Ces problèmes ne sont donc pas minces. Restent à considérer maintenant la situation des agents.

3. Les conditions internes

Comme nous l’avons vu, les personnels concernés par le télétravail en temps normal sont des collègues qui ne sont pas tributaires de l’activité physique des BU (public, réception des commandes, gestion du matériel informatique, bans de numérisation…). Quand bien même les autres seraient intéressés par le télétravail en temps de crise, il leur faudrait avoir en tête les points suivants.

 

>avoir une grande capacité à jongler avec le numérique. Nécessairement.
La vie moderne cependant le requiert. Et ce n’est pas tant l’aspect technique qui m’importe ici que la fusion des différentes identités qui nous composent : identité intime (correspondance numérique, réseaux sociaux personnels) ; identité associative et/ou militante ; identité professionnelle. Il est demandé en l’occurrence de savoir très vite passer de l’une à l’autre, en adoptant immédiatement le ton qui sied.

>avoir un écran disponible.
C’est l’aspect économique et social que je veux convoquer ici. Dans certains foyers, chacun a un véritable écran, ce qui permet à tous les occupants d’un appartement ou d’une maison de pouvoir gérer au mieux ses impératifs. D’autres n’ont pas cette chance. Car, avec la fermeture des écoles, universités, usines, commerces…, il faut trouver une organisation domestique pratique, tout en ne négligeant pas les interactions sociales à distance, cruciales pour ne pas se sentir isolés.

>avoir du temps et de l’espace.
En temps de crise, faire ses courses prend deux fois plus de temps. Pour peu que l’on ait charge de famille, l’organisation domestique, le suivi des devoirs accaparent encore un peu plus. Cette question du temps –un temps bien calibré et à vocation purement professionnelle- est cruciale. Je n’aurais garde d’oublier la question spatiale : si la cuisine-séjour fait également bureau pour toute la famille, la gestion des moments consacrés au travail sera rendue plus ardue.

4. Et pourtant…

Et pourtant, la gestion volontairement décentralisée de la BU de l’UCA montre en ce moment de crise sa résistance : presque toutes les BU ont un compte social propre, ce qui leur permet et de partager les publications du compte générique « BU UCA » et de créer leurs actualités pour demeurer en contact.

Autre point intéressant, les initiatives au sein de chaque BU pour maintenir le contact : Tel pense à voir ses collègues de Santé par Skype, telle autre invite ses collègues de Sciences à faire des propositions et donc les implique dans l’organisation à venir. Je cite un de ses messages :
« Je vous propose d’occuper cette première semaine de confinement en réfléchissant à une façon de garder le lien au sein de l’équipe : lien professionnel ou non. Dans notre quotidien à la BU, vous êtes nombreux à faire part de vos idées ou remarques. Aussi, dans ce contexte, je compte particulièrement sur vos diverses propositions et riches idées pour maintenir le lien entre nous ! Pour ceux qui le souhaitent, vous pouvez donner des idées quelles qu’elles soient sur ce document collaboratif en ligne ou par mail ». Tel autre indique vouloir faire un travail d’indexation intellectuel de ressources en ligne. D’autres veulent faire du travail qualité sous Winibw…

Enfin, un certain nombre de collègues ont pris soin de venir chercher des dossiers ou du matériel pour vaille que vaille continuer à répondre aux enseignants, aux étudiants et aux services centraux. D’autres, à distance, assurent la continuité des services numériques.

En conclusion, il n’est pas inintéressant de reprendre les points avancés par Janique Soulié dans son article. Il n’est pas possible d’avoir des obligations de résultats, au regard des obligations de moyens qui incombent à l’Etat. Ceci étant dit, par la Confiance, la Communication et la Cohésion d’équipe, nous espérons faire au mieux et inclure celles et ceux (quelle que soit leur catégorie A, B, C) qui veulent et peuvent être utiles. Les autres, légitimement, seront en Autorisation spéciale d’absence, s’ils ne sont pas souffrants.

La parole est aux usagers via notre guichet unique OTRS, que nous mettons en avant en ces temps de crise…

Informathécaires biblioticiens

Ben OK, mais nous on est des bibliothécaires, ON N’EST PAS des informaticiens !

Que le responsable de bibliothèque numérique (ou autre service s’occupant de près ou de loin d’ordinateurs) qui n’a pas entendu 70 fois cette sentence en réunion me jette le premier commentaire.

Soyons justes, si cette phrase est si souvent prononcée, c’est d’abord parce qu’elle est vraie.

Mais c’est aussi pour traduire la frustration commune à tous les utilisateurs non-experts1 face à un outil indispensable mais qui hélas, pour le dire en termes mesurés, ne fonctionne pas toujours parfaitement bien. J’ai déjà évoqué ici l’aspect technique des problèmes informatiques, mais aujourd’hui, je vais les prendre d’un côté qui m’intéresse encore plus – celui des gens – et esquisser l’organisation que nous avons testée pour affronter le problème insondable et universel des incidents informatiques. Je rédige ce billet après avoir pris le temps (deux petites années) de constater des résultats plus encourageants que ceux des tentatives précédentes.

Photographie d'un écran d'ordinateur manifestement hors service, montrant des tâches de couleurs géométriques aléatoires
Photo Mark Couvillion LOGOCCby-nc-nd.eu

 

 

 

L’énoncé

Il y a trois ans, je considérais, au quotidien, la maintenance informatique comme le principal problème de mon service. Ce problème avait deux facettes :

1 – côté pile (les BU) : des sollicitations très fréquentes, de toutes provenances (15 sites à Clermont, environ 100 personnes susceptibles de faire appel à la bibnum via une adresse générique, et qui ne s’en privaient pas) et généralement urgentes car quand ça ne marche pas, c’est toujours urgent. Et l’impression diffuse, chez tout le monde, qu’en réalité ça ne « marchait » jamais vraiment, ou jamais longtemps.

2 – côté face (la bibnum) : un sentiment de surcharge et d’impuissance. La bibliothèque numérique n’arrivait pas à traiter des problèmes trop nombreux, d’importance inégale mais toujours pressants, et peinait à se consacrer aux chantiers de fond permettant d’améliorer l’état général du réseau et des machines, ce qui entretenait un cercle vicieux très déplaisant.

Il y avait eu les essais de solutions techniques (déploiement d’outils de télémaintenance, par exemple) ; les essais d’organisation (arrêt de la tournée hebdomadaire jamais suffisante, pour passer à des déplacements « à la demande » pas plus suffisants). Rien de tout cela n’était parvenu à éliminer une frustration qui pourrait se résumer, côté face, par une apostrophe du genre « mais qu’est-ce qu’ils f… à la bibnum ? »2 et symétriquement, côté pile, par le cruel aphorisme informaticien : « En général, le problème se situe entre la chaise et le clavier »3.

La méthode

Concluant après ces essais insatisfaisants qu’il fallait emprunter une direction différente, nous avons décidé en 2013 de modifier plus radicalement le fonctionnement de l’informatique de proximité. Les objectifs pouvaient être résumés comme suit :

1 – côté pile (les BU) : résoudre plus vite les problèmes de premier niveau (connexion d’imprimante, pépin bureautique, perte de « raccourci bureau », installation de logiciel etc.) ;
2 – côté face (la bibnum) : avoir un canal d’information unique, naturel et régulier entre la bibliothèque numérique et les BU, pour canaliser le flot des demandes ;
3 – ET SURTOUT : inciter le côté pile à regarder en face, et le côté face à jeter un œil sous la pile. C’est-à-dire, en gros, améliorer la compréhension de l’informatique chez les bibliothécaires et améliorer chez les informaticiens la connaissance des bibliothèques et de leurs besoins, à la fois pour gagner en efficacité et pour améliorer les relations.

Les moyens déployés étaient simples, mais robustes, donc assez exigeants en temps pour les collègues concernés :

1 – dans les cinq principales BU, cinq collègues (administratifs, magasiniers ou bibliothécaires adjoints spécialisés) ont vu arriver dans leur fiche de poste 30% de temps de travail en tant que « correspondant informatique » ;
2 – à la bibliothèque numérique, des ateliers internes de formation intensive pour ces correspondants ont été organisés par les informaticiens, à raison d’une matinée toutes les trois semaines tout l’automne 2013, puis d’une matinée par mois le restant de l’année4. Les ateliers allaient de la prise en main de l’ENT et des listes de diffusion à l’architecture des serveurs, en passant par les questions bureautiques (la BCU travaillant avec la bureautique libre depuis 2012, il y avait matière), la maintenance des postes sous Windows (parc professionnel) et sous Linux (parc public), sans oublier le maniement des copieurs multifonctions, très sollicités par les utilisateurs et sources de fréquents incidents, et tous les incidents rencontrés entre deux ateliers par nos collègues ;
3 – Le tout agrémenté de quelques procédures pour trois ou quatre urgences identifiées, et d’une liste de diffusion commune aux informaticiens et aux correspondants pour faciliter les échanges d’informations au sein de ce groupe.

Les résultats

Deux ans ont passé, et, pour le dire en bref, « ça va mieux ». Il me semble qu’il existe aujourd’hui une culture d’équipe commune aux correspondants informatiques et aux informaticiens. De ce fait, l’informatique ne passe plus pour inabordable, et nos collègues en BU ne passent plus pour incapables de s’y frotter, puisqu’ils prouvent chaque jour leur aptitude à traiter des questions informatiques, en lien avec les informaticiens, mais d’une façon souvent autonome. La charge de travail est parfois lourde sur leurs épaules, mais elle vient aussi renforcer la solidarité entre eux et la bibliothèque numérique : en mesurant la charge et en la partageant avec les informaticiens, ils mesurent l’attente à laquelle une équipe informatique doit répondre, et par conséquent ils mesurent à quel point le rôle qu’ils assument est indispensable pour la bonne marche de l’informatique.
Dans le même temps, les capacités d’intervention dans le domaine informatique se trouvent démultipliées. Et même si je n’irais pas rêver que le nombre d’incidents a diminué5, je pense qu’ils sont tout de même traités mieux, plus vite, et d’une façon plus durable (la proximité permettant l’apprentissage entre le correspondant et les collègues de son service).

La conclusion

Nous pensions que les tensions qui se manifestaient parfois entre nous et nos collègues étaient liées à des manquements techniques. Expérience faite, je suis à peu près persuadé que nous avions pris la cause pour l’effet, et que c’était la difficulté à échanger de façon efficace sur des problèmes normaux et inévitables, qui aggravait des incidents banals et bénins en eux-mêmes.
Le titre de ce billet est un mensonge, bien sûr : nous n’avons pas créé une espèce professionnelle hybride, un mélange de bibliothécaire et d’informaticien6. L’informatique que les bibliothécaires ont besoin de maîtriser est une informatique d’utilisateur éclairé7, non de professionnel de l’informatique. Disons que nous avons essayé de faire passer entre les deux, par capillarité, juste ce qu’il faut de compétence et de familiarité pour que chacun fasse mieux SON métier.
Et même si ce n’est presque rien, ça change tout, car désormais, si l’on veut bien m’autoriser une conclusive, capillaire et consternante boutade8 : la pile sait face, et la face sait pile.

Tony Delgrosso, Lazy
Tony Delgrosso, Lazy LOGOCCby-nc-sa.eu 

 

 

 

  1. Je me compte dans le lot, bien qu’ayant plutôt progressé depuis quelques années. []
  2. Qu’il soit clair que je ne l’ai jamais entendue : le Bougnat, parfois rude, reste toujours courtois ; mais disons que nos échanges en réunion de service me donnaient à penser que ce genre de réflexion devait parfois, dans des moments d’extrême détresse, traverser fugitivement l’esprit de mes collègues. []
  3. Que je n’ai jamais entendu non plus, bien sûr ; j’imagine, simplement qu’il aurait pu être prononcé dans un moment de lassitude, par exemple un vendredi après-midi un peu tard en raccrochant le téléphone après une demi-heure de questions-réponses. []
  4. Le système a été reconduit cette année avec un rythme mensuel []
  5. Cela me paraît statistiquement peu probable. []
  6. Il en existe sans doute, mais on ne peut les cloner à volonté. []
  7. Là aussi, je me compte du nombre. []
  8. N’en déduisez pas trop vite que nos informaticiens se rasent ou n’ont plus rien à faire ! Disons qu’ils peuvent se consacrer davantage à des travaux de fond. []

L’informatique n’est pas un problème

À Clermont-Ferrand, le numérique est une affaire qui marche. Une bibliothèque de production, un site web développé en interne, un outil de découverte, et même un blog, c’est dire que l’informatique ne nous inspire aucune crainte. Il y a d’ailleurs une bonne raison à cela, c’est qu’elle ne nous pose aucun problème. Nos serveurs sont sûrs, notre réseau ne connaît pas la lenteur ni nos machines la panne ; nos utilisateurs sont assez experts pour résoudre seuls les très rares problèmes qu’ils rencontrent, et nos imprimantes ne manquent jamais de toner. Et il fait toujours beau chez nous.

 Ceux qui ont vraiment besoin de croire que tout va bien quelque part vont devoir arrêter ici leur lecture. Ceux qui préfèrent la réalité sont invités à poursuivre1.

Blue screen of death, par JackAce, publié sur FlickR sous licence Creative Commons: attribution ; pas d'utilisation commerciale.
Blue screen of death, par JackAce, publié sur FlickR sous licence Creative Commons: attribution ; pas d’utilisation commerciale.

L’avisé lecteur aura noté comment le premier paragraphe de ce billet, entamé sur un raccourci optimiste, glisse vers la franche exagération pour s’achever en galéjade grossière2. Revenons donc bravement à la réalité: à Clermont comme ailleurs, l’informatique pose régulièrement des problèmes. Régulièrement, mais particulièrement ces derniers temps. Il n’est pas inutile d’en faire état ici, d’abord parce que la première condition pour affronter sainement un problème est de l’autoriser à exister ; ensuite parce que ce blog est un outil de travail, non de propagande ; enfin pour remonter le moral des collègues (car il y en a peut-être ailleurs qu’ici) qui auraient connu un jour ou l’autre des problèmes informatiques : vous n’êtes pas seuls.

 Qu’il y ait des pannes est prévisible ; pourtant tout est imprévisible dans une panne : moment précis, causes exactes, élément déclencheur, temps de traitement; et récurrence, hélas. Ici, il y a longtemps que les incidents informatiques ne s’étaient succédé si nombreux en si peu de temps. Pour éviter de sombrer dans la superstition, je tiens ferme la loi des probabilités, qui prouve que le hasard suffit à expliquer les salves d’accidents, et dispense d’avoir recours aux explications astrales, à la malédiction divine ou à la malveillance de la NSA voire du voisin de bureau dans les cas extrêmes3.

Mais venons-en à notre petite série noire locale, trois grosses pannes en un mois.

  • le 10 décembre dernier, le site « enfance violence exil », hébergé et administré par la BCU, ne peut plus être affiché en raison d’un grave problème de sécurité informatique. Une solution improbable jaillit mi-janvier, alors que l’on s’apprêtait à entamer la réécriture du site, soit plusieurs semaines de chantier, au désespoir des chercheurs privés de leur outil de travail et de communication scientifique et pédagogique.
  • 16 décembre, à l’issue d’une mise à jour de routine, perte du contenu de 12 serveurs virtuels dont ceux qui portaient l’accès professionnel à notre système de gestion, le site web et notre outil de découverte. Le contenu est restauré quasi-intégralement en trois jours grâce aux sauvegardes automatiques, mais l’infrastructure n’est pas encore remise en place à ce jour : trois disques étaient défectueux et leur remplacement prend du temps. La machine de secours est située dans nos locaux, dont l’installation électrique est fragile… Une coupure de courant début janvier, à la fin des congés de Noël, provoque l’extinction du site web et du catalogue pendant deux jours, jusqu’à la réouverture.
  • 13 janvier, un disque dur externe à grande capacité contenant plusieurs mois de travail de numérisation cesse de fonctionner. Pas de perte de données à craindre a priori, mais en attendant que l’on puisse s’attaquer au problème (après avoir fini le déblaiement du précédent), la chaîne de numérisation tourne au ralenti.

Je passe sur les pannes et ralentissements quotidiens plus ou moins consécutifs aux précédents et qui ont égayé janvier : tandis que l’on répare les dégâts, les services tournent vaille que vaille sur des machines de remplacement, un peu anciennes. Cela ne va pas sans lenteurs ni coupures. À présent que l’on commence (restons prudents) à voir le bout du tunnel, quelles leçons tirer de cette rude série ?

 Peut-on rendre la technique fiable ?

 Bon gré mal gré, nous vivons sous le règne des serveurs. Dossiers et outils quittent nos ordinateurs personnels pour des machines plus puissantes et plus lointaines. Aujourd’hui, la BCU utilise des machines situés au CRRI (sur notre campus, mais hors de nos locaux) pour tous ses services critiques : SIGB, site web et intranet, outil de découverte, serveur de diffusion local des thèses. Elle recourt à l’hébergement externe pour le catalogue des revues en ligne et le résolveur de liens, la diffusion des thèses et articles (via HAL et TEL), ses blogs 14-18 et Alambic, et un jour prochain pour le SGB mutualisé.

 Cette organisation a son intérêt (les données sont abondantes et faciles d’accès), et son prix : toute panne a des conséquences collectives, voire massives. Qu’une machine cesse de fonctionner, les utilisateurs pénalisés sont dix fois, mille fois plus nombreux qu’avant. Il faut donc, selon le terme consacré, sécuriser les serveurs. Contre la panne électrique, contre la panne de climatisation, contre l’attaque informatique, contre l’avarie matérielle, contre le bug logiciel, contre la perte de données… Comme toute organisation utilisant abondamment l’informatique, la BCU a subi, tour à tour, chacune de ces pannes. Seuls des ensembles techniques colossaux peuvent déployer les moyens nécessaires pour satisfaire un besoin infini de stabilité technique. « Google ne s’arrête jamais » (encore que… mais si, même Google a connu deux pannes !) mais Google a un million de serveurs.

Bien qu’en dix ans la BCU ait multiplié par 12 le nombre de ses serveurs (passant de 2 à 24 !), nous cherchons la stabilité à une échelle quasi-dérisoire. Notre meilleure défense contre la panne est donc de nous appuyer sur des organisations matérielles plus robustes que la nôtre. Déplacement des machines vers le centre de ressources informatiques local (pour parer aux problèmes d’électricité et de climatisation), virtualisation et mise en place d’un outil global de sauvegarde (pour éviter les pertes de données), hébergement des services web dans de grandes infrastructures (CINES, CCSD, etc.). Tout cela prend du temps et demande aux informaticiens un travail d’adaptation qui ne finira qu’avec l’informatique elle-même. Pas tout de suite, donc, sauf imprévu.

« Mais qu’est-ce qui se passe ? »

 Le drame d’une panne, c’est moins la perte de données, généralement réduite, que le temps passé à réparer, durant lequel le service fait défaut, et durant lequel des dizaines de personnes réduites à l’impuissance attendent et se demandent ce que font les informaticiens (restons polis). Or, lorsqu’un informaticien sue sang et eau pour résoudre un problème le plus vite possible, il lui est difficile de s’adresser en même temps aux utilisateurs pour expliquer ce qui se passe, plus encore de leur prédire avec réalisme le retour au service normal.

C’est pourtant la première demande, et presque la seule en fait, des utilisateurs : savoir ce qui se passe et, surtout quand ça va remarcher. La seule (mais bien réelle) utilité des non-informaticiens de la bibliothèque numérique pendant les pannes informatiques est donc de brosser, pendant que les informaticiens travaillent, des points de situation honnêtes et des pronostics prudents. Puis, une fois le service rétabli, un compte rendu de ce qui s’est passé (et/ou un billet de blog), pour ceux qui ont envie de comprendre. Tant vis-à-vis de nos collègues ou du monde extérieur, l’exercice est à la fois indispensable et salutaire. Indispensable, parce que cacher nos problèmes est illusoire quand plus personne ne peut travailler, et que les exposer nous confère au moins le mérite de l’honnêteté, nous assurant autant de compréhension que le permet la frustration endurée par nos collègues ; salutaire, parce qu’il nous pousse à un diagnostic plus approfondi et plus fiable, car dégagé de la crainte superflue de perdre la face.

L’informatique n’est pas un problème. C’est un outil puissant, limité seulement par nos propres limites. Je crains que ce ne soit incurable.

 

  1. La vérité vous rendra libres ; mais il se pourrait que la vérité soit un peu triste. []
  2. je parle du toner, bien sûr ; l’information météorologique relève de la plus pure bonne foi. []
  3. je précise que ce dernier cas est purement théorique ; j’ai déjà dit ailleurs que mes collègues étaient parfaits et je le maintiens ; cela tient sans doute à la météo, cf. le premier paragraphe de ce billet. []

Omeka, une bibliothèque numérique prête à l’emploi

Omeka est un logiciel libre, sous licence GPL, développé par le Center for History and new Media. Selon leur site, Omeka est au croisement des CMS, des gestionnaires de collections numériques et des logiciels d’archives. Nous l’avons utilisé pour exposer les carnets de Philippe Glangeaud. Voici un retour sur ses fonctionnalités.

Facilité d’utilisation

Logo de Omeka
Logo de Omeka

La caractéristique principale d’Omeka est d’être rapide à prendre en main. Son principe est simple : il gère des « items » qui peuvent être attachés à une collection. Chaque item, que l’on peut comparer à une notice de catalogue, est décrit en dublincore et dispose d’un ou plusieurs documents numériques attachés. On peut ajouter également des données techniques sur ces fichiers dans la liste des métadonnées.
Un système de tags permet d’indexer ces éléments et de naviguer ainsi entre les collections.

À côté de ce service de base, on peut enrichir cet outil à l’aide de plusieurs modules proposés sur son site web. L’entrepôt OAI ou l’extension exhibit font partie des incontournables. Lincoln at 200 est un bel exemple des possibilités du module exposition. Chaque item ou collection peuvent être mis en valeur dans une galerie d’images complétées d’un texte d’illustration. Ce fonctionnement par briques rappel celui de Drupal mais dans le cas d’Omeka sa simplicité d’utilisation l’emporte aisément sur le CMS à la goutte d’eau.

Du côté technique

Les développeurs de cette bibliothèque numérique l’on rendu très flexible et souple d’emploi. On peut créer sans difficulté une extension qui étend ses capacités de base et on peut créer un nouveau thème sans être féru de développement web.
Quand nous nous étions intéressés à Omeka il y a quelque temps pour les carnets de géologie, il n’avait pas autant d’envergure. Les versions se sont succédées depuis et de nouvelles extensions ont vu le jour comme PDF search qui permet la recherche plein texte dans ce type de fichier.

Désormais, des projets importants comme la digital public library of america utilisent un moteur de recherche à facettes et hébergent de grandes quantités de notices et documents.

Vous pouvez même l’utiliser sans avoir un serveur et un développeur chez vous grâce à leur plateforme en ligne omeka.net. Il ne vous reste plus qu’à créer en un tour de clic, une exposition virtuelle à l’instar de ces musées ou universités américains.

Outil de découverte libre : un schéma pour y voir plus clair

Après le poster réalisé pour les journées ABES, et plusieurs billets sur l’alambic, voici un schéma plus détaillé de notre outil de découverte. Il présente avec plus de précisions les relations techniques entre notre catalogue Absysnet et l’installation de Blacklight. Un billet très court donc, mais parfois, un dessin vaut mieux qu’une longue explication.

Schéma de l'outil de découverte libre de la BCU
Schéma de l’outil de découverte libre de la BCU

 

Qu’est-ce qu’une solution élégante en programmation ?

Aujourd’hui, nous abordons la question de l’élégance d’un code informatique. Pour parler des coulisses d’un logiciel ou d’un site web, on utiliserait plutôt les expressions « mettre les mains dans le cambouis » ou « regarder sous le capot ». L’esthétique du sujet étant peu évidente de prime abord. Tentons de voir les lignes de code sous un autre jour.

Fractal vegetable
Fractal vegetable – Par Rum Bucolic Ape sur flickr – licence CC BY-ND 2.0

Pour commencer, un langage informatique a des similitudes avec celui d’une langue parlée. Il a des règles de syntaxe et d’orthographe très précises.
Ainsi, comme il y a de belles écritures manuscrites tant par leur forme que par leur style, il y a de gracieuses manières de disposer les caractères à l’écran, de choisir ses mots, appelés instructions.

Les développeurs inventent même des conventions dédiées à leurs logiciels. Drupal a par exemple des règles de codage qu’il est conseillé de suivre quand on est un de ses contributeurs.
La longueur des lignes, la taille des espacements, la disposition des instructions sont ainsi définies et utilisées par les « drupaliens ».

Il est alors plaisant visuellement d’avoir à parcourir un fichier bien structuré plutôt qu’un méli-mélo de sigles disparates. Il va de soi qu’un code bien présenté est aussi plus facile à comprendre et à modifier. Il existe différents styles de présentation associés ou non à un langage particulier.

Écrire de manière ramassée

À coté de cet aspect formel, le style de codage compte beaucoup dans l’appréciation d’un programme. Il y a souvent plusieurs façons de résoudre un problème et en règle générale, une solution courte est plus appréciée par un développeur soucieux de bien faire les choses.
Pour coder « joliment », l’informaticien dispose parfois de raccourcis syntaxiques permettant d’exprimer rapidement ce qui aurait nécessité un plus long développement en temps normal.

Mais attention, comme il peut-être inconvenant d’avoir à lire un texte écrit façon « sms », la concision en informatique n’est pas toujours gage d’un travail compréhensible.
Il y a un équilibre à trouver entre simplicité et lisibilité qui permet la reprise et la lecture du programme par d’autres personnes. Permettre le partage du code participe aussi à sa qualité.

Concevoir avec astuce et habileté

Un programme succinct sera souvent plus efficace en terme de temps d’exécution. Il est également plus satisfaisant intellectuellement de trouver une solution bien conçue et précise.
Faire preuve d’astuce et d’invention, éviter les répétitions inutiles, trouver un enchaînement logique des commandes, garder seulement les étapes indispensables comportent une certaine beauté à l’instar d’une démonstration mathématique ou d’un raisonnement argumenté.

Tout le monde connaît par exemple l’histoire de l’aiguille dans la botte de foin. Pour la résoudre vous pouvez, avec beaucoup de cœur à l’ouvrage, enlever les brindilles une à une. Il est plus aisé de mettre le feu à la meule et tamiser les cendres pour retrouver aisément le petit bout de métal.
C’est ce genre de résolution habile qui participe à l’élégance de la solution trouvée.

Du fractal au chou romanesco

Fractals
Fractals – Sur flickr par cowicide – licence CC BY-NC 2.0

Les informaticiens ont à leur service un autre outil que vous connaissez peut-être sans le savoir : la récursivité.
On la trouve dans la nature sous la forme de la structure harmonieuse et équilibrée d’un flocon de neige ou celle du chou romanesco.
L’image fractale ci-contre en est un autre exemple où l’on voit un motif se répéter à l’intérieur de lui-même. Cette notion existe en mathématique, en linguistique, en biologie, dans les arts, et en informatique…

Le principe est simple en apparence, un programme récursif est un programme qui s’appelle lui-même.

Si vous aviez à calculer la hauteur cumulée d’une poupée russe et de ses descendantes, vous pourriez les aligner les unes à coté des autres.
Puis les mesurer chacune à leur tour pour trouver la hauteur totale, mais ce n’est pas satisfaisant.

Si vous êtes plus inventif vous allez utiliser une boucle en ordonnant au programme de parcourir toute la série de poupées gigogne, de mesurer leur taille respective et calculer le résultat que l’on souhaite.

Mais il y a une solution plus astucieuse avec la récursivité.
Vous mesurerez la figurine la plus petite, le travail est minimal, et appellerez votre programme sur toute la collection en lui donnant l’instruction suivante : la hauteur d’une poupée russe est une fois et demi plus grande que sa première fille.

Avec cette relation générale, votre script commencera par la poupée la plus grande, puis continuera avec la suivante en enregistrant le rapport entre les deux. Et ainsi de suite, jusqu’à l’ultime poupée dont il connaît la taille exacte. Alors, il pourra remonter la file des relations entre matriochkas et donner un calcul juste à partir de cette valeur terminale.

En conclusion

Voilà pour cette tentative d’éclairer « l’écriture informatique » sous un angle différent. Il n’y a évidemment pas de réponse universelle à cette question. C’est une affaire largement subjective et la beauté d’une solution informatique n’est pas tant dans l’enchaînement des caractères numériques que dans l’intention du codeur de rendre les choses agréables.

Pour finir, vous trouverez sur le site « 99 bottles of beer« , les différentes versions d’un algorithme écrit dans 1500 langages et générant les paroles de cette chanson. Alors, quel est selon vous le langage le plus esthétique ?

Feriez-vous un bon développeur web ?

La frontière étant désormais bien floue entre savoirs des bibliothèques et monde numérique, vous envisagez peut-être d’élargir vos aptitudes à l’informatique. Afin de vous aider à répondre à la question du titre, voici une tentative subjective de décrire le métier du développement web.

Sans titre - Par Ricardo Machado - Sur Flickr - CC BY-NC-ND 2.0
Sans titre – Par Ricardo Machado – Sur Flickr – CC BY-NC-ND 2.0

Commençons par une définition. Si l’on en croit cette fiche du Gdt, le développeur intervient sur toute la chaîne de réalisation d’un logiciel. Pour faire simple, il s’occupe de traduire un problème en termes informatiques.
Laissons d’emblée de côté l’image usuelle de la personne absorbée derrière un écran parcouru par les lignes d’un code indéchiffrable. La totalité de ce processus implique de collaborer avec plusieurs personnes et pas forcément avec l’aide d’un ordinateur. Lors du travail préliminaire d’analyse et de conception vous serez amené à beaucoup échanger avec vos collègues.

Ceci étant dit vous aurez besoin de faire preuve d’une grande autonomie. La majeure partie de cette activité consiste à corriger des erreurs et résoudre des problèmes. La phase de réalisation et création n’est que la partie émergée de l’iceberg.
D’ailleurs, sans avoir fait de longues études de programmation vous en viendrez vite à penser que l’informatique n’est pas une science exacte. Les mauvaises langues diront même que ce constat est un euphémisme mais nous ne commenterons pas.

Trouver sa place

La définition précédente est un peu trop générale car la réalisation d’un site web moderne fait appel à toute une palette de savoirs. L’ergonome permet à l’utilisateur de naviguer de façon intuitive, le graphiste propose un habillage agréable à visiter et à regarder, l’expert accessibilité indique comment rendre les pages praticables par tout le monde quelque soit son support de navigation. N’oublions pas le webmestre qui vérifie la qualité des contenus, le chef de projet pour organiser tout ce beau monde, etc.

Las, abandonnez vos rêves de toute puissance, vous ne serez pas seul pour dire « c’est moi qui l’ai fait ! ». Réjouissez-vous plutôt qu’on ne vous demande pas de maîtriser tous ces domaines riches et inépuisables. Pourtant, il est fortement recommandé d’en connaître les principales fondations. Ne serait-ce que pour travailler de concert avec tous les professionnels impliqués.

Cela demandera du temps et pour compliquer la tâche les connaissances sont rarement figées. En guise d’exemple, vous avez peut-être déjà connu les longs débats pour savoir si il faut ouvrir un lien dans une nouvelle fenêtre du navigateur ou non… Il vous faudra alors lire, comparer, garder un esprit critique et trouver des solutions qui satisfont au mieux les multiples exigences rencontrées.

Rendre les choses belles

Cette petite introduction ne vous donnera sans doute pas l’envie de changer de carrière pour autant. En revanche, si vous aimez le travail bien fait et que pour vous la manière compte au moins autant que le résultat alors vous serez comblé par tout ce qu’offre cette activité.
Comme dans beaucoup de domaines, il y a des bonnes pratiques et, malheureusement, de nombreuses mauvaises manières de faire également. Libre à vous de choisir les autoroutes du  moins disant ou les sentiers escarpés des solutions plus élégantes.

Prenons le cas du langage HTML. Avec cette figure de proue  du WEB, il est possible de baliser de manière très incorrecte une page. On parle alors de « soupe de balise ». Un développeur averti respectera au mieux la sémantique du texte qui n’en sera que mieux référencé. Il aura plaisir à utiliser une balise de titre pour un titre ou une balise de paragraphe pour un paragraphe. Ne souriez pas à cette apparente évidence, on trouve parfois des syntaxes étranges lors de l’inspection d’un code source.

D’un code explicite à l’accessibilité pour tous

De manière générale, vous aurez à cœur de rendre votre code beau et soigné. Il sera alors plutôt concis et facile à lire. Personne ne vous y obligera mais imaginez-vous que vous ayez à offrir un code du travail ou une lettre sympathique à un ami. Tous deux sont des textes, mais l’un est un plus beau don que l’autre. C’est une affaire de goût aussi.
Il existe également de la poésie informatique mais restons lucides, elle n’est pas encore enseignée sur les bancs de la faculté.

Enfin, nostalgique des premières heures du web, vous voudrez rendre votre site ouvert et accessible à tous, en particulier aux personnes handicapées. Malheureusement, ce domaine est un peu le parent pauvre de la toile. Il vient souvent à la fin des discussions et ne dispose pas toujours du temps qu’il mériterait. Mais ne désespérons pas des grandes causes. Rien ne vous empêchera de souffler discrètement ce sujet fragile sur la table des discussions de temps à autre. À cœur vaillant rien d’impossible.

Il y aurait sans doute d’autres choses à dire mais peut-être en savez-vous suffisamment, et la réponse vous appartient. Alors, feriez-vous un bon développeur web ?

Blacklight : déploiement avec Ruby On Rails

Du serveur de développement au serveur de production, intéressons-nous maintenant aux grandes étapes de la mise en ligne de Blacklight. Nous avions commencé cette série par une prise en main de ce logiciel, puis par l’ajout des données d’exemplaire et enfin l’activation des services au lecteur. Les développeurs pourront compléter ce billet avec cette procédure détaillée.

Gaivota Bird oiseau Vogel uccello aves 鳥 птица – Sur Flickr par Rodrigo Sá – Licence CC BY 2.0

Déployer Blacklight offre plusieurs avantages. Tout d’abord, son serveur web proposé par défaut n’est pas assez robuste pour une mise en ligne. Nous devons donc en installer un nouveau à même d’assurer un nombre de visites élevé. Ce sera Apache avec le module Passenger.

Apache n’est plus à présenter dans le monde du développement web. Quant à Passenger, il s’agit d’un programme adossé à Apache pour rendre accessible en ligne une application faite avec Ruby On Rails. C’est une architecture complexe.

Si l’on récapitule :

  • Ruby est un langage de programmation.
  • Ruby on Rails est un framework, construit avec Ruby.
  • Blacklight est un moteur de recherche construit avec Ruby On Rails.
  • Apache et Passenger sont un serveur web mettant en ligne un logiciel fait avec Ruby On Rails, en l’occurrence : Blacklight !

Outils pour une maintenance aisée

Ces composants sont obligatoires pour rendre disponible notre nouveau catalogue. Nous utiliserons également Capistrano et Git pour faciliter les mises à jour du serveur de départ au serveur d’arrivée.
En revanche, ces deux derniers programmes ne sont pas nécessaires. Le déploiement peut se faire en copiant simplement les fichiers sur le serveur d’arrivée. Pourtant, même en étant un adepte féru de simplicité, leur relative complexité de prise en main est largement pondérée par ce qu’ils apportent.

Git pour garder un historique

Git, que l’on configure sur le serveur de développement, est un outil désormais prisé pour la gestion de versions. Il va nous permettre d’archiver toutes les étapes des développements ultérieurs. On pourra l’utiliser également pour rétablir une version antérieure de notre catalogue en cas de problèmes de mise à jour par exemple.

Déployer avec Capistrano

Capistrano est un logiciel écrit en Ruby permettant le déploiement automatisé d’une application d’une machine à une autre. Depuis le serveur de travail, il va se charger, avec très peu d’instructions de notre part, de déployer Blacklight en ligne, de passer d’une version à l’autre, ou de le mettre à jour aisément.

Il n’est pas simple dans cette nébuleuse d’utilitaires, modules, applications, serveurs de voir qui fait quoi et à quoi ça sert. Au final, on finit par l’oublier et ses avantages permettent de se concentrer plus profondément sur l’amélioration de Blacklight.

Voilà, notre catalogue est en ligne… Ah non me dit-on ! Il reste encore quelques menus détails à régler, mais bientôt Blacklight sortira en pleine lumière à la BCU…

Garder sa distribution GNU/Linux propre comme un sou neuf (deuxième partie)

Vous qui lisez ce blog régulièrement, vous vous rappellerez sans doute qu’il y a déjà quelques mois je m’étais intéressé à différentes méthodes visant à maintenir propre et net son système GNU/Linux… C’était dans ce billet et il n’y était guère question que de lignes de commandes.

Nous allons cette fois-ci et comme promis en conclusion du précédent article, nous orienter vers les applications graphiques. Comme toujours ce sont les distributions Debian/Ubuntu qui ont mes faveurs mais la plupart de ces outils sont présents ou installables sur bon nombre de systèmes Linux.

L’avantage de ces outils graphiques réside essentiellement dans leur ergonomie, qui leur permet de gérer simultanément une grande quantité de paramètres, mais comme toujours ils peuvent être utilisables eux-même en ligne de commande ou n’être simplement qu’une interface graphique à une ou plusieurs commandes préexistantes, comme l’est par exemple Gtkorphan pour deborphan

Suppression des fichiers de configuration dans Synaptic
Suppression des fichiers de configuration dans Synaptic

Tout nettoyage efficace commence par la purge des paquets obsolètes ou superflus et l’on dispose pour cela de synaptic et computer-janitor ; certes ce dernier n’est plus installé automatiquement sur les dernières versions d’Ubuntu, mais il n’en reste pas moins dans les dépots…

Le bouton État de Synaptic est particulièrement intéressant au sens ou il permet de connaitre immédiatement le statut des paquets et partant de faire des suppressions plutôt « intelligentes » notamment pour les paquets « pouvant être supprimés » (orphelins) ou encore les « résidus de configurations » . Il faut toujours garder à l’esprit que Synaptic est une GUI (Graphic User Interface) pour apt-get et que tout comme cette commande il ne gère pas la suppression automatique des dépendances ; de même pour obtenir l’équivalent de l’option purge il faudra sélectionner les paquets « pour une suppression complète » et il se chargera alors d’éliminer également les fichiers de configuration…

Nettoyage du système
Nettoyage du système 

D’une façon un peu plus automatique mais aussi plus opaque à l’utilisateur on peut également utiliser l’application identifiée par Nettoyage du système alias computer-janitor dans le menu administration…

Cette application traquera pour vous dans les confins du système tout à la fois les paquets inutiles, les fichiers de configurations orphelins et les anciens noyaux…

Petite limite selon moi à son intérêt et à son utilisation (ce qui explique certainement son retrait des applications installées automatiquement par le système), l’impossibilité pour l’utilisateur d’intervenir sur son mode de sélection ou son paramétrage, hormis la liste finale…

Nettoyage des librairies orphelines
Nettoyage des librairies orphelines

Un autre de ces outils fort utiles pour débarrasser son système des paquets superflus est Gtkorphan, GUI de la commande deborphan, permettant d’indiquer facilement via un menu le type de fichiers ou de bibliothèques orphelines que l’on souhaite effacer.

Ce n’est d’ailleurs pas la sa seule qualité, car l’éventail et la modularité des options est particulièrement riche. On peut spécifier en effet si l’on souhaite rechercher là encore les fichiers de configuration non effacés par une suppression de paquet ou choisir le type de librairies orphelines à enlever, de celles relatives à python, à perl, etc,  jusqu’à la totalité, soit l’équivalent d’un deborphan –guess-all en ligne de commande.

Par ailleurs, puisque l’on fait le ménage dans le système de paquetage logiciel, il est de bon ton de vider son cache ce qui peut faire gagner à terme quelques centaines de méga-octets d’espace disque. Synaptic peut le faire si on le lui spécifie dans ses options mais d’autres outils à vocation plus générale le font également : c’est ceux-ci que nous allons aborder à présent.

Nettoyage avec Bleachbit
Nettoyage avec Bleachbit

Bleachbit est ce que l’on pourrait qualifier de nettoyeur à tout faire, s’agissant des historiques, caches et répertoires temporaires divers. A noter que deux modes de fonctionnement sont possibles : un mode utilisateur plutôt orienté vidage de caches et un mode root plus ciblé sur le nettoyage système (cache des paquets, vidage de /tmp et des journaux système, traductions inutiles, etc) et toutes choses requérant les attributions de l’administrateur. Ce dernier mode est particulièrement efficace pour se défaire des fichiers d’internationalisation non supprimés par localepurge, avec une fois de plus à la clé une quantité notable d’espace disque récupéré.

Fslint
Recherche de fichiers temporaires avec Fslint

 

Dans un registre un peu plus technique vient Fslint, utilisable également en ligne de commande.

Cet outil au demeurant hautement paramétrable et donc extrêmement polyvalent va quant à lui permettre de rechercher d’abord dans son home directory mais à priori partout où on le lui spécifiera les fichiers dupliqués, les répertoires vides, les fichiers temporaires ou encore les liens symboliques erronés… Le site doc.ubuntu-fr.org qualifie Fslint de couteau suisse et je partage amplement cet avis.

Enfin, pour conclure ce rapide tour d’horizon (non exhaustif) des outils graphiques, je vais simplement présenter deux applications disponibles uniquement sur Ubuntu que sont Ubuntu Tweak et Ailurus, encore que ce dernier fonctionne également sous Fedora. Ces deux utilitaires sont de véritables postes de commandes du système à la vocation beaucoup plus large que le simple nettoyage du système, même si elles intègrent en effet cette fonctionnalité. Dans les deux cas ces applications ne se trouvent pas sur les dépôts officiels et il faudra donc télécharger les .deb correspondant à sa version de distribution ainsi qu’à son architecture. D’une façon plus cohérente dans la mesure où on peut les trouver via launchpad on installera leur dépôt ppa au moyen de la commande add-apt-repository ce qui permettra des mises à jours et des suppressions aisées.

Il serait trop long et un peu vain de détailler ici le fonctionnement de ces deux applications dont le but est de paramétrer son système avec finesse ; les essayer est un bien meilleur révélateur. En guise de conclusion, quelques copies d’écran qui je l’espère vous donneront envie de le faire…

Nettoyage avec Ubuntu Tweak
Nettoyage avec Ubuntu Tweak

Ubuntu Tweak fait la part belle à la gestion des paquets, y compris les ppa et facilite la gestion des sources. Dans ses versions pour des distributions récentes, les fonctions de nettoyage s’étendent également aux caches des navigateurs, entre autres…
Il ne faut cependant pas négliger le reste de ses fonctionnalités, qui permettent d’accéder facilement à nombre de paramètres peu accessibles du système.

Fonctionnalité "ordinateur médecin" dans Ailurus.
Fonctionnalité « ordinateur médecin » dans Ailurus.

Ailurus est peu ou prou équivalent à Ubuntu Tweak sur bien des points, mais se veut néanmoins plus didactique dans son approche au sens où toutes les modifications effectuées sur le système sont explicitement décrites avec la ligne de commande correspondante.

Note : pour aller plus loin avec Ubuntu Tweak et Ailurus, je vous invite à consulter les pages consacrées à ces applications sur le site doc.ubuntu-fr.org.
Et toujours dans la catégorie bonnes lectures, je vous invite à consulter une série d’articles rédigés par Raphaël Herzog, par ailleurs auteur des Cahiers de l’Admin Debian, sur son blog :

Enfin, et j’en terminerai la dessus, maintenir un système en bon ordre de marche résulte nécessairement d’une démarche volontaire et de l’utilisation conjointe d’un certain nombre d’outils, graphiques ou non, et pour certains partiellement automatiques, mais toujours sans perdre de vue que c’est vous qui êtes aux commandes…

Blacklight, troisième partie : les services au lecteur

La série avait commencé par une présentation introductive puis par ce billet consacré aux données d’exemplaires, voyons dès à présent le problème des services aux lecteurs : renouvellement, liste des prêts en cours, demande de communication et réservation. Comment intégrer ces nouvelles possibilités à Blacklight (BL) ?

Serveur en tenue - Par telomi sur Flickr - Licence CC BY-NC-ND 2.0
Serveur en tenue – Par telomi sur Flickr – Licence CC BY-NC-ND 2.0

Appelons cela un problème, car la solution n’est pas totalement dans les mains de BL qui ne fournit pas d’outils pour se connecter à un catalogue. Pour bénéficier de toutes ces fonctionnalités utiles aux lecteurs, il faut un préalable évident : le SIGB interrogé doit proposer une interface permettant d’interroger ses services par des applications externes comme BL. Ce n’est pas toujours le cas et, pour nous, Absysnet ne dispose pas, par défaut, de telles interfaces. Heureusement, nous avons sous la main un programme répondant au doux nom de « zabnetarch », ajouté il y a quelques années à Absysnet par le prestataire pour l’intégration à notre défunt et regretté portail Archimed.

Ce programme est interrogeable via une connexion réseau simple TCP/IP. Nous lui passons des ordres rudimentaires du type : « donne moi les informations du lecteur possédant tel identifiant » ou encore « réserve cet exemplaire pour tel lecteur », et « zabnetarch » répond en XML en fournissant les données souhaitées ou un code explicite indiquant l’échec ou la réussite de la commande.

Quelques lignes de code pour finir

Une fois pris en main le fonctionnement de cette « API» minimaliste, il ne reste plus qu’à l’intégrer à BL. Avec Ruby On Rails, le principe est simple, il suffit d’ajouter un fichier avec des instructions en ruby dans le répertoire « models » de l’application. Pour chaque service (renouvellement, réservation, etc.) on ajoute une fonction dédiée dans notre fichier qui pourra être appelée par le programme qui gère l’utilisateur authentifié, offrant ainsi de nouveaux usages à l’intention du lecteur.

Désormais, nous avons intégré les données d’exemplaires, les services aux lecteurs fonctionnent, notre nouvel OPAC est presque prêt. La prochaine étape sera de déployer Blacklight sur son serveur définitif. Au menu, il sera question de capistrano, git, passenger mais nous verrons cela dans un prochain billet…

T’imprimes, t’imprimes, t’imprimes…

Le meurtre du photocopieur (photo Aaron Landry, publiée sur FlickR sous licence Creative Commons Paternité, Pas d’utilisation commerciale, Partage à l’identique).

Parfois, un détonnant mélange d’agacement et de frustration vous donne subitement envie de brutaliser un objet récalcitrant voire une personne, comme dans la scène désormais fameuse qui a prêté son titre à ce billet (notez qu’il est hautement incivil d’agir ainsi, sauf au cinéma où il est bien entendu que la victime est totalement antipathique alors que le bourreau est juste un grand bon garçon un peu vif). Je confesse avoir eu envie, à une ou deux reprises cette année, d’appliquer ce genre de traitement aux photocopieurs et autres lecteurs de cartes magnétiques de la BU.

Néanmoins, l’affaire s’étant soldée par le happy end auquel on était en droit d’aspirer (nos lecteurs peuvent imprimer et photocopier), la destruction du copieur-imprimeur restera à l’état d’éventualité inaccomplie.

Pour ceux qui aiment savoir que les histoires se terminent bien avant de les commencer, voici tout de suite l’épilogue : il est désormais possible d’imprimer ses documents à la B.U. sciences à l’aide d’une carte de photocopie. Les deux postes dédiés à l’impression sont situés au voisinage des photocopieurs, l’un au rez-de-chaussée, l’autre au deuxième étage. Il suffit d’ouvrir son document sur l’un de ces postes (via une clef USB, un espace de stockage sur le Web, un site, etc.) et de débloquer l’impression à l’aide de sa carte de photocopie. Le même système sera déployé prochainement dans les bibliothèques de lettres et de droit. Bref, photocopieur et imprimante se marièrent et engendrèrent des milliers et des milliers de pages.

À présent pour ceux qui veulent regarder dans les coulisses, voici la version longue
(âmes sensibles et lecteurs pressés s’abstenir).

Situation initiale : la B.U. de sciences était depuis plusieurs années à la recherche d’une solution simple pour permettre l’impression aux lecteurs. Le logiciel commercial mis en place il y a plusieurs années, assez coûteux, avait été abandonné quand quelque mise à jour fatale avait provoqué une incompatibilité. L’impression gratuite épuisait les budgets de consommables informatique et de papier, l’impression contrôlée par les bibliothécaires (déblocage depuis le poste de renseignement) épuisait le personnel sans satisfaire les lecteurs. Dans les autres bibliothèques, on avait abandonné l’impression, ou on la pratiquait à la demande de façon assez exceptionnelle.

En janvier 2012, Acte I, la bibnum lance une consultation tous azimuts sur la façon dont les B.U. gèrent l’impression. Parmi les retours, la solution venue de Nancy nous paraît la plus simple : dans chaque BU, un ou deux postes, couplés avec un photocopieur imprimante et un lecteur de cartes magnétiques, permet de faire à la fois les impressions et les copies.

  • C’est simple pour les lecteurs, puisqu’ils ont déjà une carte pour la photocopie. Plus besoin d’aller quémander au bureau de renseignements le déblocage de l’impression pour trois pages de documents administratifs.
  • C’est simple pour les BU puisque les photocopieurs sont déjà intégrés à un marché et qu’il suffit d’activer leur fonction « imprimante ». Fini le déblocage au coup par coup et l’inconfortable sensation garde-chiourmesque qu’il procure.
  • C’est simple pour la bibnum puisqu’en faisant porter la fonction d’imprimante par des copieurs dépendant d’un marché, nous nous déchargeons des problèmes de maintenance sur des machines qui sont à la fois rapides et robustes. Adieu les cinquante remplacements de cartouche par an !

Hélas, même une solution très simple peut être très compliquée à mettre en place.

Pas de chance, les copieurs présents dans le réseau dépendent de trois marchés différents, conclus auprès de deux fournisseurs. Il fallut donc identifier les fournisseurs qui géraient les copieurs présents en BU. Déveine, les machines présentes à la B.U. sciences ne dépendaient pas toutes du même. Il fallut donc exposer à chacun le système visé, pour savoir s’ils pouvaient le fournir. Hélas, cette solution est un peu inhabituelle (peut-être parce qu’elle est simple et peu coûteuse ?). Pour éviter tout malentendu (en fait, il y en avait un, bien sûr) avec le commercial-qui-dit-pas-de-souci, il fallut donc assister à la présentation d’une offre de type « serveur d’impression » et la refuser, puis préciser de nouveau la nature exacte de notre demande. Coup du sort, à la B.U. de sciences, les photocopieurs présents dépendaient d’un marché un peu ancien et n’étaient pas pourvus de carte réseau. Il fallut donc débloquer un budget non prévu pour l’opération d’installation des cartes réseau et des lecteurs de carte, et même pleurer misère auprès du commercial pour diminuer un peu la facture de la prestation, car l’argent manquait. Veine, il était d’humeur commerçante et consentit à nous faire une ristourne (ah, si seulement il travaillait chez Elsevier !).

Tout cela nous conduisit fin juillet. Vacances, entracte.

Fin août, acte II. Installation d’une carte réseau sur les copieurs disponibles, puis première tentative du technicien pour installer le nouveau lecteur de carte. Mauvais sort, l’impression fonctionnait, mais non la copie. C’étaient la connectique qui était défectueuse, ou pas du bon modèle, bref ça n’allait pas. Comble d’infortune, nous nous apercevions dans le même temps (mais ça, nous aurions dû nous en douter) que nos postes publics sous linux ne pourraient pas gérer le système de commande du boitier lecteur de carte, et que pour les postes dédiés à l’impression il faudrait donc rééquiper spécialement des machines en windows. Mi-septembre, second passage du technicien, avec les bons câbles : tout semblait fonctionner.

Et là, la tuile (alors que depuis le début, vous avez remarqué, tout marchait sans accroc) : le lecteur de carte considère comme des centimes d’euros les unités chargées dans les cartes des étudiants, et de ce fait, débite cinq unités par impression, puisque l’unité coûte cinq centimes. De ce fait, un étudiant qui a chargé 40 unités dans sa carte la découvre vide après avoir imprimé 8 pages. Séance de bidouillage autour de l’interface de gestion du lecteur de carte. On parvient à faire passer l’affichage en mode « unité » et à faire paser le tarif de l’impression à une unité. Demi-victoire, car les photocopies, elles, restent obstinément tarifées à 5 unités. Troisième passage du technicien : il s’avère que le firmware (j’ai appris un mot) qui gérait le lecteur de cartes était périmé et que le téléchargement d’une nouvelle version permet de paramétrer correctement les tarifs de copie ET d’impression.

Il y a maintenant une dizaine de jours que le système a été officiellement mis en service. Pour être tout à fait honnête, je dois mentionner qu’à l’heure où je boucle ce billet, il semblerait que certaines cartes soient encore débitées de 5 unités par copie. Mais aucun test, sous toutes les configurations possibles (carte ancienne ou nouvelle, chargement récent ou non, etc), n’a permis de reproduire ce bug. Je peux donc, dans l’immédiat, le considérer comme non avenu et vous renvoyer à l’épilogue ci-dessus.

Si le problème se confirme, lorsque nous l’aurons résolu je pourrai le documenter par un nouveau billet. Ou bien vous apprendrez peut-être, par le billet consterné d’un collègue, que le responsable de la bibliothèque numérique a été mis en examen pour photocopicide volontaire avec préméditation.

Série de l’été : un succès, un regret, un projet (2)

Pour continuer la série voici, en avant-première en exclusivité mondiale et en co-rédaction avec le chef, les impressions d’un membre de l’équipe informatique :

Un succès ? Les débuts prometteurs de la mise en place d’une gestion en série du parc informatique. En l’occurrence, pour la première fois, en l’espace d’une grosse semaine, 45 machines ont été réceptionnées, leurs disques durs clonés (grâce à Clonezilla), leur déploiement final opéré sur trois sites différents. Jusque récemment, du fait de l’éclatement géographique, le parc se gérait presque machine par machine. L’automatisation progressive de la gestion permet d’envisager plus sereinement les installations à venir, même si le volume de machines doit encore aller croissant pendant les prochaines années.

Un regret ? Devoir partir en congé sans avoir absolument bouclé certaines tâches prévues, ou en laissant quelques problèmes irrésolus : en l’occurrence, un petit problème d’attribution d’adresse IP empêche l’utilisation du logiciel de gestion SIFAC sur une machine, et il est désagréable de savoir une collègue embarrassée dans son travail par un pépin informatique… quand on consacre une bonne partie de son travail à les prévenir et à les combattre.

Path par "Glenngould" (publié sous pseudonyme sur FlickR, sous licence Creative Commons, Paternité)
Path par « Glenngould » (publié sous pseudonyme sur FlickR, sous licence Creative Commons, Paternité)

Un projet ? Le service ayant quelques idées de production vidéo pour l’an prochain, je souhaiterais m’y impliquer, en mettant à profit mon attrait personnel pour ce domaine et la pratique que j’en ai déjà, pour acquérir une meilleure maîtrise des outils et apporter ma contribution à un projet du service pour les usagers.

Bonnes vacances à tous !

Série de l’été : un succès, un regret, un projet (1)

C’est au tour du développeur de contribuer à la série de l’été.

Un succès

C’est encore un peu tôt pour parler de succès car il n’est pas terminé mais le chantier du nouvel OPAC basé sur Blacklight est à classer au rang des satisfactions. Au début du projet l’horizon était plutôt brumeux. Notre catalogue réticent à la connexion d’applications externes n’était pas un gage de réussite. En pratique, les difficultés d’interrogation ont été levées une à une grâce notamment à la puissance du langage Ruby et de son framework associé RubyOnRails, appris sur le tas. La facilité de prise en main de ces langages et leur souplesse d’utilisation a été une découverte étonnante et instructive. En plus, disposer de temps pour se former au travail est un grand avantage.

Un regret

Pas de problème particulier à signaler sur le déroulement des projets au cours de l’année écoulée mais du côté du développement, l’arrivée de Blacklight a été bénéfique car elle m’a permis d’apprendre un nouveau langage et de changer mon quotidien fait de PHP/MYSQL depuis plusieurs années et de le remplacer par Ruby / RubyOnRails et la satisfaction d’apprendre de nouvelle choses.

Un projet

Les projets à venir comportent tous un côté intéressant. Que ce soit la refonte de l’intranet et sa connexion à l’annuaire LDAP de l’université (qui devrait apporter un peu de piment) ou la mise à jour de la version 6 de Drupal à sa version 7, avec la contrainte de ne rien casser aux contenus actuels, nous avons sur notre plan de route la promesse d’un voyage aux paysages variés et aux rebondissements assurés.

Le bonheur n'est pas au bout du chemin. Il est sur le chemin. - Sur Flickr par MarcGbx - licence CC BY-NC 2.0
Le bonheur n’est pas au bout du chemin. Il est sur le chemin. – Sur Flickr par MarcGbx – licence CC BY-NC 2.0

Blacklight, deuxième partie : les données d’exemplaires

Quand l'eau se fait RUBIS -Par CHRIS230*** - Licence CC BY-NC-SA 2.0 - Sur Flickr
Quand l’eau se fait RUBIS -Par CHRIS230*** – Licence CC BY-NC-SA 2.0 – Sur Flickr

Suite de notre série de billets sur Blacklight, commencée par une présentation générale.
La question qui nous intéresse désormais est de savoir comment connecter Blacklight à un SIGB. À priori, les nouvelles sont peu réjouissantes car Blacklight ne connait ni le z3950, ni OAI-PMH, ni aucun autre protocole pour interroger directement un catalogue. On peut l’alimenter d’une seule manière par défaut : en lisant des données au format Marc en XML ou ISO2709. Cependant, on peut le faire communiquer avec un catalogue, via z3950 notamment, sans devoir reprogrammer entièrement un client dédié. Si z3950 ne peut pas servir a récupérer un catalogue entier il peut être utile en revanche pour récupérer des informations en direct, comme les données d’exemplaires.

Nous allons utiliser ruby-zoom, une bibliothèque écrite en ruby et interrogeant ZOOM, une API disponible pour développer des services autour de z3950 (ce composant existe aussi pour PHP et C).
Pour l’installer sur un serveur Debian disposant d’un environnement Ruby, cette commande suffit :

[sourcecode language= »bash » gutter= »false »]$ apt-get install yaz libyaz4-dev[/sourcecode]

Ensuite, dans le fichier Gemfile de BL, ajoutons la ligne :

[sourcecode language= »ruby » gutter= »false »]gem ‘zoom’, :git => ‘https://github.com/bricestacey/ruby-zoom.git'[/sourcecode]

puis, dans le répertoire de BL, exécutons la commande suivante pour terminer l’installation de ruby-zoom (il sera compilé puis installé dans ruby on rails) :

[sourcecode language= »ruby » gutter= »false »]$ bundle install[/sourcecode]

Quelques lignes de code pour finir

À cette étape, il faut mettre la main à la pâte et programmer en Ruby. Le plus simple est de créer un nouveau modèle dans le framework Ruby on rails de BL dédié à la connexion z3950. Voici un exemple utilisant les fonctionnalités de ZOOM.

[sourcecode language= »ruby »]

class Z3950
attr_reader :ip, :base, :port, :url
attr_accessor :keyword

def initialize(ip, base, port)
@ip = ip
@base = base
@port = port
@url = @ip + ‘:’ + @port + ‘/’ + @base
end

def search
resultats =  »
begin
ZOOM::Connection.open(url) do |conn|
rset = conn.search(@keyword)
rset.each_record do |record|
resultats += record.xml
end
end
resultats.force_encoding(« ISO-8859-1 »).encode(« UTF-8″)
rescue
nil
end
end

def get_localisations(resultats= »)
doc = REXML::Document.new(resultats)
resultats = []
root = doc.root

if root.respond_to?(‘elements’)
#parcours des champs 998
root.elements.each(« datafield[@tag=’998′] ») do |element|
resultab = {}
#pour chaque element fils on récupère les informations d’exemplaire (localisation, salle, cote, empruntable ou non)
element.each do |field|
if field.respond_to?(‘elements’)
resultab[:localisation] = field.elements[« [@code=’b’] »].text if !field.elements[« [@code=’b’] »].nil?
resultab[:salle] = field.elements[« [@code=’c’] »].text if !field.elements[« [@code=’c’] »].nil?
resultab[:cote] = field.elements[« [@code=’e’] »].text if !field.elements[« [@code=’e’] »].nil?
if !field.elements[« [@code=’h’] »].nil?
if field.elements[« [@code=’h’] »].text ==  ‘ ‘
resultab[:empruntable] = nil
else
resultab[:empruntable] = field.elements[« [@code=’h’] »].text
end
end
end
end
resultats << resultab
end
end
resultats
end
end

[/sourcecode]

La méthode search définie ici s’occupe de la connexion au serveur z3950 et la méthode get_localisations récupère et traite la réponse XML du serveur pour obtenir les données d’exemplaire.
Il reste à ajouter quelques lignes de code dans le fichier catalog_controller.rb ou  l’on utilise les deux méthodes précédemment créées, puis dans le fichier show.html.erb pour afficher les résultats obtenus. Voici le résultat sur notre serveur de test, suivi des quelques lignes de code adéquates dans la vue et le contrôleur.

Affichage des données d’exemplaire dans BL

Le code à ajouter dans le fichier catalog_controller.rb :

[sourcecode language= »ruby »]
# surcharge de la méthode show du module catalog de blacklight
def show
@response, @document = get_solr_response_for_doc_id
connexion_z3950 = Z3950.new(‘X.X.X.X’, ‘base’, ‘port’)
connexion_z3950.keyword = @document.id
resultats = connexion_z3950.search
@localisations = connexion_z3950.get_localisations(resultats)

respond_to do |format|
format.html {setup_next_and_previous_documents}

# Add all dynamically added (such as by document extensions)
# export formats.
@document.export_formats.each_key do | format_name |
# It’s important that the argument to send be a symbol;
# if it’s a string, it makes Rails unhappy for unclear reasons.
format.send(format_name.to_sym) { render :text => @document.export_as(format_name), :layout => false }
end

end
end
[/sourcecode]

Et dans la vue (le fichier show.html.erb)

[sourcecode language= »html »]<p>
<table>
<tr>
<td>Disponibilité</td>
<td>Localisation</td>
<td>Salle</td>
<td>Cote</td>
</tr>
<% @localisations.each do |loc| %>
<tr>
<td><%= render_bouton_empruntable loc[:empruntable] %></td>
<td><%= loc[:localisation]%></td>
<td><%= loc[:salle]%></td>
<td><%= loc[:cote]%></td>
</tr>
<% end %>
</table>
</p>

[/sourcecode]