odt2spip : création d’articles à partir de fichiers OpenOffice Writer

Ce plugin permet de générer un article SPIP à partir du téléchargement d’un fichier au format .ODT (OpenOffice ou LibreOffice Writer). Il gère la majorité des raccourcis typographiques, détecte les différents niveaux de titre et fait l’intégration des images automatiquement.

Voir aussi la documentation de la version 3
odt2spip v3+ : création d’articles à partir de fichiers textes

Important :
La transformation des fichiers ODT impose que l’extension XSL de PHP soit active sur le serveur web

Installation

  • téléchargez le zip du plugin correspondant à votre version de SPIP
  • pour l’installation et l’activation, suivez la procédure standard : cf la documentation officielle

Utilisation

Rien que de très simple : une fois le plugin activé, dans la page de gestion d’une rubrique vous trouverez une boite de dialogue qui permet de choisir le fichier à télécharger depuis votre ordinateur : « Créer un article à partir d’un fichier ODT ».

De la même manière, si vous souhaitez remplacer le contenu d’un article existant par celui d’un fichier odt, dans les pages des articles vous trouverez la boite de dialogue « Remplacer l’article par le contenu d’un fichier ODT ».

Une fois validé l’article est automatiquement créé avec le statut « proposé à la publication », si nécessaire le fichier ODT original est attaché comme document à l’article et le plugin vous bascule sur la page de cet article.

La transformation opérée par le plugin

Ce plugin ne fait qu’une transformation du contenu du fichier en code SPIP : il n’assure aucun miracle si votre fichier initial est construit de façon non-conforme aux règles de l’utilisation d’un traitement de texte et ne fera rien que vous ne puissiez reproduire avec les raccourcis typographiques de SPIP...

Un exemple de page générée à partir d’un fichier « type » : http://tice.espe.univ-amu.fr/demo/s...

Plus de précisions :

  • il est nécessaire d’avoir utilisé les styles pour définir les titres dans le fichier OpenOffice si vous voulez que le plugin les détecte. La conversion se fait selon les règles suivante (que les puristes passent leur chemin, il n’y a ici aucun respect des aspects sémantiques habituellement liés à l’utilisation des raccourcis typographiques !) :

    • si il existe au moins un paragraphe avec le style Titre, son contenu est utilisé pour générer le titre de l’article. Sinon c’est le Titre de niveau le plus important qui est utilisé : Titre 1 > Titre 2 > Titre 3... .
    • Le premier niveau de Titres est transformé en intertitres SPIP {{{Titre niveau 1 intertitre}}}(si Titre 1 n’existe pas, Titre 2 est utilisé à sa place, Titre 3 à la place de Titre 2, et ainsi de suite)
    • le deuxième niveau est mis en gras et séparé du restant par des sauts de lignes {{Titre niveau 2 en gras}}
    • tous les autres niveaux de titre sont passés en italique et séparés par des sauts de ligne {Titres de niveau 3, 4, 5... en italique}
  • si d’aventure vous aviez décidé d’utiliser le plugin Enluminure typographique ou le plugin Intertitres hiérarchisés qui définissent et utilisent des niveaux de titres supplémentaires (vade retro satanas !), odt2spip détecte leur présence et, automatiquement, utilise les raccourcis « enrichis » tels que {2{titre niveau deux}2} ou {4{titre niveau quatre}4} (ces raccourcis sont interprétés par ces 2 plugins).
  • Le plugin récupère les images intégrées dans le fichier d’origine à condition qu’elles soient au format jpg ou png ou gif (n’espérez rien si vous avez des fichier BMP ou TIFF intégrés !), les retaille pour approximer du mieux possible la taille qu’elles avaient dans le texte, les intègre comme documents SPIP et les place avec un raccourci de la forme <imgXXX|left> ou <imgXXX|right> ou <imgXXX|center> en fonction de la position à laquelle se trouvait l’image dans le texte d’origine.
    Attention ! pour que cette fonctionnalité soit opérationnelle, il faut que les images aient été intégrées dans le texte en utilisant les fonctions d’insertion d’image (menu « Insertion » > « Image » > « A partir d’un fichier... ») et non pas via un copié/collé du contenu de l’image dans le texte (qui génère un bitmap non récupérable).
  • Les formules mathématiques (rédigées à l’aide de l’éditeur d’équation natif d’OOo Writer ou des outils complémentaires tels l’excellent Cmath) sont en principe complètement gérées : le plugin génère le code LateX et le place dans une balise math : <math>$\frac{\sqrt{2x+9}}{4y-6}=\frac{\alpha 3}{\beta 2}$</math>
  • Les notes de bas de page sont gérées sans problèmes ni restrictions.
  • Pour les tableaux, pas de problème tant que vous n’essayez pas de faire des tableaux imbriqués (c’est à dire un tableau dans une cellule de tableau) : les fusions de cellules horizontales et verticales sont gérées en principe correctement.
  • Les listes à puce et numérotées, imbriquées ou non, sont en principe correctement gérées tant qu’elles ne sont pas interrompues par d’autres éléments (donc pas de reprise de numérotation d’une liste à la suivante).

