documentation-IST

Logiciels (logiciels libres en majorité) ou ressources (liées aux logiciels) utiles aux professionnels de la documentation et de l'Information Scientifique et Technique (IST)
Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 30/09/13
  • Correction mineure : 30/09/13
Mots-clés

Gramlab : plate-forme d'outils collaboratifs pour des traitements linguistiques

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Licence(s) : Apache License - v 2.0
  • Etat : diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : Consortium Gramlab
  • Contact concepteur(s) : gramlab@kwaga.com ou www.gramlab.org/en/programme-beta.html
  • Laboratoire(s), service(s)... : LIGM, Actimos, APIL, Aproged, CENTAL (Université catholique de Louvain), Kwaga, Lingway, Qwam Content Intelligence

 

Fonctionnalités générales du logiciel

Le système GramLab étend Unitex pour offrir aux équipes des outils facilitant le travail collaboratif (partage de ressources, suivi de versions, etc.) dans les traitements linguistiques. Ces outils reposent sur des technologies de type « automates à états finis » et incorporent des ressources linguistiques à large couverture, disponibles dans de nombreuses langues.

Les packages qui composent Gramlab sont disponibles sur la forge Google :

Les sources d'Unitex sont disponibles sur le site à l'Université de Marne-la-Vallée : http://igm.univ-mlv.fr/~unitex/, voir aussi la fiche PLUME sur Unitex.

Outils et fonctionnalités

  • Intégrabilité dans une chaîne UIMA (Unstructured Information Management Architecture)
  • Gestion de versions des ressources linguistiques
  • Outils de maintenance des grammaires
  • Outils de partage de ressources linguistiques
  • Gestion de projets
  • Auto-graph : création automatique de graphes de grammaires
  • Plate-forme multilingue
Contexte d’utilisation du logiciel

Ce système a été développé pour le projet FEDER Gramlab et il s'agit d'un projet labellisé CapDigital.

La mise à disposition de GramLab/Unitex sous la forme d'un annotateur UIMA donne la possibilité à des informaticiens non spécialistes du Traitement Automatique des Langues (TAL) d'ajouter une composante linguistique au sein d'une chaîne de traitements.

