Modèle de document pour Word v3.0 : nouvelles macros d’automatisation

Nous venons de diffuser sur sourcesup la version 3.0 du modèle de document pour Word  https://sourcesup.cru.fr/frs/?group_id=193.

Le version 3.0 est constituée d’une archive zip qui contient :

  • le modèle revuesorg_fr.dot, qui contient les styles déclarés dans le modèle éditorial de Revues.org distribué avec Lodel (modèle à utiliser par défaut) ;
  • le modèle revuesorg_complet.dot, qui contient un plus grand nombre de styles (résumés dans des langues supplémentaires, index supplémentaires, etc.). L’utilisation de ce modèle de document nécessite la modification du modèle éditorial dans Lodel ;
  • les modèles macros_revuesorg_win.dot et macros_revuesorg_mac.dot. Ces deux modèles contiennent des macros qui permettent d’automatiser certaines corrections de stylage et d’erreurs typographiques (une version pour Windows et une version pour MacOS).
  • documentation_modele_revuesorg_3.0.doc : la documentation d’installation et d’utilisation des macros

Cette version du modèle de document introduit des macros Word qui permettent d’automatiser la correction et le nettoyage des textes. Ces macros permettent de gagner beaucoup de temps dans la préparation des textes. Les macros disponibles à ce jour (20/07/2011) sont les suivantes  :

  • Macros de corrections de stylage
    • Supprimer les mises en forme et les styles de caractères locaux dans le corps de texte
    • Trier les métadonnées
    • Vérifier les paragraphes
    • Vérifier les niveaux de titre
    • Rendre les liens hypertextes actifs
  • Macros de corrections typographiques
    • Rétablir les espaces insécables dans le corps de texte
    • Remplacer les apostrophes verticales par des apostrophes typographiques
    • Supprimer les doubles sauts de paragraphe
    • Supprimer les points à la fin des titres
    • Remplacer les guillemets droits par des guillemets anglais / Remplacer les guillemets droits par des guillemets français
    • Effacer le surlignement
    • Inverser les italiques dans la sélection en cours / Inverser les italiques dans tout le document
  • Macros pour les notes de bas de page
    • Supprimer les mises en forme et les styles de caractères locaux dans les notes de bas de page
    • Supprimer les doubles sauts de paragraphe dans les notes de bas de page
    • Rétablir les espaces insécables dans les notes de bas de page
    • Renumérotation des notes
    • Supprimer les points après les numéros de notes
  • Traitements avancés
    • Traitement par lot
    • Transformer les équations Word en images

Vous trouverez plus de détail sur l’utilisation de ces macros dans la documentation diffusée avec les modèles.

Merci à Jean-Baptiste Bertrand qui a développé ces macros qui font gagner énormément de temps et améliore la qualité des données publiées dans Lodel !

 

Mise à jour du modèle de document pour OpenOffice

Nous avons déposé récemment sur sourcesup une nouvelle version du modèle de document pour Open/Libre Office : https://sourcesup.cru.fr/frs/?group_id=193 (Lodel modele revues.org (OOo) 1.0).
Cette version corrige quelques bugs mineurs, améliore la mise en forme des styles de paragraphe “titre illustration”, “legende illustration”, “credits illustration” et des styles de caractères liés aux auteurs “affiliation”, “courriel”…
Une documentation d’installation est incluse (readme.txt) dans l’archive zip.
Cette documentation est aussi disponible sur le wiki de Lodel : http://www.lodel.org/wiki/index.php/Mod%C3%A8le_de_document_pour_OpenOffice

Un nouveau modèle de document pour OpenOffice

Un nouveau modèle de document permettant d’appliquer les styles pour Lodel avec OpenOffice est maintenant disponible.

Ce modèle remplace l’extension “Lodel stylist” pour OpenOffice qui ne fonctionne pas dans la version 3 d’OpenOffice. Il permet d’appliquer les styles déclarés dans le modèle éditorial distribué avec la version 0.9 de Lodel.

Il est distribué en licence GPL (version 1.0 beta) sur SourceSup : https://sourcesup.cru.fr/frs/?group_id=193 (modele_revuesorg_OO.zip)