Eléments non-gérés ou supprimés

  • Pour les tableaux et les listes le plugin ne gère pas les contenus ayant un style de Titre.
  • Les fioritures de style de texte sont limitées à celles autorisées par les raccourcis typographiques : gras et italique donc pas de texte de couleur ni avec des fonds colorés (beurk !), pas de variations de police ni de taille de texte (ce qui évitera que les rédacteurs pourrissent la charte graphique du site !)
  • Les en-têtes, pieds de page, index ou table des matières sont purement et simplement supprimés.
  • Les dessins (flêches, bulles et autres formes crées avec l’outil de dessin d’OOo Writer) ne sont pas (encore ?) supportés.

Utilisation de fichiers Word :

Pour passer d’un fichier Word (format .doc ou .docx) à un fichier odt utilisable par ce plugin, il est conseillé de faire la conversion (« enregistrer sous... » au format ODT) dans LibreOffice (ou OpenOffice) et non pas dans Word (vous avez déja vu un logiciel Microsoft respecter correctement des spécifications de format standard ???)

TO DO

  • Comme d’habitude, piètre graphiste que je suis, si quelqu’un avait le courage de faire un logo moins crasseux, il est le bienvenu ! Merci popojcb !
  • Ajouter la gestion des dessins SVG intégrés dans le fichier texte (avec une version jpg obtenue par conversion automatique pour les navigateurs qui supportent pas svg..)
  • Ajouter la gestion des équations mathématiques qui sont en MathML dans le fichier texte (si vous connaissez un convertisseur MathML -> LaTeX écrit en PHP et open-source, merci de me prévenir !) Merci Amaury Adon pour m’avoir trouvé la référence de la librairie XSLT « MathML 2.0 to LaTeX »
  • Ajouter une interface de configuration pour rendre paramétrable les conversion « imposées » pour les niveaux de titre...

Notes techniques

Le moteur de transformation du fichier odt est basé sur une feuille de style XSLT (/odt2spip/inc/odt2spip.xsl) qui opère sur le fichier content.xml extrait du fichier odt envoyé et dézippé dans un répertoire temporaire /tmp/odt2spip/XXX où XXX représente l’id_auteur en cours . Cette transformation permet de produire le titre et le texte de l’article. Les images sont également extraites du fichier dézippé et intégrées comme documents attachés à cet article (après un éventuel redimensionnement). Le répertoire temporaire de l’auteur (/tmp/odt2_spip/XXX) est effacé à la fin de l’opération.

Si vous souhaitez participer au développement de ce plugin ou faire des modifications du convertisseur XSLT, le répertoire /tests de ce plugin comprend le fichier ODT « type » ainsi que le fichier xml correspondant pour réaliser vos tests.

Si vous êtes sur un SPIP mutualisé, il se peut que vous ayez des problèmes de chemins vers les fichiers lors de la transformation xslt : voir ce fil de discussion pour une éventuelle solution (pour PHP 5) problème réglé avec la version [0.14].

Versions

[version 0.11] support des formules mathématiques

[version 0.12] choix du mode d’intégration des images (img / doc)

[version 0.13] choix de la langue de publication de l’article généré

[version 0.14] compatibilité avec la mutualisation du noyau SPIP 2.0