Pour faciliter la prise en main par les développeurs de l’annotateur Unitex-UIMA, un exemple d’intégration est fourni (https://code.google.com/p/gramlab-unitex-cpp-annot...).

Publications liées au logiciel
Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 22/09/13
  • Correction mineure : 22/09/13
Mots-clés

R.TeMiS : création et analyse de corpus de textes sous R

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Version actuelle : 0.6.2 - 27-08-2013
  • Licence(s) : GPL
  • Etat : diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : Milan Bouchet-Valat et Gilles Bastin
  • Contact concepteur(s) : nalimilan@club.fr
  • Laboratoire(s), service(s)... : INED, LSQ-CREST, OSC, PACTE

 

Une fiche logiciel décrit plus en détail ce développement, consultez la pour plus d’informations : R.TeMiS
Fonctionnalités générales du logiciel

R.TeMiS (R Text Mining Solution) est un environnement graphique de travail sous R permettant de créer, manipuler et analyser des corpus de textes, qu'ils soient constitués d'articles de presse, de réponses à une question ouverte, d'entretiens ou encore de textes issus de la Toile. Il prend actuellement en charge les méthodes d'analyse de données textuelles, tout en facilitant l'importation de corpus depuis des sources informatisées (Factiva, Twitter).

Contexte d’utilisation du logiciel

Utilisé par des chercheurs de diverses institutions mais aussi dans le cadre d'enseignements (Université Paris VII - Diderot et ENSAI) et de l'encadrement de mémoires d'étudiants (Sciences Po Grenoble).

Publications liées au logiciel

Bouchet-Valat, Milan ; Bastin, Gilles, « RcmdrPlugin.temis, a Graphical Integrated Text Mining Solution in R », dans The R Journal, 5 (1), 2013, p. 188-196. article

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 22/08/13
  • Correction mineure : 22/08/13
  • Auteur de la fiche : Yohan Colmant (Univ de Valenciennes et du Hainaut Cambrésis - Service informatique)
  • Responsable thématique : Raphaël Tournoy (Centre pour la Communication Scientifique Directe)

ORI-OAI : Outil de Référencement et d'Indexation pour un réseau de portails OAI-PMH

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.

 

Une fiche logiciel décrit plus en détail ce développement, consultez la pour plus d’informations : ORI-OAI
Fonctionnalités générales du logiciel

Destiné principalement aux universités et grandes écoles, l'Outil de Référencement et d'Indexation pour un réseau de portails OAI-PMH ORI-OAI vise la mise en place d'un système ouvert, en logiciel libre, permettant :

  • de gérer et de publier tous les documents numériques produits par les établissements universitaires,
  • de les partager avec d'autres établissements,
  • de les valoriser par une indexation de qualité,
  • de les rendre accessibles, à distance et selon les droits définis, dans des interfaces ergonomiques.

La mission du projet ORI-OAI est aussi le développement de communautés OAI-PMH : il propose une implémentation de référence du protocole OAI-PMH ainsi que les outils nécessaires à la mise en place de ces communautés et à la bonne intégration aux communautés existantes.

Contexte d’utilisation du logiciel

ORI-OAI est utilisé dans les établissements d'enseignement supérieur pour le référencement de tous les types de ressources numériques : thèses et autres publications, ressources pédagogiques, offres de formation, ...

Fiche logiciel validé
  • Création ou MAJ importante : 10/06/13
  • Correction mineure : 22/09/13
Mots-clés
Pour aller plus loin
  • Mots-clés principaux : corpus

R.TeMiS : création et analyse de corpus de textes sous R

Une fiche Dév Ens Sup est en relation avec cette fiche, consultez-la pour plus d'informations : R.TeMiS
Description
Fonctionnalités générales

R.TeMiS (R Text Mining Solution) est un environnement graphique de travail sous R permettant de créer, manipuler et analyser des corpus de textes, qu'ils soient constitués d'articles de presse, de réponses à une question ouverte, d'entretiens ou encore de textes issus de la Toile. Il prend actuellement en charge les méthodes d'Analyse de données textuelles, tout en facilitant l'importation de corpus depuis des sources informatisées (Factiva, Twitter).

R.TeMiS a été conçu pour limiter les effets de « boîte noire » liés à l'utilisation de certains logiciels propriétaires dédiés à l'analyse de textes peu flexibles et dont les techniques utilisées ne sont pas toujours documentées. Il vise ainsi à favoriser la réflexivité dans l’usage sociologique des données textuelles.

Fonctions actuellement prises en charge :

  • Importation du corpus :
    • Fichiers texte brut (.txt) stockés dans un dossier.
    • Fichier tableur de divers types (voir ci-dessous).
    • Fichier XML et HTML Factiva.
    • Recherche Twitter.
  • Construction du corpus (i.e ensemble de documents) :
    • Découpage des textes longs en documents (i.e ensemble de termes).
    • Suppression optionnelle des chiffres, des mots vides et de la ponctuation.
    • Extraction optionnelle des radicaux des mots (racinisation)
    • Sélection de documents à partir de termes ou de variables.
    • Choix ou exclusion de certains termes.
    • Recodage d'une variable temporelle.
  • Statistiques descriptives sur les variables associées aux documents :
    • Tri à plat et tri croisé.
    • Évolution temporelle du nombre de documents.
  • Statistiques lexicales :
    • Nombre de mots, diversité du vocabulaire, nombre de hapax, longueur des mots.
    • Table de dissimilarité du vocabulaire.
    • Fréquence de termes.
    • Termes les plus caractéristiques de modalités d'une variable.
    • Termes co-occurrents.
    • Évolution temporelle des occurrences d'un terme.
  • Analyse des correspondances (sur tableau lexical entier ou agrégé).
  • Classification ascendante hiérarchique (sur tableau lexical entier ou à partir des axes de l'analyse des correspondances).
  • Toutes les fonctions produisent des graphiques (exportables dans une variété de formats) et les résultats sont
    facilement exportables dans un rapport au format HTML.
Interopérabilité

Les corpus peuvent être importés sous forme de textes bruts (.txt) ou de fichiers de type tableur dans de nombreux formats : CSV (valeurs séparées par des virgules), TSV (valeurs séparées par des tabulations), Open Document (LibreOffice et OpenOffice), Microsoft Excel, dBase, SPSS, SAS, Minitab et STATA.

Les graphiques peuvent être exportés dans les formats (image ou vectoriels) les plus courants, dont le PNG, le SVG, le PostScript et le WMF. Tous les formats ne sont pas disponibles dans tous les OS.

Contexte d'utilisation dans mon laboratoire/service

Bien que récent, ce logiciel a déjà été utilisé par des chercheurs de l'INED dans le cadre de formations universitaires. Il sera bientôt utilisé pour des études d'entretiens et pour d'autres cours. Son intérêt est de proposer un équivalent à des fonctions offertes dans des logiciels propriétaires fort coûteux, ne fonctionnant que sous Windows, et n'étant pas installables sur les postes d'étudiants ou de chercheurs étrangers.

Limitations, difficultés, fonctionnalités importantes non couvertes

Ne couvre pas exactement la méthode utilisée par le logiciel de statistique textuelle (Alceste) : voir dans ce cas le logiciel libre Iramuteq.

Un terme identifié comme mot vide ne correspond pas toujours à un mot-outil.

Le logiciel permet de visualiser la racinisation effectuée, mais il serait souhaitable de pouvoir la modifier si nécessaire. Le logiciel ne permet actuellement pas de créer un dictionnaire/thésaurus personnel, et ne prend pas en charge la lexémisation.

Environnement du logiciel
Logiciels connexes
  • R : intégré à R, R.TeMiS génère du code R directement visible, qui est modifiable et peut éventuellement être étendu
  • R Commander : R.TeMiS est un greffon pour R Commander
Autres logiciels aux fonctionnalités équivalentes
  • Iramuteq (licence GPL) : interface de R pour le traitement de textes et de questionnaires
  • DtmVic (gratuit) : traitement des enquêtes comportant des questions ouvertes
  • TXM (composants modulaires open-source) : plateforme combinant des techniques d'analyse de grands corpus de textes
  • Alceste (propriétaire)
  • Lexico (propriétaire)
  • Spad (propriétaire)
  • SAS (propriétaire)
  • NVivo (propriétaire)
Environnement de développement
Type de structure associée au développement

Les deux auteurs sont respectivement doctorant au Laboratoire de sociologie quantitative (LSQ-CREST) et maître de conférences en sociologie à Sciences Po Grenoble.

Eléments de pérennité

Contrairement aux logiciels propriétaires d'analyse textuelle, R.TeMiS réutilise au maximum les fonctions statistiques générales déjà développées dans R et dans ses paquets (importation et traitement des corpus, graphiques, séries temporelles, analyse des correspondances, classification...). L'interface est en grande partie fournie par le paquet R Commander. R.TeMiS bénéficie donc du travail de très nombreux chercheurs maîtrisant très bien les techniques utilisées, et n'a pas de raison de disparaître tant que l'écosystème R fonctionne.

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur

Tutoriel en français

On peut noter la pauvreté des documents et tutoriels et le fait que l'aide intégrée est en anglais, mais une forte intuitivité du logiciel.

Divers (astuces, actualités, sécurité)

Il est possible de traiter des corpus en langues étrangères. Mais tous les documents d'un corpus doivent être dans la même langue.

Contributions
Mots-clés

Rencontres Scenari - 28 au 30 août 2013 -Toulouse

Du 28 au 30 août 2013 à Toulouse auront lieu les rencontres Scenari : c'est un événement destiné à rassembler la communauté d'utilisateurs des logiciels Scenari. Il marquera aussi la création de l'association Scenari.

Pour avoir plus d'informations et s'inscrire, cela se passe ici.

OpenSearch : spécification pour standardiser les fonctions de recherche en ligne

Fiche ressource Article, événement, site web...
  • Création ou MAJ importante : 21/05/13
  • Correction mineure : 21/05/13
Mots-clés

OpenSearch : spécification pour standardiser les fonctions de recherche en ligne

  • http://www.opensearch.org
  • Type de ressource : résumé
  • Date de publication du document ou de l'événement : 2005
  • Auteur(s) ou responsable(s) : A9 (filiale d'Amazon.com)

Description courte :

OpenSearch est une spécification qui offre des services de recherche sur un site Internet et ce, indépendamment de la technologie du moteur de recherche utilisé par ce site. L'objectif est de proposer un standard pour la recherche et la publication sur Internet.

Avec cette technologie, il est ainsi possible d'agréger et d'afficher les résultats de plusieurs sites de recherche différents. On peut par exemple effectuer la même requête sur une base de données documentaire, un dictionnaire en ligne et un wiki, et afficher les résultats sur une même page.

Il est également possible de rajouter son moteur de recherche sur n'importe quel client de recherche qui contient un agrégateur OpenSearch (dans lequel on peut configurer son fichier de description OpenSearch). L'un des exemples d'utilisation les plus connus de cette technologie est l'intégration de listes de sites de recherche dans les navigateurs web (champ de recherche situé à droite de la barre d'URL sur Firefox et Internet Explorer).

Documents de standardisation : La dernière spécification se trouve ici : OpenSearch 1.1 (Draft 5)

Description détaillée :

OpenSearch ne remplace pas un moteur de recherche mais propose donc une surcouche afin d'uniformiser les formats de publication. En ce sens, on peut apparenter cette technologie à un « service web » pour la recherche sur Internet.

Techniquement, OpenSearch utilise XML et les flux de syndication (RSS ou Atom).

Pour pouvoir offrir tous les composants nécessaires à la recherche standardisée sur Internet, la spécification OpenSearch est composée de quatre formats complémentaires :

  • OpenSearch description document

    C'est un fichier XML qui identifie et décrit le moteur de recherche. En plus de l'adresse du namespace de la spécification «http://a9.com/-/spec/opensearch/1.1/», ce fichier doit contenir au moins les 3 balises obligatoires suivantes : ShortName pour le nom du service, Description pour sa description et Url qui contient l'adresse du site de recherche.

  • OpenSearch URL template syntax

    Ce format contient différents paramètres qui permettent de décrire la syntaxe de recherche utilisée par le moteur de recherche. Il précise notamment les règles de grammaire de l'attribut template de la balise Url utilisée dans le document de description précédent.

  • Opensearch Query element

    Ce format permet de configurer des requêtes spécifiques par un client de recherche. Il est composé d'un ensemble d'attributs de la balise Query. On peut par exemple proposer un exemple de requête qui peut être effectuée sur le moteur de recherche ou encore afficher des résultats avec des mots proches de celui utilisé par la requête (mais contenant une faute d'orthographe par exemple).

  • OpenSearch response elements

    C'est le format de présentation des résultats de recherche. Les formats possibles nativement sont RSS 2.0 et Atom 1.0. D'autres formats de publication sont possibles comme HTML/XHTML.

En plus de ces formats, il existe plusieurs extensions, parmi lesquelles :

  • Referrer

    Permet de fournir des informations sur la source effectuant la recherche, comme par exemple le logiciel client utilisé

  • Relevance

    Permet d'indiquer le score de chaque résultat d'une recherche donnée

  • Suggestion

    Permet l’auto-complétion de mots dans le champ de recherche.

Pour l'utilisation de chacune de ces extensions, il faudra ajouter l'adresse du namespace XML de la spécification dans le fichier de description.D'autres extensions sont encore à l'état de draft mais offriront des possibilités intéressantes, notamment :

  • Geo extension

    Propose de fournir un mécanisme standard pour effectuer des recherches sur des données géographiques, comme des coordonnées ou des noms d'endroits.

  • Mobile extension

    Propose un mécanisme standard pour adapter les recherches de type OpenSearch aux terminaux mobiles, notamment dans l'affichage des résultats.

Utilisations recommandées :

Tout site utilisant OpenSearch peut être directement intégré au navigateur en utilisant la zone de recherche adaptée.

OpenSearch peut également être utilisé sur des applications hébergeant des moteurs de recherche et fournissant des services en ligne. Cela peut rendre l'application plus générique et permet d'accepter des requêtes à partir d'autres applications. Un exemple d'application en milieu scientifique est le logiciel SITools2 qui intègre nativement un champ de recherche OpenSearch. D'autre part, de nombreux CMS ou wiki implémentent opensearch soit de manière native soit grâce à un plugin: par exemple WordPress, SPIP,Drupal, PLONE, GetNetwork, DokuWiki, MediaWiki

OpenSearch est également très utilisé pour les recherches sur les sites bibliographiques car contenant de multiples bases de données provenant de sources différentes (voir par exemple le site de la revue internationale Nature : http://www.nature.com/opensearch).

Exemple de mise en œuvre :

Pour pouvoir configurer un service OpenSearch sur un moteur de recherche, il faut effectuer les trois étapes suivantes :

  • Configurer le moteur de recherche pour proposer en option une réponse au format RSS ou Atom (cela permettra d'utiliser les paramètres du format OpenSearch response elements)

  • Créer un fichier de description au format OpenSearch description document

    Le fichier minimum doit être de la forme :

    <?xml version="1.0" encoding="UTF-8"?>
    <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
      <ShortName>${name}</ShortName>
      <Description>${name}</Description>
      <Url type="application/html" template="${url}/suggest?q={searchTerms}">
      </Url>
    </OpenSearchDescription>

    Où ${name} est le nom du site et ${url} l’adresse du site.

  • Publier le fichier précédent en ajoutant un lien dans le header de la page d'accueil du site de recherche.

    Si par exemple le fichier s'appelle opensearch.xml :

    <link rel="search" type="application/opensearchdescription+xml" title="${name}" href="${url}/opensearch.xml">

Une étape supplémentaire peut être d'envoyer ce fichier de description à l'un des annuaires de moteurs de recherche supportant OpenSearch pour faire connaître le service de recherche.

Il existe en outre de nombreuses bibliothèques qui implémentent les services OpenSearch. Une liste détaillée se trouve ici :
http://www.opensearch.org/Community/OpenSearch_sof...

 

Mots-clés

Journées développement web à Nancy les 13-14 juin 2013

Des journées sur le 'Développement web' sont organisées à Nancy les 13-14 juin 2013 par le réseau métier DevelopR6.

L'inscription est gratuite mais obligatoire : http://developr6.dr6.cnrs.fr/manifestations/006-de...

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 12/04/13
  • Correction mineure : 22/05/13
Mots-clés

Pulman : gestion des publications scientifiques d'un laboratoire

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Version actuelle : version 2.0.10 - mars 2013
  • Licence(s) : GPL - http://projects.laas.fr/ezpublish/index.php/pulman_public/A-propos
  • Etat : diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : Thierry Danard, Gérald Cavallini, Jean-Marc Larré, Laurent Lequièvre, Jean-Michel Pons, Laurent Thomassin
  • Contact concepteur(s) : Jean-Marc.Larre@laas.fr
  • Laboratoire(s), service(s)... : LAAS

 

Fonctionnalités générales du logiciel

Pulman est un logiciel développé au LAAS-CNRS pour gérer toutes les publications du laboratoire.

Les laboratoires produisant une grande quantité de publications doivent automatiser des traitements sur ces publications afin de proposer aux chercheurs, aux directions et aux instances d'évaluations des données précises sur la production scientifique. Pulman permet de classifier les publications en tenant compte d'éléments complexes qui caractérisent les publications (revues, conférences, auteurs, etc).

Voici quelques fonctionnalités de l'outil :

  • gestion des auteurs internes et externes avec leur affectation dans une équipe et un pôle (deux niveaux de l'organigramme)
  • gestion des mots clés,
  • gestion des revues et de leur importance (bases de données internationales),
  • gestion des conférences,
  • plusieurs formes de recherches dans la base de données sont possibles ainsi que des exports.

D'autres fonctionnalités sont décrites sur le site du projet :

Pulman est organisé en documents, chaque document possède au moins un support. Un support est la forme qu'a prise l'information scientifique pour être rendue publique, par exemple l'information scientifique a été publiée dans une revue et a fait l'objet d'une présentation dans une conférence (ici deux supports sont déclarés).

Pulman est un logiciel développé en Java avec une base de données Oracle.

Voici une copie d'écran présentant la modification d'une publication avec trois types de support :

Contexte d’utilisation du logiciel

Pulman est utilisé depuis une dizaine d'années au LAAS-CNRS. Aujourd'hui environ 15000 documents sont liés à 27000 supports. Seul le service de documentation du laboratoire est habilité à saisir les publications dans Pulman. L'accès aux publications est public, les utlisateurs peuvent interroger la base de données des publications en utilisant un logiciel de type client léger depuis un navigateur Web.
La Base de Données Pulman du LAAS est accessible à cette adresse : http://www.laas.fr/pulman/pulman-isens/web/app.php/

Au LAAS, la base de données est hébergée sur un serveur Oracle 11G, le service de documentation utilise la version 2.0.10 du client Pulman en version Mac et Windows.

Publications liées au logiciel

La documentation complète (installation, licence, configuration, etc) est accessible à cette adresse : http://projects.laas.fr/pulman

La liste de diffusion pulman [at] laas [dot] fr est disponible. L'abonnement est libre et peut se réaliser depuis le serveur sympa du Laas.

 

Fiche logiciel à valider
  • Création ou MAJ importante : 21/11/12
  • Correction mineure : 21/11/12
  • Rédacteur de la fiche : Odile Bénassy - UFR Droit Université Paris Sud 11 (Université Paris Sud 11)
  • Responsable thématique : Dirk Hoffmann (Centre de Physique des Particules de Marseille (CPPM-IN2P3))
Mots-clés
Pour aller plus loin

PDFjam : manipulation des fichiers PDF en ligne de commande

Ce logiciel est en cours d'évaluation par la communauté PLUME. Si vous utilisez ce logiciel en production dans notre communauté, merci de déposer un commentaire.
Description
Fonctionnalités générales

Description

pdfjam est un utilitaire de manipulation des fichiers PDF. Basé sur LaTeX/PDFLaTeX/Pdfpages, il en apporte la puissance sur un plateau : pas besoin d'écrire du code, tout se fait en ligne de commande.

Fonctionnalités

pdfjam permet de relier des pages, avec ces fonctions :

  • pdfjoin pour simplement adjoindre des fichiers PDF l'un après l'autre :
    pdfjoin premier.pdf second.pdf ... dernier.pdf --outfile resultat.pdf
  • pdfjam pour adjoindre seulement quelques pages de chaque :
    pdfjam fichier1.pdf '{},2-' fichier2.pdf '10,3-6' --outfile resultat.pdf
  • pdfbook pour obtenir un livret prêt pour le façonnage et, avec le positionnement correct de 4 pages par feuille (agrafées dans le pli central), dans le bon ordre et la bonne orientation :
    pdfbook --suffix 'sig4' --batch myfile1.pdf myfile2.pdf

pdfjam permet également de coller plusieurs pages ensemble dans la même page (pour économiser le papier...), avec pdfnup :

  • 2 pages ensemble pour former une page "paysage", sans cadre :
    pdfnup source.pdf --nup 2x1 --outfile resultat.pdf
  • 2 pages ensemble pour former une page "portrait", sans cadre :
    pdfnup source.pdf --nup 1x2 --outfile resultat.pdf
  • 4 pages 2×2, format paysage, avec un trait fin encadrant chacune des pages :
    pdfnup source.pdf --nup 2x2 --frame true --outfile resultat.pdf

pdfjam donne aussi la possibilité d'extraire des pages :

  • pdfjam fichier1.pdf '3' extrait la page 3
    (pour extraire toutes les pages d'un seul coup voir plutôt pdftk)

On peut aussi avec pdfjam changer la taille de papier :

  • pdfjoin source.pdf --paper a5paper --outfile resultat-a5.pdf

En savoir plus

Autres fonctionnalités

pdfjam permet aussi :

  • pdf90, pdf180 et pdf270 pour modifier l'orientation de la page.
  • pdfflip pour symétriser la page de sorte qu'elle apparaît écrite à l'envers (utile pour éditer des transparents).
  • pdfpun fait la même chose que pdfnup sauf que les pages sont ordonnées de la droite vers la gauche.
  • l'option --scale de pdfjam permet d'agrandir ou de rétrécir les pages.
  • l'option --trim de pdfjam permet de couper les marges.
  • l'option --keepinfo permet de conserver les méta-données du fichier original.
Limitations, difficultés, fonctionnalités importantes non couvertes
  • Comme tout programme puissant (penser à rm -rf), pdfjam peut occasionner des dégâts s'il est utilisé distraitement : Il écrase sans prévenir les fichiers de même nom. Il vaut mieux être attentif.
  • Les liens hypertexte sont perdus.
  • On a parfois des résultats incertains sous Fedora.
Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré
  • pdfjam est intégré aux distributions Texlive

  • sous Debian : paquet texlive-extra-utils

  • sous Fedora : paquet pdfjam

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

Un particulier, David Firth

Environnement utilisateur
Documentation utilisateur
Divers (astuces, actualités, sécurité)
  • Lancer la commande pdfjam --help pour obtenir la liste des diverses options.
Fiche logiciel validé
  • Création ou MAJ importante : 24/10/12
  • Correction mineure : 24/10/12
Mots-clés
Pour aller plus loin

eZ Publish : système de gestion de contenu Web (CMS) puissant, ouvert et évolutif

Description
Fonctionnalités générales

eZ Publish est un système de gestion de contenu Open Source (en anglais CMS, Content Management System) très puissant, ouvert et évolutif, qui permet de développer des sites web dynamiques en mode mono ou multi-sites, créé en 1999 par une société norvégienne eZ systems.

eZ Publish est open source, disponible soit gratuitement, soit dans le cadre d’une solution professionnelle “eZ Publish Premium”, incluant support , garanties et maintenance.

Ses principaux atouts sont :

  • des fonctionnalités intégrées et prêtes à l'emploi répondant aux besoins et attentes courants des webmasters,
  • un environnement technique offrant des possibilités de personnalisation et de création d'extensions inégalées (flexibilité du noyau du moteur de contenu),
  • un modèle économique open source associant tous les atouts des logiciels Open Source (coût, temps de mise en œuvre et transparence),
  • eZ Publish est doté d'un backoffice permettant de décrire les "classes" des objets qui seront utilisés dans chaque site, et d'un frontoffice, qui propose un éditeur de type wysiwyg (avec extension multiupload) ou publication à partir de Word ou OpenOffice,
  • eZ Publish est développé en PHP, s'appuie sur une base de données (MySQL, mais aussi Oracle et PostGreSQL), et a développé son propre langage de template pour décrire le design des pages,
  • une gestion très fine des rôles, droits et groupes d'utilisateurs permet d'organiser la mise à jour du site en équipes,
  • eZ Publish dispose d'un versioning intégré, d'un support multilingue, d'un système de workflow et d'une conception optimisée pour le référencement, d'un moteur de recherche assez sophistiqué (extension eZ Find),
  • un système de caches serveur assez sophistiqué permet d'optimiser la régénération des pages et la vitesse d'affichage du site.
  • eZ Publish est basé sur des standards ouverts et reconnus :
  • PHP5, XHTML, CSS, XML, RSS, WebDAV, LDAP, SOAP, EXIF, OpenOffice.
Autres fonctionnalités

Architecture

  • eZ Publish est développé autour du robuste, populaire et open source environnement LAMP (Linux, Apache, MySQL et PHP).
  • Cependant, eZ Publish peut être également installé sur des serveurs Microsoft, Sun Solaris ou Mac OS X.
  • En plus de MySQL, eZ Publish supporte les bases de données Oracle et PostgreSQL.

Classes de contenu

eZ Publish dispose de datatypes (plus petite entité de stockage disponible) : ce sont par exemple des blocs XML, entier, date et heure, ligne de texte permettant de définir des classes pré-intégrées (ex : article, répertoire, utilisateur, commentaire, ...). On peut également enrichir ces datatypes et classes via développement, en fonction de ses besoins.

Structure interne d'eZ Publish

eZ Publish s'articule autour d'un kernel, de modules (moteur de recherche, gestion des utilisateurs, ...) et de diverses bibliothèques (ezxml, ezpdf, ...). L'arborescence du CMS se décompose ainsi :

Répertoire Contenu
bin Scripts PHP, Perl et shell principalement utilisés pour une maintenance manuelle du système et de mises à jour.
cronjobs Scripts PHP permettant d'automatiser les tâches de maintenance périodiques.
design Fichiers relatifs au design du site.
doc Documentation et fichiers consignant les évolutions et mises à jours des versions de eZ Publish.
extension Système de plugins.
kernel Fichiers du noyau, cœur d'eZ Publish.
lib Librairies générales.
settings Réglages, configuration par site/contexe.
share Fichiers de traductions des contenus statiques.
var Fichiers de cache, logs, et surtout fichiers de contenus uploadés.

Fichiers de configuration (settings)

  • Les fichiers de configuration par défaut, d’extension .ini, se trouvent dans le dossier settings.
  • Chaque fichier permet de contrôler le comportement d'une partie spécifique du système.
  • Les fichiers fournis par défaut listent exhaustivement et commentent les options disponibles. Ces fichiers de configuration par défaut ne doivent jamais être modifiés ! Il convient à la place de les surcharger. (et typiquement les placer dans le répertoire settings/override/).
  • Le fichier de configuration principal est le site.ini (le fichier settings/override/site.ini est donc le 1er fichier lu par le navigateur si la bonne pratique précitée est suivie).
  • Structure d'un fichier de configuration :
    • Un fichier de configuration est composé de blocs.
    • Chaque bloc contient un ensemble de réglages :
    • # This line contains a comment.
      [DatabaseSettings]
      Server=localhost
      User=allman
      Password=qwerty
      Socket=disabled
      SQLOutput=enabled
      # This line contains another comment.
      [ExtensionSettings]
      ActiveExtensions[]=ezdhtml

Gestion des sites via les siteaccess

  • Une seule instance d'eZ Publish peut gérer plusieurs sites.
  • Les sites sont gérés par le mécanisme de siteaccess, qui constitue un ensemble de réglages (settings).
  • Les siteaccess permettent d'utiliser des configurations (règles) totalement différentes pour chaque site (propre base de données, design dédié, dossier var spécifique).
  • Les règles des siteaccess doivent être spécifiées dans une surcharge globale du fichier de configuration site.ini (/settings/override/site.ini.append.php).
  • Ces règles contrôlent le groupe de paramètres devant être employé dans un cas particulier.
  • Un site eZ Publish classique se compose de deux siteaccess : une interface publique pour les visiteurs et une interface d'accès restreint pour les administrateurs.

Support multi-langue

  • Chaque langue est versionnée indépendamment.
  • La traduction du contenu statique, des éléments de design (menu,liens fixes, …) et messages d'erreurs est faite via i18n.
  • La gestion des langues se fait au niveau du siteaccess (1 par langue, pouvant partager le même design).

Modules et vues

  • Un module offre une interface web pouvant être utilisée pour interférer avec le système eZ Publish.
  • Certains modules offrent une interface avec des fonctionnalités du noyau, d'autres sont indépendants du noyau.
  • Le système fournit un ensemble de modules couvrant les besoins des tâches journalières les plus courantes.
  • Il est possible d'étendre le système en créant des modules personnalisés pour des besoins spécifiques. Ces modules devront être écrits en PHP (annuaire, agenda....).
  • Un module peut offrir des vues et/ou des fonctions fetch (fonctions d'interrogation).

Design

  • Le design recouvre tout ce qui permet au contenu du site d'être mis en forme et présenté.
  • Un design classique eZ Publish se compose de feuilles de style (CSS), de scripts javascript, de fichiers image (hors images de contenu), de fichiers de polices et de templates.
  • Un siteaccess impose, entre autres choses, le design devant être utilisé.
  • En utilisant différents siteaccess, il est possible de combiner différents contenus et designs.
  • Le code HTML final d'une page peut être une combinaison de fichiers provenant de divers designs.

Mécanisme de fallback

  • Si eZ Publish ne peut trouver un fichier de design spécifique (une feuille de style, un template, une image, etc, ...) dans le design principal, alors il essaie automatiquement de le chercher dans un autre design.
  • La déclaration des designs d'un site se fait dans le fichier site.ini du siteaccess concerné.

Templates

  • Les templates sont une composante fondamentale du design.
  • Un template est un fichier (X)HTML qui décrit la façon dont un type de contenu doit-être visualisé.
  • Tous les fichiers de template possèdent l'extension .tpl.
  • Outre du (X)HTML, un template peut contenir du code eZ Publish.
  • Le code de template eZ Publish permet de requêter le système et de résoudre les problématiques de code usuelles (itérations, conditions, structures de contrôle, conversions, etc, ...).
  • Le code spécifique à eZ Publish doit être placé à l'intérieur d'accolades ( "{" et "}" ).
  • Tout ce qui est compris à l'intérieur d'accolades sera interprété par le parser de template lorsque le template est traité.
  • Tout ce qui est à l'extérieur des accolades sera ignoré et sera envoyé au navigateur sans subir aucun traitement.
  • Le template principal de eZ Publish, nommé pagelayout.tpl, permet entre autres de déterminer la structure graphique du site.
  • Le nom de ce template principal doit être pagelayout.tpl et il doit être placé dans un sous-répertoire nommé templates d’un design.
  • Le template pagelayout.tpl est le template source appelant tous les autres templates.
  • Le système de surcharge de templates permet d'utiliser d'autres templates que ceux par défaut.
  • Exemple de surcharge dans le fichier de configuration override.ini.append.php :
  • # The name of the override.
    [special_folders]
    # The template that should be replace.
    Source=node/view/full.tpl
    # The template that should be used instaed of the one specified as the source.
    MatchFile=special_folder.tpl
    # The directory where the matchfile is located.
    Subdir=templates
    # Condition #1 : activates the override if the object is an instance of the folder class.
    Match[class_identifier]=folder
    # Condition #2 : activates the override if the object being accessed belongs to section number 34.
    Match[section]=34

Extension

  • Une extension peut correspondre à un site et plusieurs extensions peuvent être utilisées par plusieurs sites.
    Exemple: vous pouvez utiliser des extensions regroupant toutes les fonctionnalités identiques pour tous vos sites (export OpenOffice, éditeur wysiwig, vos bibliothèques JQuery, ...), et une extension spécifique à un site en particulier (dans laquelle il sera judicieux de placer votre dossier design/).
  • Elle se compose principalement de fichiers de configuration /settings et de fichiers de mise en forme /design, et éventuellement de modules spécifiques à développer en PHP.

Contrôle d'accès

  • eZ Publish contient un mécanisme de contrôle d'accès permettant de limiter l'accès à certains contenus ou à certaines fonctions.
  • Le système de contrôle d'accès est basé sur les éléments User (Utilisateur), User group (Groupe d'utilisateurs), Policy (Droit) et Role (Rôle).
  • Un User (utilisateur) est défini, sur le système, par un compte utilisateur valide.
  • Un User group (groupe d'utilisateurs) peut-être composé d'utilisateurs et d'autres groupes d'utilisateurs.
  • Un Policy (droit) est une règle autorisant l'accès à du contenu ou à certaines fonctions.
  • Un Role (rôle) est un ensemble nommé de droits.
  • Un rôle peut être assigné à un utilisateur ou à un groupe. Il est possible d'assigner un rôle avec des restrictions supplémentaires (affecter avec limitation).
  • La fonctionnalité permettant de restreindre un rôle est très utile lorsque plusieurs utilisateurs ayant des droits similaires doivent manipuler différentes parties de l'arbre de nœuds de contenu.
  • Plutôt que de créer un rôle pour chaque utilisateur, l'administrateur du site peut créer un rôle générique puis l'assigner avec différentes restrictions aux différents utilisateurs.

Workflows

eZ Publish est livré avec un mécanisme de flux de travail (workflow). Il permet d'effectuer différentes tâches avec ou sans interaction des utilisateurs (par exemple des cronjobs).

Interopérabilité

eZ Publish est développé en PHP et utilise des standard comme MySQL, XML, Ajax, SOAP.

Il est très aisé de développer des procédures en interaction avec d'autres applications externes. Par exemple : extractions des données d'un SI sous Oracle pour implémenter automatiquement les pages d'un site.

La version 5 à venir d'eZ Publish utilisera le framework Symfony 2, et permettra de coder les templates au format TWIG, tout en gardant une compatibilité avec les développements sous les versions précédentes : voir cet article.

Contexte d'utilisation dans mon laboratoire/service

Cas du LIRMM

  • 2 noyaux eZ Publish sont installés dans notre laboratoire :
    • 1 sur le serveur des applications Web utilisateurs (sites internes d'équipe, sites de congrès, ANR...)
    • 1 sur le serveur de notre site institutionnel http://nouveau-site.lirmm.fr
  • Nous utilisons la méthode host;uri, avec authentification ldap (annuaire sécurisé des comptes du laboratoire) pour la partie Intranet.
  • Nous avons développé 2 modules, annu et agenda, pour la recherche dans l'annuaire et la gestion des événements.
  • Nous extrayons les publications de notre site HAL-LIRMM et créons les objets correspondants par cronjobs afin de les afficher sur les pages annuaire et les pages de présentation de nos départements et équipes.
  • Les pages des équipes, les comptes éditeurs et administrateurs de ces pages sont également générées par cronjobs, par extraction des données de notre Système d'Information (sous Oracle 11g).
  • Nous gérons 1 site français et 1 anglais, avec possibilité de traduire les pages dans d'autres langues.
  • Pour la gestion de nos pages annuaire, nous avons créé la classe Lirmm-user à partir de la classe User, dont les attributs sont implémentés par cronjobs également, à partir des données de notre SI, puis la classe Annu-user, qui contient les éléments modifiables par web de chaque page annuaire.
  • Les objets Département et Equipe se décomposent également en objets SI et Web, selon la nature des données affichées sur ces pages.
  • Les administrateurs (accorder des droits d'édition à des groupes) et éditeurs des pages n'ont pas accès au "back office", toutes les mises à jour sont faites en "front office".

Cas de l'Observatoire Midi-Pyrénées

  • Un noyau eZ Publish est utilisé pour l'ensemble des sites web institutionnels.
  • Tous les sites utilisent une extension contenant toutes les fonctionnalités communes, et chaque site utilise en plus, une extension qui lui est spécifique (développements complémentaires et design propre au site).
  • Le service web assure la conception graphique et l'intégration / développement de toutes les interfaces.
  • Les principales fonctionnalités en place dans notre contexte sont :
    • Librairies jQuery (systèmes d'onglets, slideshows, tooltips, menus déroulants, popup (images+iframes), etc, ...)
    • Newsletters
    • Pages profils
    • Multilangues
    • Thésaurus (extension eZ tags)
    • Module de structuration dynamique des pages (extension eZ Flow)
Limitations, difficultés, fonctionnalités importantes non couvertes

La principale difficulté réside dans la compréhension du mécanisme d'affichage et de surcharge (override).

Le language de template est à assimiler, particulièrement la fonction 'fetch' très utilisée dans la déclinaison de l'arborescence du site.

Les notions d'objet, de classe, de noeud, de vue, de cache sont également importantes. Il faut connaître les principes de la programmation Objet.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

eZPublish n'est intégré dans aucune distribution, cependant l'installation est simple et se fait à partir de l'archive sur http://share.ez.no/downloads, après création d'une base de données dédiée (en UTF-8).

Plates-formes

Toutes les plate-formes LAMP (Linux, Apache, MySQL et PHP) et variantes (WAMP, XAMP). Cependant, eZ Publish peut être également installé sur des serveurs Microsoft, Sun Solaris ou Mac OS X.

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

La société eZ system en collaboration avec la communauté de développeurs participent à l'évolution du CMS, comme indiqué ici.

Eléments de pérennité
  • eZ Publish est un CMS professionnel de renommée internationale utilisé par de grandes entreprises du secteur privé et public, et la communauté est active.

  • A noter que de nombreux contributeurs d'eZ Publish participent au développement de Symfony.

Références d'utilisateurs institutionnels

Les utilisateurs institutionnels connus à ce jour :

Quelques exemples de "mini-sites" projets / ANR / services d'observation / enseignement :

Environnement utilisateur
Documentation utilisateur

Documentation officielle

http://doc.ez.no/

Présentation sur transparent

eZ et le système d'information

Bonnes et mauvaises pratiques d'eZ

Divers (astuces, actualités, sécurité)
  • Il est conseillé de placer le minimum de configuration dans la partie settings/siteaccess/, à savoir uniquement site.ini.append.php pour placer l'ensemble au niveau de l'extension extension/settings.
  • L'utilisation des extensions personnalisées facilite les mises à jours du logiciel et la flexibilité du CMS.
  • Les extensions déclarées dans les fichiers site.ini, sont appelées dans l'ordre inverse. Les templates associés sont donc surchargés dans cet ordre.
  • eZ Publish est disponible avec toute une gamme d'extensions permettant de répondre à la majorité des problématiques de gestion de contenu. Son ouverture à d'autres programmations spécifiques en font un outil très complet et très satisfaisant pour un ingénieur en développement. Pour exemple : 1 stagiaire (1ère année École Ingénieur Informatique) ayant des bases en PHP, a été capable de créer ses templates après 1 jour de présentation et 3 jours d'apprentissage.
Contributions
Syndiquer le contenu