L’archive zip contient  2 fichiers :

  • modele_revuesorg_fr.ott : le modèle de document
  • raccourcis_modele_revorg_fr.cfg : le fichier de configuration des raccourcis claviers permettant d’appliquer les styles de documents.

Comment l’utiliser

  • Dans OpenOffice writter, vérifier le niveau de sécurité pour l’execution des macros :  menu Outils > Options > Openoffice.org > Sécurité > Sécurité des macros > choisir “Niveau de sécurité moyen”.
  • Un double clic sur modele_revuesorg_fr.ott ouvre un nouveau document basé sur le modèle (autoriser l’exécution des macros, bien-sûr).
  • Le menu  ”Lodel” disponible dans la barre des menus permet d’appliquer les styles déclarés dans Lodel.
  • Pour attacher les raccourcis claviers permettant d’appliquer les styles : menu Outils > Personnaliser > Clavier > Charger : choisir le fichier “raccourcis_modele_revorg_fr.cfg” et valider. Les raccourcis clavier sont alors actifs. Ils sont affichés dans le menu “Lodel” en  face des styles correspondants.

Restrictions connues

  • Les listes à puces sont interprétées par Servoo comme des listes ordonnées : les listes à puces seront affichées dans Lodel comme des listes numérotées.
  • La touche “alt” n’est disponible dans les raccrourcis clavier d’OpenOffice que depuis la version 3.2. Pour les versions antérieures, la plupart des raccourcis clavier ne sont pas disponibles.
  • Dans OpenOffice, les images ne sont pas nécessairement contenu dans un paragraphe distinct. Il faut veiller à insérer un paragraphe stylé en “Standard” ou en “Annexe” et contenant l’ancre de l’image.
  • Il faut enregistrer le document au format sxw. Ne pas utiliser format le format doc ou odt.

Crédits
Matthieu Heuzé, Jean-François Rivière

Ce modèle est distribué en licence GPL, en version beta. Merci de faire état de vos essais, qu’ils soient fructueux ou non, sur la liste lodel-users (https://listes.cru.fr/sympa/info/lodel-users) ou en commentaire de ce billet.

Personnalisation du modèle

Il est bien-sûr possible d’ajouter d’autres styles correspondant à un autre modèle éditorial.

Le principe de ce modèle de document est le suivant :

  • le modèle de document contient des styles de paragraphes dont les noms sont déclarés dans le modèle éditorial de Lodel ;
  • le modèle contient des macros qui appliquent ces styles (un macro, très simple, par style) ;
  • le modèle contient enfin un menu personnalisé qui permet d’exécuter ces macros.

Les raccourcis clavier permettant d’exécuter les macros ne peuvent être enregistrées dans le modèle. C’est pour cette raison qu’il faut les charger depuis un fichier différent.

Pour ajouter un style pour un autre modèle éditorial au menu Lodel :

  • Ouvrez le modèle de document dans OpenOffice 3.2 (veillez à ouvrir le modèle de document, pas un nouveau document basé sur le modèle).
  • Ajoutez un style dans le modèle de document (dans la fenêtre “Styles et formatage”).
  • Enregistrez une nouvelle macro qui applique ce style : “Outils” > “Macros” > “Enregistrez un macro” puis appliquer le style et cliquez sur “Terminer l’enregistrement” et enregistrez cette macro dans le modèle : modele_revuesorg_fr.ott > Lodel > Module1 en lui donnant si possible un nom explicite.
  • Pour ajouter cette macro au menu Lodel : Outils > Personnaliser > Menus. Choisissez le menu “Lodel” ou un de ses sous-menus. Cliquez sur “Ajouter” et sélectionnez la macro que vous venez de créer puis “Fermer” et Validez.
  • Enregistrez votre modèle. C’est fait.

Si vous souhaitez associer un raccourci clavier à une macro, vous pouvez suivre ce guide très explicite : http://wiki.services.openoffice.org/wiki/FR/Documentation/Writer_Guide/Assignation_raccourcis

Je n’ai pas contre pas réussi à enregistrer les raccourcis clavier avec OpenOffice 3.2 sous Windows (le fichier produit était vide). J’ai pu le faire sans difficulté en utilisant LibreOffice 3.2.

Sortie de la version stable de Lodel 0.9

Lodel 0.9 dans sa version stable vient de sortir. Cette version est prête à être déployée en production.

Elle est disponible en téléchargement sur sourcesup, à l’adresse suivante : https://sourcesup.cru.fr/frs/?group_id=193 .

Les changements suivants ont été apportés depuis la RC4 :

  • correction pour le niveau d’erreur E_NOTICE
  • passage du formulaire d’édition des traductions en AJAX afin de ne pas recharger la page à chaque modification
  • mise à jour de HTMLPurifier vers sa version 4.1.1

Sortie de Lodel 0.9 RC4

La release candidate 4 de Lodel 0.9 est disponible sur sourcesup à cette adresse : https://sourcesup.cru.fr/frs/?group_id=193&release_id=1761.

Cette RC sera la dernière avant la sortie de la version 0.9 stable, prévue courant juin.

Elle apporte principalement les modifications suivantes :

- plusieurs corrections pour respecter le niveau d’erreur E_STRICT

- ajout dans le contexte des informations relatives au site définies lors de la création du site, accessibles dans les templates via la variable tableau LodelScript [#SITEINFOS]

- remodelage des pages de gestion des traductions de l’interface Lodel et des sites, permettant l’affichage et la modification directe des traductions

- ajout d’éléments (titres traduits, styles, icônes des classes, champs des index) sur la page de description du modèle éditorial

- passage intégral du code source en utf-8 (voir http://blog.lodel.org/145)

Lodel et l’UTF-8

Depuis la version 0.8 de Lodel, le logiciel utilise par défaut l’UTF-8 comme format d’encodage des données dans la base de données. Lodel 0.7 était également capable de gérer l’UTF-8 mais d’une manière fort peu élégante, en stockant des données en UTF-8 dans des tables en latin1.

Le code source du logiciel ainsi que les templates de l’interface quant à eux restaient encodés en ISO.

C’est chose corrigée depuis la révision 4995, la prochaine version stable de Lodel (la 0.9, qui sortira très bientôt) sera donc entièrement en UTF-8.

Cette modification sera transparente pour les utilisateurs (bien que celà devrait améliorer légèrement le temps de calcul des pages, ainsi qu’engendrer une baisse de consommation du temps processeur), mais très appréciable pour les développeurs.

Installation de Lodel 0.9 : points pratiques

Tout utilisateur rêve de pouvoir installer un logiciel en étant guidé pas à pas par son développeur : j’ai eu ce privilège au cours d’une formation donnée par la Cléo à des membres de l’EHESS, étape préalable à la migration de leurs sites lodel 0.7 en lodel 0.9 . Voici quelques notes, les explications données sont claires dans le déroulement de l’installation mais il y a toujours des petits bonus à glaner.

SourceSup

Lodel est un logiciel libre disponible sur SourceSup : http://sourcesup.cru.fr/ . Lodel est en bonne position dans les logiciels les plus téléchargés, donc on le trouve facilement à partir de la page d’accueil.

Il est conseillé de créer un compte pour pouvoir rapporter des problèmes (onglet Tickets / Bugs) et formuler des demandes (onglet Tickets / Feature Requests).

Au passage, s’abonner à la liste lodel-users@cru.fr (onglet Listes).

Installation

Il est conseillé d’installer à partir d’une version stable dans sourcesup. On peut aussi télécharger une version de développement (onglet Subversion), il faudra alors ajouter soi-même des liens symboliques sur 3 répertoires :

* mkdir monlodel
* cd monlodel
* svn  co  http://subversion.cru.fr/lodel/branches/version_0_9-bugfixes-branch/ . (j'oublie souvent le .)
* ln  -s  lodeladmin  lodeladmin-0.9
* ln  -s  share  share-0.9
* ln  -s  lodel  lodel-0.9

Passer dans l’interface web pour paramétrer le site global : http://monsite.fr/monlodel/lodeladmin

  • dans les premières étapes, j’ai noté qu’il faut sélectionner (comme dans le type d’installation qui sera faite à l’EHESS, plusieurs labos), l’installation multi-sites. Les droits sur les répertoires CACHE et lodeladmin/CACHE doivent être donnés à l’utilisateur Apache dont le nom dépend du système, en général www-data : chown  www-data  <nom_repertoire>
    Il n’y a qu’un type d’installation, l’installation par défaut. Pour avoir une autre possibilité, il aurait fallu placer au préalable, dans le répertoire lodel/install/plateform, un fichier de configuration adapté du fichier par défaut.
  • base de données : le serveur est localhost en général. La base générale lodel_base devra avoir été créée au préalable par l’administrateur directement sur le serveur. Pour un serveur dédié, il est inutile de mettre un préfixe aux bases (chez un hébergeur privé, le préfixe permet de ne pas avoir de conflit dans le nom des bases).
    Le script d’installation vérifie ensuite les droits et installe ses propres tables dans lodel_base.
  • créer un administrateur général du site lodel.
  • au fil de l’install :
    • le chemin est détecté automatiquement : ne pas le modifier à priori
    • pour les droits : ne pas laisser le droit en écriture pour le groupe et ne laisser aucun droit pour “les autres”
    • les fonctions d’archivages dépendent du serveur : Pclzip livré par défaut fonctionne bien mais est plus lent que zip et unzip. Indiquer en général zip et unzip sans oublier de cocher cette option.
    • l’url est l’endroit où va être accessible lodel, le chemin d’accès à lodeladmin, mais pas aux sites. Pour avoir un accès par l’url dans le navigateur, il faudra créer un lien symbolique vers lodeladmin.
    • l’extension des scripts dépend de la configuration du serveur web : en général choisir php.
    • utiliser plutôt des liens symboliques qui faciliteront les mises à jour des scripts lodel lorsqu’on a beaucoup de sites (une mise à jour dans le répertoire de base plutôt que le répertoire de chaque site).
    • le répertoire d’import est utilisé pour stocker les sauvegardes compressées des données et/ou des modèles éditoriaux. Il est conseillé de le créer sur le serveur avant cette étape. Il doit être accessible en lecture/écriture à l’utilisateur web et se trouver si possible à l’extérieur de la racine du serveur web pour ne pas être directement accessible dans le navigateur.
  • le fichier de configuration : il est prêt dans lodeladmin/CACHE. Il faut le copier à la main et le renommer (mv  lodeladmin/CACHE/lodelconfig-cfg.php  lodelconfig.php) et restreindre les droits (chmod  400  lodelconfig.php)

Ajouter un site

  • utiliser l’interface lodeladmin : http://monsite.fr/monlodel/lodeladmin pour accéder à l’action Gérer les sites . Puis au lien Ajouter un site . Notez qu’en haut à droite est affiché le tableau de bord avec l’utilisateur connecté.
  • dans les paramètres du site : le titre est libre, le nom du site web ne doit comporter que des caractères simples, par exemple monsite. Dans le cas d’une installation multi-sites, ne pas cocher l’option Installer le site web à la racine du site. L’url du site est à préciser si le site du labo n’est pas un sous-site du site global. Par exemple marevue.revues.org (il faut que les modifications aient été faites auparavant au niveau du DNS). Le sous-titre est facultatif.
  • base de données : copier le code de création de la base, passer sous mysql en ligne de commande et coller le code (attention, il y a deux commandes CREATE et GRANT). Quitter mysql.
  • créer le répertoire web pour le site : à la racine de lodel, dans le répertoire monlodel (mkdir  monsite) et donner les droits à l’utilisateur web (chown  www-data  monsite).
  • création de l’arborescence lodel pour le site : cliquer sur le bouton Copie des fichiers (“on sécurisera après…”).
  • importation du modèle éditorial : si on souhaite utiliser un modèle générique pour tous les sites, il faut le copier auparavant dans le répertoire d’import défini ci-dessus.
  • sécurisation : lodel doit pouvoir écrire dans les répertoires CACHE docannexe et lodel/sources (documents convertis) . Et sinon : chmod  555  monsite

Et enfin

  • on peut connecter Lodel à un annuaire LDAP, ce n’est pas fait en natif, à suivre…
  • de nouvelles fonctionnalités peuvent être ajoutées avec des plugins
  • ServOO permet convertir des documents au format DOC, RTF, SXW et de les incorporer dans lodel : les informations sur le serveur servOO peuvent être ajoutées dans la configuration du site ou de manière globale dans le fichier de configuration de lodel lodelconfig.php . Lodel fera appel à l’un ou à l’autre selon leur disponibilité.
$servoourl="http://servoo1.revues.org";
$servoousername="user1_servoo";
$servoopasswd="abcdef";

S’il y a plusieurs servoo, on recopie ce bloc en incrémentant le nom des variables :

$servoourl2="http://servoo2.revues.org";
$servoousername2="user2_servoo";
$servoopasswd2="ab45ef";

L’installation de Servoo est compliquée : il utiliser Xfvb qui est un simulateur d’interface graphique et installer vnc. La machine qui héberge doit avoir de bonnes capacités mémoire et un processeur performant.
Pas de mise à jour à faire, simplement des redémarrages fréquents.

Une architecture de travail idéale : l’exemple de revues.org

Nous disposons de trois espaces, sur trois serveurs différents. Les versions (maquettes et lodel) sont gérées sous SVN :

  • espace de développement DEV (fichiers svn de type branche) : modifications principalement sur les maquettes (fichiers css et php des templates)
  • espace de travail EDT (fichiers svn de type trunk) : espace accessible aux revues avant la mise en production (protection par fichier htaccess)
  • espace de production PROD (fichiers svn de type tags) : modification des contenus par les revues.

Des miroirs sont en place ainsi que des backups pendant la journée et des sauvegardes sur bande pendant la nuit.

Sortie de Lodel 0.9 RC3

Et voici très certainement la dernière release candidate avant la sortie finale de la 0.9.

Cette RC corrige des petites erreurs concernant le niveau d’erreur (principalement E_NOTICE), et principalement les bugs suivants :

  • bug du parser LodelScript n’incluant plus un fichier de déclaration de filtre sur les résultats SQL d’une LOOP.
  • la langue d’un bloc LodelScript ne correspondant plus à la langue de navigation dans le site
  • bug dans le controller, qui créait une boucle de redirection infinie lorsqu’on appellait, côté site, une entité n’ayant pas de template associé et se situant à la racine du site

Vous pouvez télécharger cette release candidate à l’adresse https://sourcesup.cru.fr/frs/?group_id=193.

Procédure de migration de Lodel 0.8 vers Lodel 0.9

La migration de Lodel 0.8 vers Lodel 0.9 est moins compliquée que de la 0.7 vers la 0.8.

Seuls quelques modifications dans la base de données sont à effectuer, ainsi que l’ajout de deux paramètres dans le lodelconfig.php.

Également, il vous faudra ajuster vos fichiers de configurations (lodelconfig.php ET siteconfig.php) en suivant les fichiers de configuration de la distribution (respectivement /lodel-0.9/install/plateform/lodelconfig-default.php et lodel-0.9/src/siteconfig.php (ou siteconfigroot.php si vous avez installé Lodel en mode mono-site)).

Voici la marche à suivre pour la base de données générale de Lodel :

  • dans la table urlstack, ajouter un champ ‘site’ : ALTER TABLE urlstack ADD `site` varchar(64) CHARACTER SET utf8 collate utf8_bin NOT NULL;
  • ajouter la table de la messagerie interne : CREATE TABLE `internal_messaging` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `idparent` int(10) unsigned NOT NULL,
    `iduser` varchar(255) default NULL,
    `recipient` longtext NOT NULL,
    `recipients` longtext NOT NULL,
    `subject` varchar(255) NOT NULL,
    `body` longtext NOT NULL,
    `incom_date` datetime NOT NULL,
    `cond` tinyint(1) NOT NULL default ’0′,
    `status` tinyint(4) NOT NULL default ’0′,
    `upd` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
    PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8
  • ajout d’un champ ‘userrights’ dans la table session : ALTER TABLE session ADD `userrights` tinyint(3) unsigned NOT NULL default ’0′
  • ajout de la table ‘mainplugins’ : CREATE TABLE `mainplugins` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `name` varchar(64) character set utf8 collate utf8_bin NOT NULL,
    `upd` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
    `status` tinyint(4) NOT NULL default ’0′,
    `trigger_preedit` tinyint(1) NOT NULL default ’0′,
    `trigger_postedit` tinyint(1) NOT NULL default ’0′,
    `trigger_prelogin` tinyint(1) NOT NULL default ’0′,
    `trigger_postlogin` tinyint(1) NOT NULL default ’0′,
    `trigger_preauth` tinyint(1) NOT NULL default ’0′,
    `trigger_postauth` tinyint(1) NOT NULL default ’0′,
    `trigger_preview` tinyint(1) NOT NULL default ’0′,
    `trigger_postview` tinyint(1) NOT NULL default ’0′,
    `config` longtext NOT NULL,
    `hooktype` varchar(5) NOT NULL,
    `title` text NOT NULL,
    `description` longtext NOT NULL,
    PRIMARY KEY  (`id`),
    UNIQUE KEY `name` (`name`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8

À partir de là, il faut, pour chaque site :

  • ajouter le champ ‘ip’ dans la table restricted_users : ALTER TABLE restricted_users ADD `ip` longtext NOT NULL;
  • ajouter la table des plugins : CREATE TABLE plugins (
    `id` int(10) unsigned NOT NULL default ‘0′,
    `name` varchar(64) character set utf8 collate utf8_bin NOT NULL,
    `upd` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
    `status` tinyint(4) NOT NULL default ‘0′,
    `config` longtext NOT NULL,
    PRIMARY KEY  (`id`),
    UNIQUE KEY `name` (`name`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Il suffit maintenant d’ajouter, dans le lodelconfig.php, les deux paramètres suivants :
$cfg['dbDriver']=’mysql’; // mettre mysqli si votre installation vous le permet
$cfg['$sqlCacheTime']=3600*24; // temps de cache des requêtes SQL, mettre à 0 pour désactiver

Voilà, votre installation est prête, vous pouvez maintenant télécharger Lodel 0.9, décompresser l’archive, et remplacer les répertoires lodel-0.8, lodeladmin-0.8 et share-0.8 par leurs équivalents 0.9.

Sortie de Lodel 0.9 RC2

La seconde release candidate est maintenant disponible sur sourcesup à cette adresse : https://sourcesup.cru.fr/frs/?group_id=193 .

Quelques bugs mineurs ont été corrigés depuis la RC1, principalement :

- diverses corrections pour ne pas déclencher d’erreurs E_NOTICE

- débuggage du changement de langue d’un utilisateur de l’accès restreint

- l’idparent n’était plus récupéré lors de l’édition d’une entité : l’action de déplacement d’une entité ne fonctionnait donc plus

- correction de la macro “PRELUDE” de la maquette du modèle éditorial Revues.org

- correction d’un bug à l’import XML d’un modèle éditorial : certains identifiants n’étaient plus uniques

- ajout du filtre lin_array, version LodelScript de la fonction PHP in_array (http://php.net/in_array)

- ajout de la variable de configuration ‘searchEngine’ indiquant si le moteur de recherche interne doit indexer les entités dont le modèle éditorial a été prévu pour (par défaut désactivé)

- correction d’un bug quant à la gestion des champs d’une classe et des masques

- correction du javascript permettant de déployer les entités côté interface

Attention, à partir de cette release, Lodel n’acceptera plus les bases de données ayant un encodage différent de l’utf8, et s’arrêtera instantanément s’il rencontre une base de données dans un autre encodage.

Également, le parser LodelScript n’accepte plus maintenant que des attributs (dans les blocs de conditions ou les boucles) sous la forme attr=”value” (les simples quotes ne sont plus reconnues et leur utilisation provoquera des erreurs).

Next Page »