[version 0.15] compatibilité avec la barre typo V3 (cf #forum435614) et correction de l’incompatibilité des fonctions de révision du plugin snippets avec la version 2.1 de SPIP (cf #forum434725)

[version 2.0] compatibilité SPIP 3.0

[version 2.1] permettre la mise à jour d’un article à partir d’un fichier odt (cf #forum474504)

Ce plugin existe en 2 version :

  • La version « historique » (0.15.3, fichier odt2spip_19_20_21.zip) assure un maximum de compatibilité PHP / SPIP : php5 + spip 2.* , php5 + spip 1.9.2*, php4 + spip 2.*, php4 + spip 1.9.2*.
  • la version « actuelle » : (2.1.*, fichier odt2spip_30.zip) exclusivement PHP 5 + SPIP 3.*

Mille mercis à popojcb pour le logo, à mmmxvvv et D. Bard pour les fichiers de langue.

Librairie XSLT utilisée pour la conversion des formules MathML d’OOo vers LateX : MathML 2.0 to LaTeX de Vasil Yaroshevich http://www.raleigh.ru/MathML/mmltex...

Pour ce qui est du traitement des sauts de lignes/sauts de paragraphes, merci de lire http://contrib.spip.net/odt2spip-cr... avant de poster une réclamation ! : merci à dreline pour avoir réglé ce problème !

Discussion

69 discussions

  • 1
    Bailly Eric

    Re bonjour

    merci beaucoup pour votre réponse rapide, je réitère mes félicitations pour votre plugin qui est extraordinaire et va facilité l’écriture de mes articles.

    Un bémol quand même, on ne peut pas mettre les photos ou images dans le portfolio.

    mais ce n’est pas bien important.

    Bonne soirée

    Eric

    • Un bémol quand même, on ne peut pas mettre les photos ou images dans le portfolio

      mais si ! En choisissant l’option « Images attachées en mode : » document les images devraient se retrouver dans le port-folio (cela dépend encore de leur taille : elles en doivent pas êtres trop petites)

    Répondre à ce message

  • 1
    Bailly Eric

    Bonjour
    Bravo pour votre travail, ce plugin pourrait aider beaucoup de gens comme moi.

    Je travaille à comprendre le fonctionnement pour avoir un article qui ressemble le plus prés possible a mon document OoO.

    Mais voilà je galére un peu sur la mise en page, ici le lien vers mon premier essai http://eric.bailly2.free.fr/spip.php?article26

    l’organisation du texte est pas trop mal mais j’ai encore du travail pour comprendre tout cela, ce qui m’inquiète un peu c’est les images qui ne sont pas incorporé (le lien dans mon fichier ODT est un lien web)

    Si je change le lien web par le lien sur le fichier
    lien web = http://sumobonsai.free.fr/images/longpre3000.jpg
    lien interne= file :///home/ericou2771/Longpré/Site/images/cloche1.jpg

    j’ai le message d’erreur suivant :}

    Warning : getimagesize() [function.getimagesize] : Read error ! in /mnt/144/sda/8/4/eric.bailly2/plugins/auto/odt2spip_v0.1/action/odt2spip_importe.php on line 261

    Warning : Cannot modify header information - headers already sent by (output started at /mnt/144/sda/8/4/eric.bailly2/plugins/auto/odt2spip_v0.1/action/odt2spip_importe.php:261) in /mnt/144/sda/8/4/eric.bailly2/ecrire/inc/headers.php on line 145
    vérifier les droits d’écriture
    Le système a rencontré une erreur lors de l’écriture du fichier /mnt/144/sda/8/4/eric.bailly2/tmp_uploadTmbMwr/.. Veuillez, en tant qu’administrateur du site, vérifier les droits d’écriture sur le répertoire /mnt/144/sda/8/4/eric.bailly2/tmp_uploadTmbMwr.

    si vous pouviez m’expliquer parce que là j’ai un souci : et je crois que tout cela vient de mes images.

    merci beaucoup
    Eric Bailly

    • ce qui m’inquiète un peu c’est les images qui ne sont pas incorporé (le lien dans mon fichier ODT est un lien web)
      [...]
      Si je change le lien web par le lien sur le fichier
      lien web = http://sumobonsai.free.fr/images/lo...
      lien interne= file :///home/ericou2771/Longpré/Site/images/cloche1.jpg
      j ’ai le message d’erreur suivant :
      Warning : getimagesize() [function.getimagesize] : Read error ! in /mnt/144/sda/8/4/eric.bailly2/plugins/auto/odt2spip_v0.1/action/odt2sp ip_importe.php on line 261

      non, non, non ! odt2spip fonctionne pour les images de la façon suivante : il dézippe le fichier odt, récupère les fichiers images dans le répertoire /pictures généré par le dézippage, les transfère dans le /IMG/jpg (ou /gif ou /png) pour ensuite les intégrer dans la table des documents de SPIP puis les appeler dans le texte par <imgXXX>.
      Du coup, (et c’est signalé dans la doc peut être un peu trop rapidement), pas question d’utiliser des fichiers externes ou des images collées directement dans le texte. Il faut faire l’insertion des images dans le texte en utilisant la commande « Insérer » du traitement de texte afin que celle-ci soit présente dans le répertoire du zip/odt.

    Répondre à ce message

  • 3

    Bonjour,
    en somme très content avec ce plugin (sous spip 2.0.10, plugin odt2spip, snippets et XSL actif), s’il arrive à bien rendre un tableau (chapeau), il rend des parragraphes en bloc au lieu de passer à la ligne, les styles de caractères n’y sont pas non plus, ni l’italique, ni le gras.

    Comment ça se fait ? - voir ici

    -  le fichier odt est attaché qui a servi pour le test.

    Merci d’avance pour l’aide
    Martin

    • je me réponds à moi-même après avoir trouvé un post similaire dans les réponses et reregardé le fichier test.
      Si je comprends bien il n’y a que la transformation manuelle (gras, italique) qui est prise en compte, pas un style de caractère dans ODT qui demande la même chose.
      Pour les paragraphes il n’y a rien à faire non plus.
      Ou cette piste de \n à poursuivre, mais étant novice en la matière de programmation, il faudrait pour l’instant maintenir deux fichiers séparés d’ODT - un correctement stylé, l’autre préparé pour la publication sous spip.

      bonne journée
      Martin

    • Manifestement ce fichier sort « brut de décoffrage » d’un logiciel de reconnaissance caractères à partir d’un scan du livre original... Dans ce contexte il ne faut quand même pas espérer de miracles :

      • la mise en page mérite un minimum de retouches si on veut arriver à quelque chose de « correct »
      • quoiqu’il arrive on reste dans limites intrinsèques de mises en forme de SPIP telle que les histoires de sauts de paragraphes/lignes, le nombre de niveaux de titres limité ect... (cf le paragraphe « La transformation opérée par le plugin » ci-dessus).

      A titre de test, j’ai légèrement retouché la mise en forme du fichier original et cela donne un résultat nettement plus conforme à la version papier : voir http://tice.aix-mrs.iufm.fr/demo/spip/spip.php?article388 (le fichier retouché est bien sûr en doc attaché)

    • Bonsoir et merci pour la réponse rapide
      le texte sortait effectivement d’un scan très mauvais, seulement la fin (laissée comme telle, car pas essentielle pour le teste) donne un légère idée de ce qui est l’ensemble.
      Par contre au nettoyage, OO a planté plusieurs fois et je suis passé par le stylage de word, pour une fois plus fiable. En revenant sur OO, bien vu que ça clochait, mais le premier résultat était meilleur que l’article finalement mise en ligne après avoir appliqué titre 1 et 2 dans OO. (ne sais pas pourquoi)

      Ton fichier odt confirme bien mes craintes, qu’il faille une deuxième version odt, préparée pour spip (lignes vides pour les espaces entre paragraphes et
      pour provoquer un retour chariot simple) De même il faudrait des balises pour l’italique et le gras.

      Car dans la mise en page odt on demande aux étudiants d’enlever tous les paragraphes vide et faire une feuille de style.

      A part ça, ton plugin est une grande avancée au copié-collé prôné par mes collègues.

      Merci encore et bonne soirée
      Martin

    Répondre à ce message

  • 10

    Bonjour,
    j’ai un pb avec le plugin odt2spip et les images : dès que j’insère une image jpg dans un document odt, le plugin ne fonctionne plus et j’ai une page blanche qui s’affiche. Quand je clique sur le lien pour « forcer » l’affichage, j’ai le message suivant : « Erreur : le fichier téléchargé n’a pu être récupéré ». j’utilise spip 2.0.9 et php 5, et les dernières versions téléchargeables de odt2spip et snippets.
    J’ai beau cherché je ne trouve pas le pb. Quelqu’un peut-il m’aider ?
    Merci d’avance

    • l’image est elle insérée comme fichier (Menu « Insertion » >> « Image » >> « A partir d’un fichier... ») ce qui est la « bonne » méthode ou a t’elle été mise par un copié/collé depuis un logiciel de retouche d’image (ce qui est la « mauvaise » méthode puisque le fichier inséré n’est pas au format jpg...

      Par ailleurs l’erreur que tu obtient est caractéristique d’un problème de droit d’écriture d’apache dans les sous-répertoires de /temp... Pour mémoire ce plugin crée un sous-répertoire /temp/odt2spip/XX (ou XX correspond à l’id_auteur de l’utilisateur en cours) dans lequel il dézippe le fichier odt et ses images. Si le serveur apache + PHP est configuré de façon un peu trop restrictive (typiquement un safe_mode_gid à on dans le php.ini) le serveur ne peut alors écrire dans le sous-répertoire pour y placer le fichier odt téléchargé ce qui génère cette erreur => voit avec ton administrateur de serveur pour modifier la configuration...

    • Bonjour et merci pour ta reponse.
      L’image est bien insérée comme fichier (Menu « Insertion » >> « Image » >> « A partir d’un fichier... ») et je viens de voir avec mon administrateur qui m’a confirmé que le safe-mode du serveur spip est à off. Donc cela ne semble pas venir de cela. Pour ce qui est des droits dans le répertoire /tmp/odt2spip ils sont rwxrwxrwx,donc cela ne viendrait pas de là non plus.
      Si t’as d’autres idées, je suis preneuse car je n’ai toujours pas réussi à trouver le pb.
      Je me pose la question : peut-être que ca vient de la dernière version de odt2spip sur laquelle on peut préciser « Images attachées en mode : images ou documents » ??? J’ai testé les 2 mais sans succès.
      L’ancienne version de odt2spip est-elle compatible spip2.0.9 ? si oui où peut-on la télécharger pour tester ?
      Merci d’avance

    • mon administrateur qui m’a confirmé que le safe-mode du serveur spip est à off.

      il ne s’agit pas du paramètre safe_mode mais de safe_mode_gid qui (si il est a « on ») empêche apache d’écrire des fichiers dans les répertoires qu’il a créé.

      Pour ce qui est des droits dans le répertoire /tmp/odt2spip ils sont rwxrwxrwx, donc cela ne viendrait pas de là non plus

      le répertoire /tmp/odt2spip est OK (il autorise la création du sous-répertoire /XX correspondant à ton id_auteur) mais cela ne signifie pas que l’écriture sera possible dans le sous-répertoire créé si safe_mode_gid est à on...

      Si j’insiste sur ce point c’est que d’après ton adresse mail tu semble être hébergée sur un serveur universitaire et que ceux-ci sont en général configuré d’après les « conseils » de RENATER qui donne cette option (peu judicieuse amha !). Ayant moi aussi été hébergé avec ce type de config j’ai eu exactement le même genre de problèmes !

      A titre de vérification tu peux essayer ceci :

      • dans le fichier /odt2spip/action/odt2spip_importe.php modifier la ligne 24 pour avoir
        //    $rep_dezip = $base_dezip.$id_auteur.'/';
            $rep_dezip = $base_dezip.'1'.'/';
      • créer un sous-dossier /tmp/odt2spip/1 et le passer en écriture pour tous (777)

      Si tu n’obtient pas la même erreur que précédemment c’est que le problème est exactement lié à cette option de config de ton serveur...

    • Grand merci pour ta reponse.
      J’ai fait le test avec le répertoire « 1 » et maintenant j’ai l’erreur « Erreur lors de la transformation XSLT du fichier ODT » ????
      As-tu une idée de ce que cela veut dire ???
      Merci d’avance

    • à priori (vu ta config) il doit s’agir d’un problème lié à l’écriture des fichiers générés lors du dézippage du fichier odt envoyé.
      Pour vérification, tu peux aller regarder quels sont les fichiers/répertoires présents dans /tmp/odt2spip/1 lorsque tu obtiens l’erreur : en principe tu devrais trouver dedans une série de répertoires (Configurations2, META-INF, Pictures, Thumbnails...) et de fichiers (content.xml, layout-cache, meta.xml, mimetype, settings.xml, styles.xml) en plus du fichier odt téléchargé. Si il s’agit d’un problème de droits d’écriture lié au safe_mode_gid il devrait manquer (au moins !) le fichier content.xml (ou encore il pourrait être vide ?).
      Bref, la seule chose raisonnable à faire dans ton cas c’est de convaincre ton admin de serveur que cette directive safe_mode_gid à on c’est du grand n’importe quoi, que ça n’apporte pas grand chose au niveau de la sécurité du serveur et que tu ne peux pas faire tourner décemment un SPIP sur un serveur ayant cette configuration (tu auras d’autres problèmes à cause de cette config, en particulier avec les images et documents attachés...)

    • j’ai rien dans le répertoire « 1 » il est vide ??? mais il m’a crée un répertoire « 21 » où à priori y’a tout ??
      Sinon j’ai vu avec l’admin le safe_mode est à off ....

    • je viens de voir que c’est le même pb qui avait été signalé à l’adresse suivante et qui n’avait pas de solution proposée :
      http://www.mail-archive.com/spip-zone@rezo.net/msg12419.html
      Merci d’avance

    • encore une fois, il semblerait que ce n’est pas safe_mode mais safe_mode_gid...

    • si tu as la même erreur que dans le message que tu signale alors les choses sont complètement différentes puisqu’il ne s’agit plus d’une erreur liée au plugin mais à un fichier odt non valide !
      Dans ce cas, même réponse qu’au message en question : modifie ton fichier afin qu’il : ne génère plus d’erreur lorsqu’il est parsé par XSLT...

      Alternativement je trouve très peu pratique de devoir deviner les causes du problème sans pouvoir faire de tests par moi-même : je pourrais peut être aller plus loin dans le débogage si tu m’envoie le fichier en question + un login + pass admin restreint dans ton SPIP + accès FTP en écriture sur le dossier du SPIP.... (cy_altern *chez* yahoo.fr)

    • Bonjour,
      je t’ai envoyé les acces temporaires par mail hier, les as-tu bien reçu ?
      Sinon as-tu une idée d’où peut provenir le pb ?
      PS : les 2 safe mode sont bien à off.
      Merci d’avance

    Répondre à ce message

  • 7

    Bonjour,
    Lors du téléchargement du document open office j’ai :

    Les fonctions xslt ne sont pas operationnelles dans apache : demandez l’activation des extensions XSL à votre administrateur de serveur

    Pourtant quand je fais un phpinfo()
    J’ai bien :

    xsl

    XSL enabled

    libxslt Version 1.1.22

    libxslt compiled against libxml Version 2.6.30

    EXSLT enabled

    libexslt Version 1.1.22

    Je ne comprends pas ou le bat blesse ?
    Merci

    • C’est une erreur qui est obligatoirement liée à la config de ton serveur (et qui à déja été résolue en principe...) : du coup ça serait bien que j’ai un compte pour accéder en admin à ton SPIP + un compte FTP avec droit d’écriture sur le dossier du plugin pour déboguer autrement qu’à l’aveuglette...

      Si tu es intéressé, envoie tout ça sur le mail suivant : cy_altern chez yahoo.fr

    • Merci, le problème est résolu partiellement en reinstallant le plugin.
      Partiellement parce qu’il fonctionne correctement sur une installation mono site de spip.

      Mais sur un spip mutualisé j’ai :

      Warning : DOMDocument::load() [function.DOMDocument-load] : I/O warning : failed to load external entity « /home/pabmulti/www/sites/wiki.ticsimpro.org/tmp/odt2spip/1/content.xml » in /home/pabmulti/www/plugins/odt2spip/action/odt2spip_importe.php on line 97
      Erreur lors de la transformation XSLT du fichier ODT

    • J’ai résolu le problème en décommentant la ligne 54 :

      $xml_entre = $rep_dezip.’content.xml’ ;

      Merci pour ce plugin.

    • OK, n’ayant pas de SPIP mutualisé pour tester, je met ce post en référence dans la partie technique de la documentation.

      Le fichier odt2spip/inc/odt2spip_importe.php modifié donnerait donc en ligne 54 :

          $xml_entre = $rep_dezip.'content.xml';  
      //  $xml_entre = _DIR_TMP.'odt2spip/'.$id_auteur.'/content.xml';

      NB : à priori cette modification ne sera pas opérationnelle pour PHP 4 !

    • Je mutualise plusieurs SPIP 2.0.6 et j’applique donc le conseil ci dessus. Le fichier ne serait il pas ici :odt2spip_v0.1/action/odt2spip_importe.php Je fais la modif.

      Pour moi cela ne change rien au message :

      Les fonctions xslt ne sont pas operationnelles dans apache: demandez l'activation des extensions XSL à votre administrateur de serveur

      aprés intervention sur le serveur j’ai pourtant avec phpinfo.php :

      apache2handler
      Loaded Modules
       	core mod_log_config mod_logio itk http_core mod_so mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_dav mod_dav_fs mod_dav_lock mod_dir mod_env mod_expires mod_mime modxslt mod_negotiation mod_php5 mod_rewrite mod_setenvif mod_status

      modxslt est bien dans la liste ...

      Un autre module à installer, une autre idée ?

    • Un autre module à installer, une autre idée ?

      oui, à coup sûr il s’agit d’un problème de chemin de répertoire dans la config mutualisée. N’ayant pas cette configuration sur mes machines de test je ne peux guère aller plus loin dans le diagnostic...
      Alors soit tu bidouille avec les chemins SPIP (_DIR_PLUGINS, _RACINE_SITE etc...) jusqu’à trouver la bonne soluce, soit tu me fait un compte SPIP admin + un compte FTP en écriture sur le répertoire d’installation du plugin et je m’en occupe : ça serait bien que ce problème de mutualisation soit réglé une bonne fois pour toute ! (si nécessaire, envoie les paramètres des comptes sur cy_altern chez yahoo.fr).

    • désormais la version [0.14] est compatible avec la mutu sans avoir à bidouiller

    Répondre à ce message

  • 1

    Bonjour,

    Le plugin me semble très intéressant pour tous : ceux qui sont réfractaires à l’utilisation de l’interface de Spip mais aussi pour les autres.

    Donc bravo pour cette contribution.

    J’ai fait un test sur le fichier de test et j’ai l’erreur :

    Fatal error : Call to undefined function imagecreatetruecolor() in /home/dev/OPE/AFIREM/plugins/odt2spip_v0.1/action/odt2spip_importe.php on line 285

    Répondre à ce message

  • Bonjour,
    Après avoir installé avec succès odt2spip sur un hébergement chez free, je voudrais l’installer sur le site de mon école, hébergé chez gandi.net.
    Le serveur me renvoie l’avis suivant :
    « Les fonctions xslt ne sont pas operationnelles dans apache : demandez l’activation des extensions XSL à votre administrateur de serveur ».
    Gandi me dit qu’il faut sortir du mode « AI » (l’interface simplifiée), pour avoir les droits roots et activer le module apache, cela me fait un peu peur car on ne peut pas revenir ensuite en arrière. Quelqu’un aurait-il la même expérience et pourrait-il me guider ?
    Merci par avance,
    Jacques Hoepffner

    Répondre à ce message

  • 5

    Bonjour,

    En testant en local une migration d’un de mes sites en SPIP 2, j’ai pu voir que votre plugin n’est pas référencé dans les urls automatiques de plugins... Sur plugins.spip, votre plugin est référencé pour SPIP 1.9.2 et sur SPIP contrib, vous êtes référencés pour 1.9.2 et spip 2.0.x...

    Qu’en est-il exactement ? Pouvons nous utiliser odt2spip sans soucis avec SPIP 2.0.7 ?... Et l’installation doit-elle se faire manuellement obligatoirement ?
    Votre plugin me permettra de remplacer le plugin article_pdf qui n’est pas adapté pour SPIP 2... Et me permettre de faire des mise en page spécifiques répondant à mes besoins.

    Cordialement

    • Euh... petit rectificatif de ce que j’ai dit... Votre plugin ne remplacera pas article_pdf, ils n’ont pas la même tâche. (Mélanger dans mes pinceaux...) mais me sera utile tout de même pour faciliter la tâche à mes rédacteurs.

      Cordialement

    • Si tu lis la doc de cet article jusqu’au bout tu verra qu’il est bien spécifié que ce plugin est compatible SPIP 1.9.2* et 2.0.*

      Quand au fait d’être référencé pour les installations automatiques :

      • sur http://plugins.spip.org : sincèrement, je m’en f*** !
      • sur http://spip-contrib.net : je pensais qu’ajouter le mot clé « Plugins pour SPIP 2.0 » suffisait. Je vais me renseigner pour voir si il y a autre chose à configurer...
    • Bonjour,

      Merci pour la réponse. Euh... Je n’ai pas voulu te vexer pour plugins.spip.org...
      Ce n’était qu’une simple remarque. En rien je n’ai demandé à ce que tu t’enregistres sur ce site...

      Bref, revenons à nos moutons. J’ai testé le plugin sur SPIP 1.9.2g (pas encore passé sous SPIP 2, le développement est en cours...). Et après importation (avec succès) d’un fichier odt, j’ai pu constater ceci :
      -  l’article créé est « Sans titre » ; ne peut-on pas faire en sorte que le nom de l’article s’octroie le nom du fichier odt importé ?
      -  les images sont importées en tant qu’image à l’article (comme stipulé dans le présent article) ; où peut-on modifier le code (ou modifier la config) pour que les images soient importées en tant que document et non en tant qu’images ?
      -  les sauts de ligne ne sont pas pris en compte mais un espace blanc entre paragraphes est correctement créé dans le texte de mon article fraîchement créé. Simple question, est-ce normal ? (Ah oui, je suis sous Mac 10.4.10 et Open Office 3...)

      Et merci pour cet excellent plugin !

    • l’article créé est « Sans titre » ; ne peut-on pas faire en sorte que le nom de l’article s’octroie le nom du fichier odt importé ?
      ...
      où peut-on modifier le code (ou modifier la config) pour que les images soient importées en tant que document et non en tant qu’images ?

      Bonnes idées d’amélioration, du coup ça mérite une nouvelle version... ce qui est fait avec la 0.12 http://zone.spip.org/trac/spip-zone...

      les sauts de ligne ne sont pas pris en compte mais un espace blanc entre paragraphes est correctement créé dans le texte de mon article

      ce point est récurent et a déjà été discuté dans ce post : http://www.spip-contrib.net/odt2spi...

    • sur http://spip-contrib.net : je pensais qu’ajouter le mot clé « Plugins pour SPIP 2.0 » suffisait. Je vais me renseigner pour voir si il y a autre chose à configurer...

      OK, il faut aussi que le fichier zip du plugin soit en document attaché de l’article : c’est fait

    Répondre à ce message

  • 1
    luckyroma

    After the revision 27527- the plugin was loading the odt file regularly.
    Je vous remercìe beaucoup.

    Quelque notes :
    1) After the loading of the odt file, the article is published directly on line and not proposed for publishing. Is it that due because I am the administrator ?
    2) In the odt file I qualified title level 1, that become the title of the article. the title level 2 was not interpreted as subtitle. Is it that normal, or something not yet developed ?

    In ani case I find the plugin very usefull. Thank you for your effort.

    • 1) After the loading of the odt file, the article is published directly on line and not proposed for publishing. Is it that due because I am the administrator ?

      This had been corrected by this commit : update your version to be OK.

      2) In the odt file I qualified title level 1, that become the title of the article. the title level 2 was not interpreted as subtitle. Is it that normal, or something not yet developed ?

      this wasn’t normal and I would like to see why : could you send me the file please ? (cy_altern at yahoo.fr)

    Répondre à ce message

  • 1

    Really a great contribution !!! Very useful !

    Using it I have a suggestion. Actually ODT2spip (v 1.1) clears all simple paragraph interruptions. This results in two words coming toghether.
    Surely it needs to insert at least a blank space to separate the words.

    But I think you should consider to add at least a breaking row e.g « \n_ » in spip, so that the article obtained is more consistent with the file uploaded.

    What do you think about it ?
    Feel free to write in french, i can read it !

    • Ce point à déja été discuté dans ce post : http://www.spip-contrib.net/odt2spi...

      Si tu veux améliorer le fonctionnement actuel, tu trouvera exactement la partie du code XSLT qui pose problème... et l’avertissement sur la nécessité de ne pas entraîner de régression des autres fonctionnalités !

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom