Description d'OJS (Open Journal System)

OJS (Open Journal Systems) est un système de publication électronique qui reproduit le processus d'une maison d'édition pour réaliser un ou plusieurs journaux, de la soumission des articles à leur publication. C'est un package logiciel diffusé en licence libre, développé et maintenu dans le cadre d'un projet inter-universitaire canadien : le Public Knowledge Project (PKP).

Ce document, destiné en priorité à la communauté recherche en math, décrit le logiciel libre OJS, PKP qui diffuse ce logiciel, les acteurs de la communauté recherche en math française qui l'utilisent et liste des problèmes et des manques pour les besoins de cette communauté.

Il a été rédigé par Jean-Luc Archimbaud (Mathdoc) d'après ses lectures, ses tests avec des informations et avis donnés par Thierry Bouche, Djalil Chafaï,Philippe Depouilly, Thierry Goudon et Claude Sabbah. La dernière mise à jour a été faire le 13 janvier 2015. Une version PDF est disponible dans HAL qui peut être différente de celle-ci (se référer à la date de publication).

Le plan est le suivant :

Le logiciel

Le logiciel est écrit en PHP et diffusé avec une licence GNU General Public License. L'interface est disponible dans plus d'une vingtaine de langues.

L'installation nécessite un serveur Unix, Windows ou MacOS avec PHP et un logiciel de base de données MySQL ou PostgreSQL.

Chez PKP, un système de gestion de tickets est accessible (il permet de remonter des bugs...), de même que des forums techniques ainsi qu'un fil RSS par version pour suivre la sortie des patchs.

En juin 2014, sur son site, PKP annonce qu'au moins 24 000 journaux (en production mais aussi en test...) utilisent OJS.

Plus d'informations

PKP

Le projet à but non lucratif PKP (Public Knowledge Project) est financé par la bibliothèque de Stanford, des sponsors, des subventions à la recherche et les services d'hébergement de certains journaux et les développements spécifiques que l'équipe assure. Il repose sur une équipe distribuée d'environ 20 personnes (à plein temps ou à temps partiel), en majorité des informaticiens. L'équipe est ancrée principalement à Simon Fraser University Library (Vancouver, Canada) et Stanford University (Californie, USA).
Quatre logiciels sont développés et diffusés par PKP : OJS (Open Journal Systems), OCS (Open Conference System) pour gérer des conférences, OMP (Open Monograph Press) pour publier des livres, OHS (Open Harvester Systems) système d'indexation de recherche.

Plus d'informations

Fonctionnalités

OJS peut être utilisé pour tout ou partie des 2 étapes dans l'édition :

  • Le processus éditorial de plusieurs journaux (soumission des articles, relecture...) jusqu'à la version prête à être mise en ligne (avec éventuellement un autre logiciel)
    • Le directeur de la revue configure les sections, le processus éditorial...
    • La soumission des articles et l'administration se fait en ligne
    • Les personnes intervenantes sont prévenues par messagerie électronique
    • ...
  • La présentation des articles en ligne (fonction d'un CMS)
    • (liste à vérifier)
    • Outils de lecture des articles de divers formats
    • Indexation du contenu
    • Ajout de commentaires possible par les lecteurs
    • Contrôle d'accès aux revues
    • ...

Instance d'OJS

  • Une instance d'OJS est installée sur un serveur.
  • Elle permet de gérer plusieurs journaux-revues.
  • Il y a un administrateur de l'instance (site administrator). Évidemment, l'instance étant sur une machine, il y a aussi un administrateur de cette machine (root).
  • Chaque revue a une équipe éditoriale (personnes avec des rôles particuliers, cf ci-dessous).
  • Une instance utilise une base de données qui regroupe tous les utilisateurs des différents journaux.
  • L'authentification des utilisateurs se fait par login et mot de passe sur les sites que j'ai testés mais il semble y avoir d'autres méthodes comme LDAP.
  • Certains journaux de l'instance peuvent être invisibles (non présentés aux visiteurs).
  • Un journal peut être public (accès en lecture à tous) ou non (accès en lecture après authentification).

Rôles dans un journal

Dans un journal d'une instance, pour les personnes intervenantes, plusieurs rôles sont possibles. Chaque rôle engendre des droits spécifiques. La liste étant limitée, si une fonction n'apparait pas (comme secrétaire de rédaction ou membre du comité de rédaction), il faut faire une équivalence avec les rôles standards de OJS. Ci-dessous la liste des rôles standards :

  • Journal manager (directeur de la revue) : similaire à la fonction d'administrateur système pour le journal (configuration des processus, gestion des utilisateurs...) avec tous les droits de l'editor
  • Editor (rédacteur en chef de la revue) : supervise tous les aspects contenu. On peut aussi inscrire la secrétaire de rédaction avec ce rôle.
  • Section editor (rédacteur en chef d'une section), idem ci-dessus pour une partie du journal : il semblerait que pour fonctionner avec un comité de rédaction, une méthode est d'attribuer ce rôle aux membres du comité.
  • Author (auteur (d'un article))
  • Reviewer (rapporteur)
  • Copy editor (secrétaire de rédaction : correction syntaxique, compréhension...)
  • Layout editor (responsable de la mise en page)
  • Proofreader (correcteur des épreuves : relecteur final)
  • Subscriptions manager (gestionnaire des abonnements, utile si le journal met en place ce mode de diffusion)
  • Reader (lecteur, utile si le journal est en accès restreint)

L'affectation des rôles aux personnes est faite par le directeur de la revue (journal manager).
De plus les editors et section editors peuvent assigner à un utilisateur le rôle de reviewer.

Alertes

Dans le processus d'édition, les personnes qui doivent intervenir peuvent être alertées. Par exemple quand il y a une nouvelle soumission d'article une alerte est envoyée au journal manager (par défaut), à d'autres si on le configure. Ces alertes sont envoyées dans un flux RSS consultable sur le serveur OJS (et auquel l'intervenant peut s'abonner) ou par courrier électronique. Chaque intervenant peut choisir sa méthode pour recevoir les alertes pour chaque événement.

Enregistrement des utilisateurs

Pour chaque journal, le journal administrator peut choisir la méthode pour ajouter des utilisateurs (auteurs...) :

  • Ouvert : un bouton sur la page d'accueil permet aux visiteurs de créer eux-même un compte
  • Fermé : c'est le journal administrator qui crée manuellement les comptes. Dans ce cas on peut indiquer à OJS de générer un mot de passe aléatoire provisoire qui est envoyé à l'tuilisateur. Ce dernier a l'obligation d'en changer lors de son premier login.

Le site administrator peut bloquer un compte : l'utilisateur ne peut plus accéder à l'instance mais son environnement est conservé.
Seuls les editors et section éditors peuvent enregistrer les reviewers.

Processus d'édition et de publication

Il est résumé dans le schéma OJS Editorial and Publishing Process
Le processus est très complet de sorte que chacun peut jouer son rôle. Selon la manière de fonctionner il comporte environ 14 étapes par défaut.

Exemple d'une étape : soumission d'un article :

Pour soumettre un article, un auteur doit être enregistré sur le site, opération effectuée par l'administrateur ou par l'auteur suivant la configuration (cf enregistrement des utilisateurs).
Ensuite l'auteur soumet son article : il accepte un certain nombre de règles déontologiques et télécharge sa soumission.
Il indique : titre, résumé, langue, contributeurs, références et télécharge le fichier de l'article sur le serveur OJS. Il peut ajouter des documents attachés à l'article avec des métadonnées (titre, auteur, mots-clés, description, éditeur, langue...).
A la fin de la soumission, un message d’acquittement est envoyé au soumissionnaire et un autre d'information au Journal manager par défaut, Editor, Section editor... si on le configure.

Quelques pièges et astuces :

  • Lorsqu'on est dans un "round", retrouver l'ensemble du processus éditorial des rounds précédents n'est pas intuitif. Il faut cliquer sur "View regrets ... Previous rounds".

  • Dans le processus éditorial, il y a un ordre à respecter. La recommandation se met en dernier quand tous les rapports d'un reviewer sont entrés. Si elle est mise trop tôt elle bloque certaines actions (la possibilité de "uploader" un rapport...). Une astuce utilisée par certains pour éviter ce type de problème est d'ajouter un message d'alerte en gras dans la page template appropriée comme "Warning! After taking this decision, you will not be able to enter comments, to upload a report file, or to modify the decision. Are you sure you wish to record this decision now?".

Présentation Web

La présentation Web est la même pour la partie processus éditorial et publication.

Le découpage de la page est figé avec un bloc entête en haut, un bloc central, 1 ou 2 colonnes verticales à droite ou à gauche du bloc central, un pied de page ; avec des menus dans les colonnes verticales et sur une barre horizontale. Le journal manager peut modifier les items dans les menus et choisir un thème parmi 14. Il a aussi la possibilité de télécharger une feuille de style personnelle. Les thèmes ne sont pas "responsive" (ne s'adaptent pas automatiquement à la taille de l'écran).

Le document en ligne Customizing OJS développe ce que le journal manager peut changer dans la présentation et comment. Malheureusement, ce document, seule documentation officielle en ligne, est très incomplet et parfois peu didactique.

Recherche :

Le contenu d'un journal peut être recherché en texte intégral sur les formats HTML et PDF. Il peut être aussi recherché par auteur, titre, résumé et par termes de l’index.

Navigation dans le contenu :

Les lecteurs peuvent naviguer dans le journal par numéro, auteur et titre

OJS à Mathrice et Mathdoc (pour la communauté recherche en maths)

Fin 2014, 2 instances d'OJS sont installées à Mathrice qui hébergent au total 7 journaux :

Plus globalement, un état des lieux des revues de mathématiques «à base française» est disponible dans le document de Djalil Chafai pour partager des informations sur les revues académiques de maths en France.

OJS chez PKP

PKP propose un service d'hébergement d'instance OJS avec le support associé.

Avantages d'OJS

Sur le plan informatique :

  • C'est un logiciel open source
  • Il est utilisé à grande échelle, porté par de grandes structures, avec une dynamique en terme de développement
  • Il y a de nombreux plugins
  • Le code PHP est un peu rigide (design pas toujours pertinent, un peu de mélanges : de la présentation dans des endroits de codes où il ne devrait pas) mais propre (plus propre que beaucoup de projets open-source)
  • Il inclut un système de localisation, de nombreuses autres langues sont disponibles, en particulier français canadien avec une ponctuation spécifique
  • La présentation est simple et très lisible. Elle est facilement modifiable par le responsable de journal mais reste limitée (ça ne présente pas toutes les possibilités d'un CMS évolué)

Sur le plan support :

  • Il existe un forum sur lequel on trouve beaucoup d'informations
  • Les réponses aux questions soumises aux responsables du programme via les forums sont rapides

Autres logiciels avec des fonctions de gestion éditoriale (à notre connaissance)

  • Episciences : plate-forme développée par le CCSD qui permet de publier des articles déjà déposés dans des archives ouvertes. Inconvénients : impose que les articles soumis soient déjà dans une archive ouverte, logiciel non livre, non diffusé.
  • Ruche : utilisé pour CEDRAM. Inconvénients : n'a pas autant de possibilités que OJS, utilisation très limitée, ne sera plus maintenu.
  • Une solution développée par MSP : utilisée par l'AMS et la LMS. Inconvénient : c'est un logiciel propriétaire hébergé par MSP.
  • Editorial Manager : logiciel propriétaire. Pas d'utilisation dans la communauté Ens Sup Recherche française à notre connaissance
  • Scholar One : logiciel propriétaire. Pas d'utilisation dans la communauté Ens Sup Recherche française à notre connaissance

Des logiciels sont utilisés pour l'édition électronique dans l'environnement enseignement-recherche mais ne font pas de la gestion éditoriale

  • CEDRAM : utilisé et développé par Mathdoc. Inconvénients : utilisation très limitée. A noter que Ruche + CEDRAM sont une alternative à OJS.
  • Lodel développé par le CLEO et utilisé pour revues.org : le CLEO a décidé récemment de basculer sur OJS pour la partie processus éditorial et garder Lodel pour la mise en ligne.
  • Wordpress avec le plugin EditFlow

Références

Quelques documents issus de la communauté académique française sur OJS

Quelques services OJS en ligne en France

Quelques pointeurs chez PKP

Développements à prévoir pour la communauté Math

Pour prendre en compte les besoins des revues de math, en particulier, l'utilisation de LaTeX, plusieurs développements annexes sont à envisager autour d'OJS pour qu'il réponde mieux aux besoins de la communauté math.

Dans la page MathJournal project Djalil Chafaï liste des développements nécessaires sur OJS pour les revues EJP et ECP. La plupart des fonctionnalités listées seront certainement nécessaires pour d'autres revues de math.

Problèmes relevés (en vrac) par différents utilisateurs d'OJS pour les revues scientifiques de maths

C'est un peu une liste à la Prévert.

Processus - administration

  • Processus d'édition : le parcours par défaut préparé dans OJS est très complet. Il est ainsi beaucoup trop compliqué pour les besoins des revues actuelles et difficilement mémorisable par un directeur de la revue (journal manager) ou rédacteur en chef de la revue (editor). On doit pouvoir simplifier ce processus : à tester.
  • Gestion des utilisateurs : via l'interface OJS on ne peut pas vraiment supprimer les utilisateurs de la base centrale. Les journal managers peuvent faire un "remove" de certains utilisateurs. Ceux-ci disparaissent de leur journal mais il restent enregistrés dans la base centrale d'OJS, éventuellement sans rôle. Pour cette suppression, il semble que :
    • L'administrateur de la machine (root) puisse supprimer un utilisateur en accédant directement dans la base de données, sans passer par OJS.
    • Le journal manager puisse fusionner l'utilisateur qu'il veut supprimer avec un utilisateur 'poubelle'
  • Gestion de plusieurs journaux sur une même instance : cela semble poser quelques problèmes dans la gestion des utilisateurs sur les différents journaux en particulier quand une personne est rédactrice dans plusieurs journaux. Il y a une centralisation de la gestion de tous les utilisateurs d'une même instance (c'est à dire pour plusieurs journaux) dans une seule table qui a des effets de bord.
    Exemple de problème soulevé :
    Si un utilisateur s'inscrit au journal A, il est inscrit dans la base globale, mais seul le directeur de la revue (journal manager) A a les droits dessus, et peut faire des actions à sa place. Mais l'utilisateur n'est pas visible dans le journal B (sauf s'il s'y est inscrit).
    Si un rédacteur en chef (editor) de B veut l'employer comme rapporteur, il essaiera de l'inscrire et un message d'erreur lui dira que l'utilisateur existe... En fait il ne le voit pas car il n'a pas accès à la liste globale des utilisateurs. Le directeur de la revue B, comprenant le problème, peut l'inscrire au journal B (car il peut voir la liste de tous les utilisateurs). Mais il lui sera impossible de faire des actions à sa place (télécharger son rapport, indiquer la recommandation) car il n'a pas les droits. Cela peut poser un problème de ne pas pouvoir se connecter comme auteur, si c'est l'auteur qui est inscrit à A d'abord et à B ensuite. La réponse de PKP à ce problème a été d'inscrire le directeur de la revue B comme administrateur système.
    Peut-être un autre exemple de ce problème relevé par un journal manager :
    Impossible pour ce journal manager de changer l'affiliation de certains membres du comite éditorial. Pour certains pas de problème, pour d'autres OJS indique qu'il n'a pas acceè a leur fiche et qu'il faut être "site administrator".
  • Sécurité : pour un journal l'enregistrement des utilisateurs peut être laissé libre. S'il n'y a pas de captcha ou autre système de ce type des robots peuvent polluer la table des utilisateurs. A noter aussi que lors d'un enregistrement libre le mot de passe est envoyé en clair dans le mail à l'utilisateur. Troisième point : il se peut aussi que le stockage du mot de passe sur l'instance soit en clair.
  • Dans les messages préparés de notification aux auteurs, le champ {$SubmissionReviewUrl} n'est pas remplacé par la valeur adéquate. Ceci est très embêtant car ce n'est pas une information aussi facile à trouver que le nom de l'auteur ou le titre du papier pour corriger à la main.
  • Dans le menu "editor decision" il faudrait ajouter un champ "Quick rejection" et faire appel au message préparé correpondant (Editor decision quick rejection).
  • De manière générale il faudrait un menu plus sympa pour les messages préparés (les 3/4 ne servent pas) et on ne voit pas très bien comment gérer l'appel à ces messages dans les pages de notification aux auteurs/editeurs.
  • Certains journaux voudraient que seuls les éditeurs en chef (cad dans la terminologie OJS les "Editors" et pas les "Section Editors") puissent contacter les auteurs pour notifier les décisions. Il faudrait donc enlever l'icone "notify to the author) de la page des section editors. La question et des éléments de réponse semblent accessible ici: http://pkp.sfu.ca/support/forum/viewtopic.php?f=2&t=4215. Il semble que cette solution est déjà utilisé pour le Journal de l'Ecole Polytechnique.
    Ils voudraient aussi qu'une copie soit adressée aux section editors du papier.
  • Certains journaux voudraient que une fois l'article accepté et prêt à être publié il soit possible de proposer à l'auteur que l'article soit envoyé simulanéement sur Hal et/ou Arxiv et de gérer automatiquement ce depôt.

Présentation

  • Présentation sur les sites OJS : elle est très limitée : un directeur de revue standard ne peut qu'adapter une présentation par défaut. C'est donc très rigide. On constate que tous les sites OJS sur le Web ont le menu de droite avec login etc., les mêmes menus du bandeau.
    Tout est géré par templates mais ce n'est pas accessible aux directeurs de revue (journal managers) : cf https://github.com/pkp/ojs/blob/master/templates/index/journal.tpl. Donc la présentation du site (tous journaux confondus) peut être totalement revue. Ensuite, on peut aller vers du template très "lite" et du CSS très poussé, ce qui permet au journal Manager de choisir des "layouts" qui peuvent vraiment modifier la présentation (à la http://www.csszengarden.com)
  • Si on veut migrer les publications actuelles pour les publier via OJS, il faut étudier comment récupérer les données actuelles sans pertes et les détails des modules de mise en ligne d'OJS.

Formats des articles

  • Formats de textes supportés : sur l'instance Mathrice, les formats de textes autorisés indiqués dans l'interface de saisie sont : OpenOffice, Microsoft Word, RTF, ou WordPerfect. Mais le transfert d'un PDF ou d'un TeX ne provoque pas d'erreur, il est accepté.
    Ce qui est indiqué est simplement un message texte paramétrable.
  • TeX : bien qu'on puisse télécharger un article en TeX, il semble n'y avoir rien de spécifique pour traiter ce type de format.
    Mais les fichiers Tex étant dans un dossier files, on peut imaginer, en dehors d'OJS, une machine à compiler à la demande (génération de pdf, détection des erreurs, etc.) avec récupération sous forme de zip. A partir du moment où c'est du fichier, tout est possible, en parallèle de OJS.
  • Toujours pour TeX il faut étudier le stockage des formules de Maths à la fois en TeX et en MathML.
  • Bibliographie : il faut regarder le traitement des bibliographies avec tous les liens que l'on veut pouvoir mettre.