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

  • Bonjour
    J’ai un site SPIP 4.2, squelette Html5 Alpha, hébergé sous php8 et j’ai mis ainsi à jour la dernière version de odt2spip.
    Il y a une limitation à des fichiers libre office de 10 Mo. Y a-t-il moyen de revoir le code pour dépasser cette limite ? Si oui, comment ? J’ai accès à mes fichiers mais je ne connais rien en codage.
    D’avance merci
    Cordialement
    Odile

    Répondre à ce message

  • 1

    Bonjour.

    Merci pour ce plugin, en revanche, un truc doit m’échapper, certainement.

    Comment faire pour disposer de la commande libreoffice sur son serveur sans devoir se taper l’installation de TOUT libreoffice (soit 510 Mb de paquets), interface comprise ce qui ne fait aucun sens sur un serveur en mode CLI ? Y a t’il un paquet libreoffice-xyz spécifiquement prévu pour ce genre de cas de figure, ou ... ??? 🤔

    Merci par avance pour tes retours

    • OK, donc first ! Je me réponds à moi même : Pour éviter d’installer TOUT libreoffice sur un serveur en mode CLI, pour faire fonctionner le plugin et pouvoir également intégrer des articles au format DOCX etc... il suffit simplement d’installer le paquet libreoffice-writer-nogui. qui ajoutera juste les paquets nécessaires au serveur pour process la commande libreoffice, sans (ou du moins avec assez peu de) tout le bullshit qui va autour d’une install complète de Libre Office sur un serveur qui n’a pas d’interface graphique.

      Testé avec succès avec odt2spip v4.1.2 sur un SPIP 4.1.2 (aussi !)

    Répondre à ce message

  • 2

    Bonjour,
    Pour aller plus loin...
    Y aurait-il moyen de lier ce plugin à https://contrib.spip.net/Flux-RSS-en-articles pour récupérer en articles des fichiers ODT pointés par un flux RSS ... ? :-/

    • le mécanisme « de base » de ce plugin étant de faire la conversion du XML extrait d’un fichier odt stocké dans tmp/, il semble certainement possible de faire la même chose « en masse » et automatisé à partir d’un flux RSS qui donne des URLs des fichiers à récupérer.

      On peut imaginer un plugin spécifique qui propose un genie faisant :
      -  la lecture d’un flux RSS pour en extraire les URLs des fichiers odt
      -  le téléchargement de ces fichiers odt dans tmp/ via recuperer_url
      -  la génération d’un article à partir de chaque fichier en utilisant l’action odt2spip_importe

      ...ça fait un chouette projet mais qui semble vraiment spécifique : je ne connais pas beaucoup (aucun ?) flux RSS proposant des fichiers odt...

    • Bonjour,
      Merci pour le réponse. Très spécifique effectivement car le flux RSS serait concocté par mes soins.
      Le contexte est que dans mon établissement scolaire les assistants de direction (qui changent régulièrement) sont plus à l’aise sur un « traitement de texte » que sur Spip (oui, je sais, la formation, ...).
      Et plutôt que de recopier chaque fichier .ODT dans l’interface SPIP, ce serait qu’ils

      • créent les documents sur leur traitement de texte préféré,
      • stockent sur Google Workspace (Drive c’est transparent),
      • ensuite une WebApp Google Apps Script met à jour le flux RSS avec le nouveau fichier.

      Spip n’a qu’à importer le nouveau lien du flux et récupérer le fichier.
      Ainsi, ZÉRO manipulation Spip pour créer des articles (en l’occurrence des annonces de stages et offres d’emploi).

      Dans l’immédiat, je vais essayer de faire évoluer l’Apps Script pour déployer le contenu du document en HTML complet dans le flux RSS.

    Répondre à ce message

  • 1

    Bonjour,

    Satanas est de retour ;-)
    J’utilise enluminures typographiques (qui doit intégrer les intertitres hiérarchisés je pense).
    Selon la doc, les styles Titre 1, Titre 2, Titre 3 devraient être convertis.
    En fait, pour mon doc, seuls Titre 2 et Titre 3 sont convertis, mais pas Titre 1... (il est passé en gras)
    Des pistes ? Merci

    • c’est un problème qui apparait en général si le document a un titre ayant le style « Titre principal » à la place du style « Titre » (peu importe qu’il y ait ou non le plugin enluminure typo me semble t’il)

    Répondre à ce message

  • 3

    Bonjour,
    Quand on importe un odt (depuis une rubrique), ça crée un nouvel article.
    Y a-t-il un moyen pour que le doc importé vienne remplacer le contenu d’un article ?
    Car j’ai des liens vers un numéro d’article (et l’url qui va avec), et je désire remplacer le contenu de cet article par l’importation de l’ODT sans perdre les références.
    Merci

    • heu ? depuis la version 2.1 de ce plugin, le formulaire d’odt2spip est présent dans les pages des articles et propose de « Remplacer l’article par le contenu d’un fichier ODT » => ça devrait correspondre à ton besoin (ou alors je n’ai pas compris la question...)

    • Bonjour,
      Oupsss... j’avais trop scrupuleusement lu la doc ici, et je n’avais pas essayé depuis un article... Désolé et merci :-)

    • effectivement la doc n’avait pas été mise à jour lors de cet ajout... C’est fait : merci du signalement !

    Répondre à ce message

  • 2

    Bonjour,
    Dans mon doc odt, j’ai créé des styles hérités de Titre 2 et Titre 3 à définir aux niveaux de titre respectifs.
    Mais ils ne sont convertis qu’en texte...
    Une astuce pour qu’ils soient pris en compte ?
    Merci

    • La solution « simple » : à la place de faire un style hérité, tu redéfini les styles Titre 2 et Titre 3

      La solution « compliquée » (si tu utilise la conversion « interne ») : la feuille de style XSLT qui gère la conversion (fichier inc/odt2spip.xsl) identifie les styles de titres via leur nom de la forme : « Heading_20_X » avec X un chiffre de 1 à 10 (L58 et suivantes, https://git.spip.net/spip-contrib-extensions/odt2spip/src/branch/master/inc/odt2spip.xsl#L58)
      Tu devrais pouvoir surcharger ce fichier (une copie modifiée dans /squelettes/inc/) pour mettre les noms de tes styles hérités.
      (pour mémoire si tu dois trouver le nom des styles hérités : dézippage du fichier odt puis exploration du fichier content.xml pour trouver les balises <text:h text:style-name="Heading_20_3" text:outline-level="3">

    • Merci. J’ai pris la méthode simple pour l’instant, même s’il a fallu retravailler mon doc (j’avais besoin de Titre 2 ET d’un hérité de titre 2...),.
      Le travail sur le XSLT est intéressant, j’y regarderai.

    Répondre à ce message

  • 3

    Bonjour
    Merci pour ce plugin. Cependant...
    Après la mise à jour en 3.0.1 - test, sous SPIP 3.1.0, le plugin a fait planter tout le site.
    Le fichier odt2spip_nettoyer_repertoire_upload.php utilise la syntaxe [a,b,c] pour les tableaux, qui semble-t-il n’est pas supportée par PHP 5.3. Or mon hébergeur utilise cette version.
    J’ai contourné le pb en modifiant à la main la ligne incriminée pour remplacer par l’ancienne syntaxe.
    Je n’aime pas trop ce genre de solution. Est-ce que la prochaine mise à jour ne va pas à nouveau tout faire planter ? J’ai besoin du plugin, ça m’ennuierait de devoir le désactiver.

    Répondre à ce message

  • Bonjour,
    Ce plugin est vraiment très très utile, et un grand merci pour ça.
    Par contre, c’est pas nouveau, mais, impossible de faire correspondre les niveaux de titre entre le doc odt et l’article spip apres conversion...
    Si j’utilise :
    Titre 1, Titre 2 ; Titre 3... dans odt, je n’arrive pas (plus) à obtenir la même hiérarchisation coté spip... J’ai tenté avec et sans « Enluminures typographiques »...
    Y a t il une bonne méthode pour faire correspondre les deux ?
    Merci bien
    triton

    Version 3.0.3 - test
    spip SPIP 3.1.6

    Répondre à ce message

  • 5

    Hello

    Pour info :

    Sur un spip 3.1.6 tout neuf l’installation de ce plugin fait tout planter (page blanche) mais spip propose d’installer la version 3.0.2

    La version 2.1.3 proposée ici ne pose pas de souci.

    PS : je n’avais jamais pris le temps de remercier l’auteur de ce plugin que je propose à toutes mes formations et qui est très apprécié des rédacteurs. Donc merci !!

    • Et comme dans mon académie, il y a de nombreux sites qui utilisent odt2spip, quand ils font ma mise à jour du plugin, ils se retrouvent avec une page blanche.

      Seule solution : virer odt2spip par ftp et réinstaller la version 2.1.3 en copiant l’url du zip

      J’espère que le bug sera résolu rapidement sinon, je sens que je vais être bien occupé :-(

    • Une page blanche c’est du à une erreur PHP. Sans cette erreur difficile de savoir ce que c’est le problème. Quelle version avez vous de PHP (ecrire/ ?exec=info doit l’indiquer) ?
      Pour afficher les erreurs de PHP il faut (si le serveur le permet) activer l’affichage d’erreur (temporairement), on modifiant config/mes_options.php

      Par exemple en ajoutant dedans :

      error_reporting(E_ALL^E_NOTICE);
      ini_set ("display_errors", "On");
      define('SPIP_ERREUR_REPORT', E_ALL^E_NOTICE);
    • Il faudra tester la version 3.0.3 qui tente d’être plus tolérante avec PHP < 5.4

      http://zone.spip.org/trac/spip-zone/changeset/106983
      Pas certain que cela suffise cependant.

      Et pensez à mettre à jour vos serveurs, ça peut être utile !

    • Hello

      Le serveur est en php 5.3.3 et je n’ai pas la main pour passer à une version supérieure. Je vais néanmoins le demander.

      Sinon, la version 3.0.3 du plugin semble résoudre le problème. Merci !

    • Tant mieux pour la résolution. C’est une bonne chose.

      Cependant j’insiste sur le fait que ça commence à devenir un rien risqué de se balader avec des serveurs ayant PHP 5.3, sachant que PHP ne met à jour que PHP 5.6 minimum en terme de sécurité. Ça laisse aux mainteneurs des distributions LTS éventuellement utilisées ici qui auraient de vieux PHP la responsabilité de reporter eux-même les correctifs de sécurité dans ces vieux PHP. C’est parfois possible, mais parfois pas en fonction des évolutions du code. Parfois même peut être que le serveur utilise une distribution elle-même qui ne serait plus maintenue. Je pense cela car même votre version 5.3.3 n’est pas à jour dans sa branche, qui serait la 5.3.29 (http://php.net/eol.php).

      Mettre à jour d’un coup PHP sur ce serveur, si les autres applications autour ne sont pas à jour ne résoudrait pas vraiment les problèmes de sécurité non plus, et par ailleurs risquerait de casser des applications qui ne sont pas prévues pour les PHP trop récents (ça peut arriver).

      L’idéal semblerait plus logiquement de créer un nouveau serveur à jour sur une distribution LTS, et de migrer dessus application par application, site par site, pour ne pas tout casser d’un coup ! Et j’imagine que cela sera long et fastidieux (ou avoir de la chance !), et pas forcément la priorité de l’administrateur du serveur qui a certainement d’autres chats à fouetter dans l’académie plus prioritaires au jour le jour. Il faut peut être envisager du coup à un moment de revoir les priorités :)

      MM.

    Répondre à ce message

  • 2

    Bonjour,

    Depuis odt2spip v.3.0, il y a l’option « Serveur de conversion ».

    Si le message « La commande libreoffice n’est pas disponible sur ce serveur. » est affiché, il y a-t-il une méthode pour activer la dite commande sur le serveur ou, comme c’est plutôt mon cas, que faut-il demandé au support technique de l’hébergeur ?

    Merci d’avance,

    Cordialement,

    Hervé

    Répondre à ce message

  • 2

    Bonjour,
    Ce plugin est effectivement très utile mais celui qui fait l’opération inverse existe-t-il ? Spip2Odt ? Ça m’intéresserait pour récupérer un milliers d’articles sur un site SPIP... :-/
    Cordialement,
    Philippe

    Répondre à ce message

  • lilibaba83

    Bonjour,

    Depuis quelques temps j’ai cette erreur pour chaque image contenue dans le fichier odt :

    Warning : preg_replace() : Compilation failed : invalid range in character class at offset 7 in /home/www/unesecondevie/vues/ecrire/inc/documents.php on line 122
    HTTP 302

    Que ce passe t il ?

    merci de votre aide.

    Répondre à ce message

  • Bonjour,
    Une petite correction de forme dans le formulaire : le texte « Aucun fichier sélectionné » déborde du cadre. Voir fichier joint ;-)

    Répondre à ce message

  • 2

    Comme c’est bientôt Noël et qu’on ne sait jamais j’en profite pour faire une demande supplémentaire.

    Serait-il envisageable que le plugin récupère automatiquement dans les champs Descriptif et Chapo les paragraphes de style « descriptif » et « chapo » (ou d’autres noms mais fixés par le plugin) ? De cette façon non seulement les articles seraient écrits correctement, mais en plus les champs seraient tous remplis ce qui serait formidable pour tous ceux qui utilisent ces champs de SPIP (ce que je conseille très fortement) et du coup, le retravail sur un article serait voisin du zéro hormis les images (je préfère intégrer les images à la main parce que je ne supporte pas les noms avec des longs chiffres mais c’est personnel).

    Au besoin, on pourrait même ajouter un modèle de saisie d’article donc au format odt, ici ou ailleurs, pour faciliter le travail des rédacteurs qui ne sont pas des paresseux mais qui préfèrent travailler sur la qualité du texte plutôt que de se concentrer que l’aspect technique (je peux même le concevoir si on veut et le mettre en ligne aussi sur le site des modèles de LibreOffice voire sur celui d’OpenOffice).

    En tous cas moi, ça m’arrangerait bien.

    Encore merci pour ce plugin.

    • oui, on pourrait imaginer arriver à quelque chose d’automatique à partir de paragraphes ayant des styles fixés (basiquement on pourrait prendre le nom du champ comme nom de style : « descriptif », « chapo », « surtitre », « ps »...). Ca me semble d’ailleurs complémentaire avec la demande de ton message du 11/09.
      Alors je ne promet rien mais comme il va falloir que je fasse le passage en SPIP 3.1 ça pourrait être une occase si il s’avère que ça ne demande pas des journées complètes de débogage des XSLT...

    • Eh eh eh, c’était une commande pour le père Noël, si ça peut aboutir à quelque chose et bien tant mieux, sinon tant pis.
      De toute façon, là j’ai déjà pondu un modèle pour article SPIP qui va me servir à moi, c’est pas tout perdu :-).
      Il est en ligne pour quelques temps ici :
      http://www.numericoach.net/?-Divers-docs-
      ou bien : http://www.numericoach.net/?Titre-1-titre-de-l-article-suivi

      Login : odt2
      Mot de passe : plugin.

      à toute fins utiles .

      Et oui, l’article a été généré avec odt2spip.

      En tous cas merci de toute façon.

    Répondre à ce message

  • 6

    Bonjour,

    J’utilise odt2spip pour faire des tableaux à partir de fichiers pdf en copier-coller, corrigés manuellement sur un fichier Libre office.

    Ca marche bien sauf que les textes ne sont pas alignés (que j’ajoute ou non des photos).

    Merci pour toute aide.

    Spip 3.0.17

    • à priori ça c’est un problème indépendant de odt2spip : la mise en page du tableau (donc l’alignement) étant du ressort de la feuille de style qui lui est appliqué...

    • Rebonjour,

      Dans mon tableau de base Libre office version 4.3.1.2 les paragraphes de chaque colonne sont bien alignés, sans couleur. C’est ce que je voudrais obtenir dans les articles de mon site.

      Tu parles de feuille de style appliquée. Ça se trouve où ?

    • oui, les « symptômes » que tu décris semblent liés à une feuille de style CSS appliquée par ton squelette SPIP. Pour aller plus loin il faudrait l’URL d’une page ayant un tableau avec cette mise en page.

    • Merci de t’intéresser à mon problème.
      Voici un exemple :
      http://franc-parler.jp/spip.php?article537&lang=fr

    • ce « problème » d’alignement est lié à la feuille de style general.css du squelette Escal : en effet à la ligne 1012 de cette feuille de style on trouve :
      table.spip td { ... vertical-align: middle; ...}
      qui provoque l’alignement des blocs de texte à mi-hauteur des cellules du tableau.

      Selon la documentation de ce squelette, la solution la plus élégante serait de créer un fichier squelettes/styles/perso.css dans votre SPIP et d’y mettre cette simple ligne :
      table.spip td { vertical-align: top; }

    • Mille mercis !

      Mon petit souci est résolu.

    Répondre à ce message

  • 2

    C’est encore plus puissant que ce que je pensais.
    Je viens d’intégrer, pour tester, un CV avec une partie en deux colonnes, mais fait dans les règles de l’art (avec des styles et tout le toutim) : tout a été intégré très proprement et le texte mis en deux colonnes remis sur une seule et correctement (pas de gloubilgoulba de textes).
    Cela dit, personnellement j’utilise des styles pour tout, donc mes gras et italiques sont en style accentuation forte et accentuation (ceux par défaut de LibreOffice). Serait-il envisageable que le plugin récupère les gras et les italiques à partir de là ? C’est d’une importance mineure cela dit.

    • A priori ça ne semble pas une mauvaise idée : je note pour une prochaine version (sous réserve que la récupération du style dans le fichier ODT ne soit pas problématique...)

    • Wordpress interprète ça comme des balises « strong ». A priori ces notions devraient pouvoir passer aussi dans SPIP qui fait mieux. Mais effectivement, on ne sait jamais.

    Répondre à ce message

  • 1

    Il y a un petit bug très mineur depuis, je pense, la dernière mise à jour : le message « Installation réussie » reste affiché sur la page de gestion des plugins, même si on clique sur la croix pour le désafficher, il revient systématiquement dès qu’on réaffiche cette page.

    Ça n’empêche pas de travailler, ça n’a aucun impact sur le fonctionnement, c’est donc tout à fait mineur et pas gênant. Mais si cela devenait une mode que tous les plugins se mettaient à suivre, on serait mal barrés :-)

    Répondre à ce message

  • 3

    si nécessaire le fichier ODT original est attaché comme document à l’article

    Ajouter une interface de configuration pour rendre paramétrable les conversion « imposées » pour les niveaux de titre...

    Serait-il possible dans cette future interface de configuration de pouvoir choisir le comportement par défaut d’odt2spip quant à l’attachement ou non du fichier ODT d’origine ?

    Dans plusieurs sites ont je m’occupe, le comportement pas défaut qui m’intéresse est de ne pas attacher le fichier ODT.

    En attendant une telle interface de configuration, quel est le fichier du plugin à modifier pour avoir un tel comportement par défaut et quelle est la modification du code à opérer dans ce cas ?

    merci d’avance

    • bonne idée : la version 2.1.1 propose donc une option de configuration pour ce comportement (cf http://zone.spip.org/trac/spip-zone...)

    • Merci de cette réactivité !

      Si j’avais su, j’aurais fait cette suggestion plus tôt.

      Une autre suggestion :
      Ajouter une phrase de méthode à appliquer quand le texte d’origine était un document MS Word :
      exemple :
      -  Si le texte d’origine vient d’un document MS Word, évitez les copier-coller directement de Word vers OpenOffice ou LibreOffice Writer.
      -  Passer par l’intermédiaire d’un éditeur de texte simple, mais gérant le .RTF (pour ne par perdre gras italique et liens)
      -  Vous éviterez ainsi des temps de calcul parfois interminables à l’importation par odt2spip et un texte truffé de métadonnées issues de MS Word et réduisant à néant le temps gagné par l’importation.
      -  Exemple : < !—[if gte mso 9]>< !—StartFragment—>

      À rédiger de façon, sans doute, plus simple.

    • J’ai bien fait de lire cette page. Hop, aussitôt lu, aussitôt fait.

      Merci.

    Répondre à ce message

  • 3

    Bonjour,
    Je viens d’utiliser ce plugin sur un site externe (SPIP 2.1.8) et je m’aperçois qu’il ne prend pas en charge les liens.
    C’est amusant car en 2004 il y avait un petit logiciel (en exe, pour windows, et en freeware...) spipedit qui le faisait.
    Est-ce que c’est que techniquement ce n’est pas possible ou bien trop compliqué que ce n’est pas implémenté ?
    Merci.

    • En ce qui me concerne la version 0.15.2 de ce plugin + SPIP 2.1.25 fonctionne très bien pour ce qui est des liens : cf http://mutu.i-climb.com/spip.php?ar... avec le fichier ODT original et l’article résultant de son intégration.
      Peut être un petite mise à jour de ton plugin et de ton SPIP (2.1.8 c’est pas très sécurit comme version...)
      Quand à spipédit, le dev à décidé d’arrêter le développement et comme ça n’était pas du libre, ce logiciel n’est plus disponible si ce n’est pour ceux qui en ont précieusement gardé une version de côté !

    • Si seulement je pouvais.... J’utilise SPIP sur un site dont je n’ai aucune maîtrise...
      Je suis donc ravie de voir que ce n’est qu’un problème de version ou d’installation, et je vais tenter (pas gagné) de les convaincre de mettre à jour !
      Par ailleurs, ce fichier modèle qui contient les raccourcis de SPIP pour test est disponible quelque part ?
      Merci beaucoup.

    • disons que ça n’est qu’une hypothèse à vérifier... Pour cela tu trouvera le fichier de test test_complet.odt soit en téléchargement sur l’article cité dans mon message précédent soit dans le répertoire « tests » du plugin.

    Répondre à ce message

  • 2

    Salut cy_altern et merci (encore) pour ce beau plugin, je l’emploie de plus en plus (les users deviennent paresseux...).

    Deux idées :
    -  permettre de màj un article via le plugin (ou forcer un id_article ?)
    -  Pour le titre d’article, récupérer « Titre principal » en priorité s’il existe (c’est le style que je trouve le plus souvent en LO quand le user met le titre dans l’entête avec m$ wOrd)

    Je les mets là pour discussion et mémoire (je sais que personne ne s’ennuye ;-) )

    • Etant donné la réécriture de ce plugin faite pour la version SPIP 3, le premier point ne semble pas trop compliqué à coder pour une fonctionnalité qui sera largement utilisée : c’est donc intégré avec la version 2.1.0

    • Oh ! Super merci !

      1. Je vais apprendre des trucs sur SPIP en regardant le code
      2. Gros gain de temps quand l’import se passe « mal »/l’article n’est pas propre (les urls, les images dupliquées...Jusque là je créais un nouvel article si correction)

      Je reviens après tests... !

       :-*

      Suske

    Répondre à ce message

  • 2

    Bonjour,

    Je viens de passer à spip3 j’installe odt2spip 2.02 mais malheureusement il ne publie plus mes images...

    dans l’article il met bien les balises :

    mais il ne charge pas les photos dans les documents
    et du coup il n’y a rien dans mon article enfin que le texte.

    j’ai peut être oublié quelque chose mais j’ai essayé en cochant image et en cochant document et le résultat est le même : pas de photo...

    merci d’avance

    • lilibaba83

      Bonjour,
      Pour info et pour les débutants comme moi :

      Il ne faut pas :
      -  utiliser word
      -  utiliser le « enregistrer sous odt » de word
      -  faire des copier coller dans open office

      il faut :
      -  créer de toute pièce son article dans open office
      -  les copier coller depuis excel fonctionnent
      -  utiliser la fonction insérer image
      -  importer le odt dans spip en cochant « image »

      Merci à la personne qui m’a apporté un début de réponse qui m’a mis sur la bonne voie,
      à+

    • Merci pour ces précisions : j’ai ajouté à la doc les points sur l’intégration des images et la méthode de conversion depuis Word.

    Répondre à ce message

  • waielbi

    Une bonne nouvelle ! J’attendais avec impatience la version compatible avec SPIP 3.0. Merci je vais essayer ça tout de suite !

    Répondre à ce message

  • faugeron

    Merci beaucoup pour la correction.

    Répondre à ce message

  • 1

    Bonjour,

    Auparavant, sous Spip 2, un rédacteur (non administrateur) pouvait utiliser odt2spip ; à présent, sous Spip 3, rien ne s’affiche dans la page d’édition d’une rubrique. Seuls les administrateurs voient le bouton permettant de créer un article depuis un fichier odt. Est-ce normal ? Et si oui, est-il possible de rétablir l’ancien fonctionnement ?
    Merci.

    Répondre à ce message

  • 3

    Bonsoir,
    J’ai un bug depuis la version 2.0.1 d’odt2spip avec spip 3 (en spip 3.0.7 pour être précis).

    1) serait-il possible d’avoir une copie de la version 2.0.0 d’ODT2Spip, pour voir si c’est bien la version 2.0.1 ce ce super plugin qui pose problème ?

    2) seule le titre de l’article est pris en compte.

    3) Le 1er « Titre1 » de l’ODT est bien transformé en titre de l’article, comme avant, mais précédé d’un très gros paquet de code ( il y en a plusieurs dizaines de lignes !) :
    exemple avec qu’une partie du code apparu dans la case titre de l’article :

    2013-05-12T18:54:04< !—[if gte mso 9]>
    < !—StartFragment—>3e Dimanche de Pâques 14 avril 2013 – n°14

    Merci d’avance

    • Bonjour,

      Je complète mes observations à propos de ce problème :

      Je viens de faire un test avec un Spip 3.0.7 tout neuf, avec ODT2Spip 2.0.1 comme seul plugin spip installé et activé.

      Le problème décrit dans mon premier post reste le même.

      Donc, pas de bugs liés à une interaction avec un autre plugin Spip.

      Merci d’avance

    • 1) pour récupérer un zip de la version 2.0.0 d’odt2spip sans utiliser SVN : http://zone.spip.org/trac/spip-zone/changeset/71740/_plugins_/odt2spip/trunk?old_path=/&format=zip
      ...mais ça m’étonnerais vraiment beaucoup que les différences entre la 2.0.0 et la 2.0.1 soient responsables de ton problème

      2) il faudrait le fichier utilisé pour pouvoir reproduire le problème...

      3)

      < !—[if gte mso 9]>
      < !—StartFragment—>3e Dimanche de Pâques 14 avril 2013 – n°14

      ça c’est typiquement des en-têtes de fichier Word...
      on retombe sur le fait que pour corriger ce bogue il faudrait d’abord pouvoir le reproduire : tu aurais un exemple d’article avec son fichier .odt attaché pour pouvoir faire des tests ?

    • Je viens de tester avec la version 2.0.0 d’odt2spip et, effectivement, cela ne règle pas le problème.

      Par contre :

      < !—[if gte mso 9]>
      < !—StartFragment—>3e Dimanche de Pâques 14 avril 2013 – n°14

      ça c’est typiquement des en-têtes de fichier Word...

      je viens de vérifier ton hypothèse : elle semble la bonne !
      Mais elle pose un problème :

      pour que ça marche, il faut :

      • soit un texte saisi directement dans Libre Office,
      • soit, si on viens d’un copier-coller depuis un .doc Word, il faut faire un copier coller en texte brut (sur Mac OSX : cmd + alt + shift + V) et on perd toute la mise en forme gras, italique, niveau de titre et d’intertitre, lien, tableau...
        • C’est ce que j’ai fait, mais le reformatage dans Libre Office après copier-coller faire perdre un temps énorme.
        • là où je ne pige pas, c’est qu’il y a quelque temps, à l’annonce de la sortie d’ODT2Spip pour spip 3, je l’avais testé et il marchait nickel, copier-coller normal depuis Word ou pas.

      on retombe sur le fait que pour corriger ce bogue il faudrait d’abord pouvoir le reproduire : tu aurais un exemple d’article avec son fichier .odt attaché pour pouvoir faire des tests ?

      je te le joins, en espérant que cela ne te gêne pas de travailler à partir d’une feuille d’annonce hebdomadaire d’un site de paroisses catho.

      Par contre, comme seuls les gif, jpg et png peuvent être joints aux commentaires sur spip-contrib :
      Je vais le faire sur mon propre site : http://www.reflexwebstudio.fr/2013-05-12T18-54-04-if-gte-mso-9

      Tu vas voir le massacre :
      même le titre du document est affecté !

      Merci de cette première solution, pas idéale, mais qui fonctionne.

      Hervé

    Répondre à ce message

  • 3

    Bonjour,

    je viens d’installer odt2spip sans problème.
    Il fonctionne bien (même avec un fichier Word enregistré en odt) lorsqu’il s’agit d’un paragraphe de texte « classique » disons : x lignes dans 1 ou + paragraphe(s).

    Par contre pour une petite liste avec retours à la ligne genre :
    lundi
    10h r.v.
    mardi
    9 h rien
    mercredi
    ....
    Il fonctionne d’une manière qui semble aléatoire : sur 2 ou 3 enregistrements différents du même passage je n’ai pas les mêmes mots ’modifiés’ qui apparaissent correctement pris en compte et parfois aucune mise en valeur n’est reconnue ....

    J’ai désactivé tous les plugins et utilisé spip le plus réduit possible...

    Je pige pas... si on peut m’aider... merci d’avance.

    Marc.

    Répondre à ce message

  • 3

    Bonjour,

    Merci pour ce plugin.

    J’ai bien noté que 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.

    Avec un fichier ODT existant, qui contient beaucoup d’images jpeg, plus quelques unes qui ne sont pas au format jpg ou png ou gif, j’ai constaté que l’article généré contient bien les images jpeg avec les bons raccourcis, mais que lorsqu’on prévisualise l’article (où qu’on le publie), SPIP n’affiche pas certaines images jpeg (celles qui sont situées à la fin de l’article).

    J’ai noté que le texte de l’article généré contient par exemple plusieurs fois le raccourci :

    <img2000001200000263000002883C3432BA.svm;;;0.635;;;0.635;;;|center>

    En enlevant manuellement ces raccourcis, SPIP affiche alors toutes images jpeg.

    Aussi, je suggère de modifier le fichier action/odt2spip_importe.php de la manière suivante, afin qu’il ne laisse pas le raccourci d’une image qui n’a pas pu être ajoutée dans SPIP :

        // traiter les images: dans tous les cas il faut les intégrer dans la table documents
        // en 1.9.2 c'est mode vignette + il faut les intégrer dans la table de liaison 
        // en 2.0 c'est mode image + les fonctions de snippets font la liaison => on bloque la liaison en filant un id_article vide
        $id_article_tmp = ($spip_version_code > 2 ? '' : 100000);   
        
        preg_match_all('/<'.$ModeImages.'([;a-zA-Z0-9\.]*)/', $xml_sortie, $match, PREG_PATTERN_ORDER);
        if (@count($match) > 0) {
            include_spip('inc/ajouter_document');
            $T_images = array();
            // un compteur
            $cpt = 0;
            foreach($match[1] as $ch) {
                $Tdims = explode(';;;', $ch);
                $img = $Tdims[0];
                if (file_exists($rep_pictures.$img)) {
                  // retailler l'image en fct des parametres ;;;largeur;;;hauteur;;;
                    $largeur = round($Tdims[1]*$conversion_image);
                    $hauteur = round($Tdims[2]*$conversion_image);
                    odt2spip_retailler_img($rep_pictures.$img, $largeur, $hauteur);
                  // intégrer l'image comme document spip
                    // la y'a un bogue super-bizarre avec la fonction spip_abstract_insert() qui est donnee comme absente lors de l'appel de ajouter_document()
                    if (!function_exists('spip_abstract_insert')) include_spip('base/abstract_sql');
                    $ajouter_documents = charger_fonction('ajouter_documents','inc');
    //                $type = ($spip_version_code > 2 ? 'image' : 'vignette');
                    if ($id_document = $ajouter_documents($rep_pictures.$img, $img, "article", $id_article_tmp, $type, 0, $toto='')) { 
                      // uniformiser la sortie: si on est en 1.9.2 inc_ajouter_documents_dist() retourne le type de fichier (extension) alors qu'en 2.0 c'est l'id_document
                        if (!is_numeric($id_document)) {
                            $Ttmp = explode('.', $img);
                            $nom_fic = $Ttmp[0];
                            $data = spip_fetch_array(spip_query("SELECT id_document FROM spip_documents WHERE fichier LIKE '%$nom_fic%' ORDER BY maj DESC LIMIT 1"));
                            $id_document = $data['id_document'];
                        }
                        $xml_sortie = str_replace($ch, $id_document, $xml_sortie);
                        $T_images[] = $id_document;
                    } else {
                    	// si l'image n'a pas ete ajoutee (par exemple si pas gif, jpeg, png)
                    	// enlever son raccourci car il peut perturber SPIP, par exemple :
                    	// <img2000001200000263000002883C3432BA.svm;;;0.635;;;0.635;;;|center>
    					$pos = strpos($xml_sortie,$match[0][$cpt]);
    					if ($pos !== false) {
    						$posfin = strpos($xml_sortie,'>',$pos);
    						$findme = substr($xml_sortie,$pos,$posfin+1-$pos);
                        	$xml_sortie = str_replace($findme, '', $xml_sortie);
    					}
                    }
                }
                // increment du compteur
            	$cpt++;            
            }
        }

    Cordialement

    • Je précise qu’il s’agit de SPIP 2.1 et de la version 0.15.2 du plugin odt2spip.

    • c’est fait (pour la version 2.0 et la version 1.5) avec une solution un peu plus radicale : élimination des balises img ne correspondant pas à des fichiers au format jpg/gif/png avant leur intégration (cf http://zone.spip.org/trac/spip-zone/changeset/72009)

    • Bonjour,
      Merci pour ces commits. Je viens de tester ces deux nouvelles versions (sous SPIP 2.1 et sous SPIP 3.0) avec le fichier ODT en question (qui contient beaucoup d’images jpeg, plus quelques unes qui ne sont pas au format jpg ou png ou gif) et désormais SPIP affiche bien toutes les images jpeg (y compris celles qui sont situées à la fin de l’article).
      Cordialement
      Equipement

    Répondre à ce message

  • 8

    Reproduction du commentaire que j’ai laissé sous l’article Snippets et concernant odt2spip :
    est-ce qu’une mise à jour pour spip 3 est prévue ?

    le plugin odt2spip (en version SVN il est vrai) , une fois ajouté au répertoire plugin de spip 3 beta 2 est indiqué comme compatible (du moins, il n’est pas indiqué comme incompatible).

    mais quand on veux l’activer, spip affiche le message suivant « Le plugin odt2spip dépend de SNIPPETS [0.1 ;] »

    Or Snippets 0.2, même en version SVN est indiqué comme incompatible avec spip 3.

    merci d’avance.

    • Pour l’instant le portage pour SPIP 3 n’est pas opérationnel. C’est prévu mais sans délais annoncés...

    • Que puis-je faire pour aider au développement du portage pour spip3 de ce formidable plugin ?

      Je développe des sites sous SPIP depuis la version 1.5 (voir 1.4) de SPIP.
      Mais j’avoue ne pas être sûr d’avoir les connaissances pour travailler à la programmation d’un plugin.

      Néanmoins, je suis disponible pour, au minimum, être beta-testeur.
      Par contre, si, sûr d’autres points, je peux être utile, je suis partant :
      traduction en Anglais, par exemple (je pense avoir le niveau suffisant).

      Merci d’avance

    • Benoît Labourdette

      J’ai posté un message un peu doublon de ce fil, désolé. Je suis moi aussi tout à fait disposé à aider à son développement.

    • La version pour SPIP 3 est désormais disponible : tous retours de tests bienvenus...

    • Bonjour,
      Lorsque j’importe, avec odt2spip version 2.0, un fichier ODT dans un site sous SPIP 3.0.7 qui est en iso-8859-1, les caractères accentués posent problèmes. Par exemple, le mot général devient général. En revanche, si le site est en utf-8, les caractères accentués ne rencontrent pas de problème.
      Cordialement
      Equipement

    • En ajoutant, à la fin du fichier inc/odt2spip_generer_sortie.php (juste avant return $Tarticle;) le code suivant, cela règle le problème des caractères accentués :

      // encodage des caracteres
      if ($GLOBALS['meta']['charset'] != 'utf-8'){
      	include_spip('inc/charsets');
      	$Tarticle['texte'] = importer_charset($Tarticle['texte'], 'utf-8');
      	$Tarticle['titre'] = importer_charset($Tarticle['titre'], 'utf-8');
      }
    • cette modification est intégrée (http://zone.spip.org/trac/spip-zone/changeset/72005), mais je n’ai pas de SPIP 3 en ISO-8859-1 : peux tu tester pour confirmer que le commit est OK ?

      Merci pour le patch « clé en main » !

    • Bonjour,
      Merci pour ce commit. J’ai importé, avec odt2spip version 2.0 (avec ce commit), un fichier ODT dans un site sous SPIP 3.0.7 qui est en iso-8859-1, et les caractères accentués passent désormais parfaitement.
      Cordialement
      Equipement

    Répondre à ce message

  • Benoît Labourdette

    Une version pour SPIP 3 ?

    Ce plugin est génial, et ce serait encore plus génial qu’il y ait une version pour SPIP 3 ! Je ne me sens pas très capable de le faire... malheureusement.

    Répondre à ce message

  • Bonjour,

    Après un peu de temps, et après avoir poursuivi mon idée, je reviens sur mon message du 19 septembre.
    Voilà, je suis allée fouiller dans le code et, comme exercice pratique, j’ai trouvé le moyen de faire générer les balises <quote> </quote> pour les passages mis en caractères gras.

    Mon idée était de faire en sorte que, pour un paragraphe marqué avec un style dont le nom est défini (comme « citation » par exemple), celui-ci soit publié entre les deux <quote> </quote>. Lorsque j’essaie, néanmoins, cela me fait sauter tous les paragraphes.

    Du coup, je me demande si mon idée est réalisable...

    Quelqu’un aurait-il tenté de coder cette adaptation ? Par avance, merci pour un éventuel tuyau !

    Cordialement,
    KMk.

    Répondre à ce message

  • Bonjour,

    Je ne sais pas si un développement existe toujours sur ce plugin.
    J’aimerais savoir s’il est possible d’intégrer la prise en compte d’un style citation dans le fichier .odt, qui ensuite serait repris par les balises <quote> </quote> dans l’article ?

    Par avance, merci pour une réponse et une piste - si ce travail d’ajout est assez simple à réaliser...
    KMk.

    Répondre à ce message

  • benolaos

    Bonjour,
    J’ai l’impression qu’il y a un problème d’affichage des tableaux avec Openoffice 3 Writer.
    J’ai simplement fait un tableau 3x3, et voilà le résultat qui s’affiche sur le site public :
     !1 !2 !3 ! !4 !5 !6 ! !7 !8 !9 !
    (j’ai remplacé le symbole | par ! pour l’affichage sur ce site...)

    Sinon tout fonctionne parfaitement, chapeau.

    Répondre à ce message

  • 1

    Bonjour,
    Je m’aperçois que losque je créé un article à partir d’un fichier Open office avec le plugin odt2spip, même si dans la configuration du site j’ai déactivé les forums sur tous les articles, l’article créé se voit muni d’un forum modéré à postériori. (spip 2.1.10 et dernière version du plugin)
    Je crains que les enseignants ne fassent pas gaffe et oublient de modifier ce comportement.
    Est-ce un bug ? comment y remédier

    Merci d’avance

    • ce n’est pas un bogue mais un paramétrage « par défaut »...
      Effectivement il semble préférable de régler ce paramètre sur « pas de forum », ce qui est désormais le cas à partir de la version 0.15.2

    Répondre à ce message

  • 1

    Bonjour,

    Je viens de le tester avec un document complet (des gras, des italiques, des titres, des listes à puces), c’est super et ça marche bien :)

    Juste un truc à ajouter dans la doc peut-être : n’insérez pas de lignes vides, elles seront restituées comme des paragraphes vides comportant juste un signe > dans le nouvel article créé.

    Merci en tout cas, c’est chouette.

    • Juste un truc à ajouter dans la doc peut-être : n’insérez pas de lignes vides, elles seront restituées comme des paragraphes vides comportant juste un signe > dans le nouvel article créé.

      C’était un bogue, il est désormais corrigé (version 0.15.2)

    Répondre à ce message

  • Salut,
    J’ai installé la version 2.1.11 de SPIP, et rajouté le plugin odt2spip
    0.15.1 - stable & Snippets
    0.2.0 .

    Après l’installation pas d’éreur, mais , bien que j’ai le plugins Crayons
    1.13.1 - stable
    je n’ai pas l’option activé dans éditions, comment pouvoir l’activé, merci de votre aide.

    Répondre à ce message

  • Bonjour, j’ai installé odt2spip (version standard) sur mon spip (2.0) et ça marche super.
    Quelques petits détails qui pourraient justifier un correctif :

    -  les caractères en exposant/indice ne sont pas correctement rendus. Il faut inclure des balises HTML <sup> </sup> ou <sub> </sub>

    -  les accolades et crochets sont rendus « tels quels » ce qui ne plait pas du tout à SPIP qui croit trouver des liens ou des raccourcis typographiques. Il faut transformer les accolades et crochets en « entités HTML » : voir &lbrace ; qui va donner &lbrace; et &lbrack ; qui va donner &lbrack; etc.

    En tous cas, un grand merci.

    Répondre à ce message

  • Bonjour

    Merci pour votre excellent plugin qui me fait gagner beaucoup de temps.

    J’apprends maintenant le php, je poursuivrai avec le langage de Spip, et je me fais de fiches de synthèse contenant du code.

    Lorsque j’importe dans Spip ces fiches de synthèse, le code disparaît.

    Pouvez vous m’indiquer une astuce qui me permette de conserver ce code lors de l’import dans Spip grâce à votre plugin ?

    Cordialement
    Jean-Michel

    Répondre à ce message

  • 5
    martingranger

    Rebonjour,
    avec la version stable et un spip 2.1.2, je remarque que systématiquement, le titre de l’article qui est formaté avec n’est pas pris en compte. odt2spip choisit le premier <titre1> pour en faire le titre de l’article. Il faut le transformer en <titre1> (et du coup changer tous les intertitres en <titre2>).

    • martingranger

      Bon apparemment le forum n’aime pas les signes « plus petit que » et « plus grand que »…

      Donc en fait, odt2spip ne prend pas en compte le titre formaté avec « titre », mais transforme le premier titre formaté avec « titre1 » en titre de l’article.

      Il y a aussi pas mal d’erreurs qui sont certainement dues à OpenOffice (plein de trucs du genre :

      {{}}

      Savez-vous s’il existe un « nettoyeur de code » pour OpenOffice ?

      Bon, ce sont des petits détails, ce plugin m’est fort utile. Mais disons que ça nécessite un quart d’heure de boulot après importation, pour un article long.

    • Donc en fait, odt2spip ne prend pas en compte le titre formaté avec « titre », mais transforme le premier titre formaté avec « titre1 » en titre de l’article.

      je ne reproduit pas ce problème : en utilisant le style « Titre » d’Open Office (version 3.2.1) sur un paragraphe, c’est son contenu qui est utilisé pour générer le titre de l’article SPIP.
      Peut être peux tu m’envoyer le fichier odt qui te donne ce comportement bizarre ? (cy.altern chez gmail)

      Il y a aussi pas mal d’erreurs qui sont certainement dues à OpenOffice (plein de trucs du genre :
      {{}}

      ça, c’est un saut de paragraphes qui est placé à la suite d’un titre dans le fichier original : forcément il est pris en compte comme un titre vide !

      Bon, ce sont des petits détails, ce plugin m’est fort utile. Mais disons que ça nécessite un quart d’heure de boulot après importation, pour un article long.

      la majorité des utilisateurs qui ont des problèmes de formatage sont ceux qui utilisent des fichiers odt convertis à partir de fichiers Word...

    • martingranger

      la majorité des utilisateurs qui ont des problèmes de formatage sont ceux qui utilisent des fichiers odt convertis à partir de fichiers Word...

      Bête que je suis, je n’y avais pas pensé !!! C’est effectivement le cas. Faut que je fasse du lobbying pour que les utilisateurs travaillent directement avec OOo…

      PS : je t’envoie quand même le fichier, à tout hasard, pour cette histoire de style « titre » non pris en compte.

    • Extrait du mail auquel était attaché le fichier en question :

      [...] Ce fichier m’est parvenu en format .doc, que je l’ai
      ouvert dans OOo, que j’ai appliqué les styles, puis que je l’ai enregistré en
      odt avant de l’importer dans mon site.
      Mais lors de l’importation, odt2spip considère que c’est le premier intertitre
      (avec le style titre1) qui doit devenir le titre de l’article

      Après avoir essayé plein de reformatages, pas moyen d’arriver à ce que le style d’OpenOffice « reprenne la main » sur celui généré au départ par Word :-(
      Résultat dans le xml extrait par odt2spip et traité pour générer le code SPIP, le style « titre » n’est pas reconnu donc c’est le premier « titre 1 » qui est utilisé comme titre de l’article.
      La seule méthode qui permet de contourner est la suivante : passer le titre de la page en style « titre 1 » et utiliser « titre 2 » pour les titres de premier niveau dans le texte (bref, redescendre d’un niveau tous les titres)
      Si quelqu’un connait une soluce pour « forcer » le changement de format à partir des fichiers Word, qu’il se manifeste, les utilisateurs de ce plugin travaillant sous MSOffice lui seront reconnaissant...

    • josephtux

      Bonjour,

      j’ignore à peu près tout de ces problèmes de « traitement de texte », mais je vois qu’il existe sous Linux un outil ( docvert ) qui transpose des doc en xml ou html , et une variante ( docvert-openoffice.org ) qui propose à peu près le même chose en utilisant openoffice

      Descriptions des paquets Debian :
      1 docvert
      Description : converts word processor files to HTML
      Docvert is a web application which takes word processor files
      (typically .doc) and converts them to OpenDocument and clean HTML.
      .
      The resulting OpenDocument is then optionally converted to HTML or
      any XML. This is done with XML Pipelines, an approach that supports
      XSLT, breaking up content over headings or sections, and saving those
      results to multiple files (e.g., chapter1.html, chapter2.html, etc.).
      The result is returned in a .zip file.
      .
      A command-line program which uses the web application is also included.
      .
      This package only supports OpenDocument. To convert other formats,
      install docvert-openoffice.org.
      Homepage : http://www.docvert.org

      2 docvert-openoffice.org
      Description : converts word processor files to HTML using OpenOffice.org
      Docvert is a web application which takes word processor files
      (typically .doc) and converts them to OpenDocument and clean HTML.
      .
      This package adds the ability to convert Word documents using
      OpenOffice.org

      Peut-être y a-t-il là un rapprochement intéressant ?

    Répondre à ce message

  • 1
    dreline

    Bonjour,

    Je suis en train de tester le plugin qui me paraît très intéressant. De prime abord, j’ai juste un petit soucis.

    Logo de l’article : lors de l’importation d’un article, le plugin me mets automatiquement en logo de l’article l’image appelée artonXXXXX.jpg, où XXXXX est le numéro de l’article.

    Ça ne correspond pas du tout. Savez-vous comment je pourrais désactiver ceci ? J’ai rapidement parcouru le code, mais je n’ai pas trouvé l’endroit où ça se trouve.

    Note : j’ai quelques connaissances en xsl, ... je vais essayer de voir si je peux corriger le bug du saut de paragraphe.

    • Mais c’est le fonctionnement natif de spip ! Idem pour les logos des sites (sitonXXXX.ext), des rubriques(rubonXXXX.ext), des mots (motonXXXX.ext) etc...

    Répondre à ce message

  • Sarlovezzz

    Bonsoir,
    Tout d’abord bravo et un grand merci pour ce plugin qui va m’être très utile pour le site que je suis en train de créer.
    Sans aucune prétention ( je découvre Spip et suis peu calé en php de surcroit... ), je me permets de vous signaler qu’il y a un point-virgule de trop, fin de ligne4, dans le fichier ’’odt2spip_importe.php’’ .
    J’avais l’erreur suivante au téléchargement du doc odt : parse error unexpected ’’ expected
    J’avoue avoue cherché un moment !
    Encore merci pour ce travail !
    Bonne continuation

    Répondre à ce message

  • 2

    Une remarque sur les raccourcis avec Enluminures typographiques V3.

    Désormais, pour les titres, au lieu de : {2{Le titre}2} c’est {{{**Le titre}}} qui est la notation à privilégier (même si l’autre est toujours en état de marche).

    Est-ce que tu pourrais modifier la conversion pour tenir compte de cela ?

    Merci d’avance !

    • la version 0.15 (http://zone.spip.org/trac/spip-zone...) intègre un post-traitement pour adapter la syntaxe à la version V3 tout en gardant la compatibilité avec les versions précédentes pour les SPIP encore en 1.9.2

    • Mist. GraphX

      Bonjour,

      J’ai l’impression que le même problème se pose avec la lame du couteau suisse : intertitre hiérarchisés, qui lui n’est pas pris en charge dans la conversion.

    Répondre à ce message

  • 5

    Bonjour ,

    Sous spip 2.1.2 et sarka 3.0 en test sur un server local , j’utilise votre plugin toutefois j’ai ce message :
    Conflit lors de l’édition

    Attention, les champs suivants ont été modifiés par ailleurs. Vos modifications sur ces champs n’ont donc pas été enregistrées.

    Veuillez contrôler ci-dessous les différences entre les deux versions du texte ; vous pouvez aussi copier vos modifications, puis recommencer.
    Echec lors de l’enregistrement du champ date_redac
    Différences :
    0000-00-00 00:00:00
    Votre version :
    La version enregistrée :
    Echec lors de l’enregistrement du champ date_modif
    Différences :
    0000-00-00 00:00:00
    Votre version :0000-00-00 00:00:00
    La version enregistrée :
    0000-00-00 00:00:00

    J’aimerais comprendre le pourquoi du comment , m’y suis pris comme une clinche ?

    • Je ne comprends pas vraiment en quelles circonstances apparaît ce message (il faudrait plus de précision pour pouvoir reproduire l’erreur !) mais en principe ce message est lié au plugin Crayons lorsque plusieurs auteurs essayent de modifier le texte d’un article simultanément...

    • bonjour,
      j’ai le même problème et il n’y a pas le plugin crayon

      voila le message d’erreur

      Echec lors de l’enregistrement du champ date_redac

      sinon très bon plugin

    • martingranger

      J’ai également ce même message, avec seulement les plugins « bandeau », « snippets » et « odt2spip » installés. Version de spip : 2.1.2
      L’erreur se produit après avoir cliqué sur le bouton « valider » lors de l’importation d’un document OpenOffice.

      PS je joins une capture d’écran (qui n’apparaît pas lors de la prévisualisation de ce message)

    • Il s’agit d’une incompatibilité dans la gestion des révisions entre le plugin snippets et la (nouvelle) fonction utilisée depuis SPIP 2.1.
      http://zone.spip.org/trac/spip-zone... devrait permettre de contourner ce problème. (merci de confirmer !)

    • martingranger

      Je viens d’installer le nouveau fichier, et le message d’erreur n’apparaît plus. Merci !

    Répondre à ce message

  • 2

    Bonjour,
    Et bravo pour cette contrib super utile et qui plus est, très bien documentée.
    Pour ma part, je recherche la possibilité de faire la même chose avec un fichier de stock de produits qui me vient ... d’Excel (10 000 références). J’ai cru comprendre que Excel ne parle pas gentiment à SPIP. Alors que dois-je faire (Ou plutôt, mon client, qui devra mettre à jour son listing en ligne régulièrement) ? Prendre le xls, le passer dans OpenOffice ? Est-ce que le plugin marche avec OOo Calc ?

    Je précise que le client ne souhaite pas faire de commerce en ligne mais simplement proposer la liste de son stock, d’où ma question subsidiaire : je veux une solution qui m’offre la possibilité de faire une recherche de produit dans cette liste par nom, référence ou famille. L’idée de transformer un fichier OoO en article SPIP me plait donc bien. Mais j’ai peut-être loupé d’autres solutions ?
    Merci d’avance.

    • Pour un fichier tableur l’intégration en tant qu’article est « native » dans SPIP à partir de la version 2.0 :

      • enregistrer le fichier au format CSV
      • si le tableau est le seul élément de l’article : attacher ce fichier CSV comme document à un nouvel article dont le texte sera vide : il sera alors directement affiché comme un tableau dans l’article
      • si l’article doit contenir du texte en plus du tableau, intégrer le document dans le texte de l’article avec le raccourci <emb123> (123 correspondant au n° du document).

      Voir le tutoriel sur http://tice.aix-mrs.iufm.fr/demo/sp...

    • Merci cy_altern ! Je suis passée à côté d’une évidence en me perdant dans la recherche de plugins. Je crois qu’il faudrait envisager très sérieusement un grand rangement des contribs, car on s’y perd vraiment maintenant : il y a quelques années que je pratique ce site mais je trouve qu’il est de plus en plus compliqué de trouver des solutions à ses problèmes : entre les contribs qui datent de mathuzalem, les (in)compatibilités avec les dernières versions, les fonctionnalités qui sont désormais intégrées dans spip ... un grand ménage s’impose !
      En tout cas merci pour cette réponse.

    Répondre à ce message

  • 5

    Bonjour,

    Plugin intéressant, merci.

    Malheureusement fonctionne mal dans mon cas : la plupart des mises en forme (le gras, l’italique et l’augmentation de la taille de la police notamment) ne sont pas pris en compte.

    Ex. sur Open Office

    TEST (gras seul)

    TEST ( italique sous-ligné)

    TEST (police agrandie en taille 16...)

    ... donne simplement sur Spip :

    TEST

    TEST

    TEST

    OK par contre pour les tableaux et les puces.

    • Par principe (limitations du code SPIP) l’augmentation de taille de la police, le souligné ou la combinaison gras plus italique ne peuvent pas fonctionner... En revanche gras ou italique sont OK.
      cf la doc ci-dessus : « Ce plugin ne fera rien que vous ne puissiez reproduire avec les raccourcis typographiques de SPIP »

    • OK mais j’ai hélas bel et bien un soucis avec ce plugin car, dans mon cas, même le gras seul et l’italique seul ne fonctionnent pas....

      TEST

      TEST

      donnent :

      TEST

      TEST

    • Non décidément rien à faire, le gras et l’italique ne sont pas reproduits dans l’article Spip :-(

      Si ca peut vous aider, je suis sur Open Office 3.2.1 (build 9502), Spip 2.1, Sarka spip 3

      Merci vivement pour toute aide.

    • Avec les mêmes versions de OOo et SPIP je n’ai aucun problème pour gras et italique...
      Ceci dit, pour que l’on puisse comparer les choses de façon « sérieuse », il faudrait que tu essaie avec le fichier « type » test_complet.odt livré avec le plugin dans le répertoire /test.
      Par ailleurs, dans les paramètres qui peuvent influencer le comportement du plugin il serait intéressant d’avoir la version de PHP qui tourne sur ton serveur ainsi que les version des composants de l’extension XSL de PHP (cf les infos accessibles par la page .../ecrire/ ?exec=info).

    • Alors là je n’y comprends plus rien... ca fonctionne nickel avec ton fichier « type » de test !

      En fait la raison est probablement que je suis parti d’un fichier de test avec le style par défaut : standard, où je n’ai fait que rajouter test et test sur 2 lignes...

      Dois-je comprends que le plugin ne fonctionne qu’avec des styles autres que « standard » ?

      En tout cas un grand merci pour ton aide.

    Répondre à ce message

  • 1
    OpenOffice

    Bonsoir à tous,
    Merci pour ce plugin qui semble ravir tout le monde. Hélas pour moi, soit je suis très fatigué, soit je ne trouve pas le lien « Créer un article à partir d’un fichier OOo Writer » dans les raccourcis.
    J’ai installé et activé le plugin odt2spip sur un SPIP 2.1.0 [15608]. J’ai également installé et activé le plugin snippets... :-(
    C’est grave docteur ?
    Merci à tous

    • Il faut aller dans n’importe quelle rubrique de la partie privée du site : le lien sera alors visible sous le bloc des raccourcis.

    Répondre à ce message

  • Excellent plugin. Ca fait longtemps que je recherchais quelque chose de ce type. Merci beaucoup pour tout ce travail !

    Répondre à ce message

  • 1

    Ce serait bien de pouvoir créer une brève par cette même méthode.

    • Pourquoi pas ? Si le cœur t’en dit, à priori il n’y aurait que quelques lignes à changer dans le fichier /odt2dpip/action/odt2spip_import.php pour générer une brève à la place d’un article (cf lignes 195 à 228).

    Répondre à ce message

  • Génial, c’est LE plugin qu’il me fallait, faire participer à un site SPIP des gens peu à l’aise avec l’informatique, c’est difficile, et l’interface d’écriture d’articles, bien que puissante dès lors que l’on fait l’effort de s’y plonger, déroute mes rédacteurs. Autant dire que là, c’est le bonheur. Une remarque tout de même, sur le site fait pour une copine (Ledily), je n’arrivais pas à faire fonctionner le plugin, j’ai épluché la doc, lu le forum jusqu’au bout et constaté avec amertume que je suis en SAFE_MODE_GID ON (et d’ailleurs en SAFE_MODE ON aussi, sur PHP Version 5.2.4...). J’ai tenté d’éplucher le plugin pour voir si je ne pouvais pas contourner le problème (SPIP s’est installé sans problèmes, de mémoire...), et je me suis rendu compte que c’était plutôt un problème de chemin (le / en fin de variable qui contient le chemin ne plait pas à mon hébergeur). Après quelques modifs, tout fonctionne parfaitement : mille mercis !!

    Répondre à ce message

  • 2
    Bailly Eric

    Bonjour
    je reviens vers vous pour mon pb d’import vers mon site spip.

    Aprés multitude d’essai, j’ai réussi à faire fonctionner le plugin.

    Comme demandé j’insère mes images par la fonction « insertion/images/a partir d’un fichier » je met en page sur OoO et ensuite j’envoie sur le site.

    Lorsque mon fichier *.odt n’as pas d’image tout fonctionne pour le mieux mais lorsque j’ai des images dans le texte, le même message me revient à chaque fois.

    de ce genre :
    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_uploadTTN8u3/.. 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_uploadTTN8u3.

    n’y a t’il pas un probléme de taille de fichiers images ou alors une limitation du nombre de ces images.

    pour l’instant j’envoie mon texte sans les images et je les ajoutent ensuite à la mains mais je dois dire que la mise en page en prend un coup.

    Dommage car ce plugins est vraiment excellent.

    merci par avance de votre aide sur ce sujet.
    cordialement
    Eric Bailly

    • vu le message d’erreur (et le fait que ce plugin fonctionne très bien sur la majorité des hébergements) il s’agit clairement d’un problème de droits sur les fichiers temporaires générés par php.
      Le chemin du fichier temporaire pointé dans l’erreur est par ailleurs très louche : il devrait être dans /tmp/odt2spip/ton_id_utilisateur : vérifie que les droits sur le dossier /tmp sont bien à 777 (ou 755 au minimum). Eventuellement, histoire de mieux cerner la cause de l’erreur, tu peux créer par FTP le sous-dossier /odt2spip/XYZ ou XYZ correspond à ton id_auteur, le mettre en 777 et voir ce que ça donne.
      Sinon, pour que je puisse éventuellement aller plus loin il me faut un compte admin sur le SPIP et un accès FTP (le tout envoyé sur [cy.alternATgmail])

    • Note après examen des fichiers odt utilisés : il ne s’agit nullement d’un problème du plugin mais du fait que les fichiers images ne sont pas présents dans le fichier odt.
      Pour toute erreur de ce style commencez par faire un dézippage du fichier odt et vérifiez qu’il existe bien un sous-répertoire /Pictures contenant les images à afficher dedans. Si ce n’est pas le cas, le problème se situe au niveau de votre traitement de texte : inutile de poster ici, nous ne pourrons rien faire pour vous !

    Répondre à ce message

  • Bonjour,
    Le test de ce plugin avec SPIP 2 me renvoie ce message d’erreur :

    Erreur...
    Fichier odt2spip_importe introuvable

    Pourtant le plugin a été complètement déposé et activé, de même que le plugin snippets.

    Avez-vous rencontré cette erreur auparavant ?
    Ou bien ai manqué quelquechose ?

    Répondre à ce message

  • 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

  • 4
    luckyroma

    I installed both the plugins.

    I got the following error message :
    Fatal error : Call to undefined function : spip_abstract_insert() in /web/htdocs/www.scenaillustrata.com/home/public/ecrire/inc/ajouter_documents.php on line 212

    Do you have any suggestion ?

    Répondre à ce message

  • 4

    Je suis allé voir ce qui se passait à la ligne 210… Elle appelle, pour spip_version > 2.05, la fonction

    effacer_repertoire_temporaire($rep_dezip)

    qui n’est définie nulle part, d’où l’erreur. J’ai pour le moment mis en commentaire les lignes 210, 211 et 212, ce qui fait que le répertoire n’est pas effacé mais, comme l’importation suivante écrase la précédente, c’est un moindre mal et je peux toujours effacer le répertoire par ftp de temps en temps.

    affaire à suivre, merci

    • Est tu certain d’avoir la dernière version du plugin ? Dans tous mes tests la suppression du répertoire de dézippage fonctionne très bien (SPIP version 2.0.5 et 2.0.6)...

      la fonction effacer_repertoire_temporaire($rep_dezip) qui n’est définie nulle part, d’où l’erreur

      pas du tout ! la fonction effacer_repertoire_temporaire() est une fonction du core de SPIP, définie dans /inc/getdocument.php

      J’ai pour le moment mis en commentaire les lignes 210, 211 et 212,

      si le problème persiste malgré une mise à jour de version du plugin et/ou de SPIP, tu devrais faire cette modif du code à la ligne 210 :

      if ($spip_version_code >= 12691 AND function_exists('effacer_repertoire_temporaire'))
          effacer_repertoire_temporaire($rep_dezip);

      ainsi tu n’aura plus le message d’erreur et le répertoire sera supprimé.

    • I experience the same probleme

      odt2spip : 0.11 [27246]
      Spip Version SPIP 2.0.5 [13790]

    • Même erreur spip 2.0.6, odt2spip v1 et snippet téléchargés aujourd’hui.

    • Je ne reproduis pas votre erreur mais j’ai quand même tenté de faire une petite correction... Commité en [27488] (http://zone.spip.org/trac/spip-zone...) et disponible dans le zip de cette nuit.

      Pour tous ceux qui ont eu le bogue : merci d’essayer cette révision et de faire un retour de test ici...

    Répondre à ce message

  • ReBonjour,
    Merci pour les renseignements sur le svn, je resterai donc à la version 0.1, qui ne marche pas si mal puisque, après avoir délivré le message suivant :
    Fatal error : Call to undefined function : effacer_repertoire_temporaire() in /mnt/112/sdc/4/e/wvorg/hoepffner/spip/plugins/auto/odt2spip/action/odt2spip_importe.php on line 210
    en faisant retour sur le navigateur, on obtient une page tout à fait utilisable (titres, gras, italique et note de bas de page). C’est surtout pour le confort que cela gène.
    De toute façon merci, le système est nettement plus pratique que celui à partir de word (malheureusement les rédacteurs s’obstinent à soutenir microsoft…)

    Répondre à ce message

  • 2

    Bonjour,
    je viens d’essayer ce plugin et lors du téléchargement du fichier OpenOffice j’ai une erreur « Fichier odt2spip_importe introuvable ». J’ai vérifié ce fichier est pourtant présent.
    Quelqu’un sait-il pourquoi j’ai cette erreur ?

    • [le message suivant à été effacé pour case de flood de forum : on ne colle pas 250 lignes de retour d’erreur dans un message de forum !!! ça va pas non ?]

      18 mars 22:01 , par Alain
      odt2spip : création d’articles à partir de fichiers OpenOffice Writer

      Oui, j’ai exactement la même chose, après une page de messages d’erreur :

      le creer si il n’existe pas $base_dezip = $p[0]._NOM_TEMPORAIRES_INACCESSIBLES.« odt2spip/ » ; // avec /
      [...suivi des 250 lignes de la fin du fichier odt2spip_importe.php...]

      La, tu dois avoir un problème dans le fichier en question, par exemple une corruption du zip lors du téléchargement ?

      Regarde le code php du fichier si il ne présente pas une anomalie (???), remplace le par une version re-téléchargée...

      Dans tous les cas, j’ai besoin de savoir la version *précise* de SPIP et la version de PHP (.../ecrire/ ?exec=info) pour faire un diagnostic !

    • heu... ben là, comme ça, avec aussi peu de détail, y’a *aucune chance* que je puisse faire quelque chose pour ton cas !

      Il faudrait indiquer au minimum la version *précise* de SPIP et la version de PHP (.../ecrire/ ?exec=info) pour faire un diagnostic... + vu qu’il semblerait qu’il y ait un problème de chemin vers un fichier, le chemin du répertoire d’installation du plugin dans le SPIP.

    Répondre à ce message

  • 1

    Bonjour,

    Je suis intéressé par la dernière version en svn, pouvez-vous me communiquer les identifiants pour la charger ?

    Merci par avance.

    Jacques Hoepffner

    • le SVN de la zone est accessible en lecture librement (donc pas besoin de code d’accès) : svn://zone.spip.org/spip-zone/_plug...

      Ceci dit, pour l’instant la version 0.2 n’apporte *rien* de plus que la version 0.11 si ce n’est le fait qu’elle risque d’être boguée pour cause de modifications en cours...

    Répondre à ce message

  • 3

    Magique. C’est vraiment super parce que c’est con à dire mais les gens sont moins réticents à être formé à ooo qu’à spip. Donc c’est vraiment super, un grand merci.

    Cependant, je constate quelque chose : sous OOo, quand on va à la ligne, ça créer automatiquement un nouveau paragraphe. C’est normal c’est la langue française qui veut ça. Mais le plugin ne semble pas le prendre en charge. Bug, feature, volonté ? Je veux bien une piste d’où chercher pour fixer la chose.

    Je constate aussi en relisant que le gras et l’italique sont géré dans la transformation, mais pas le souligné.

    Merci encore pour ce plugin cy_altern

    PS : je fais une doc pour expliquer comment utiliser OOo et le plugin dans spip. J’ai une section « remerciement ». Pour le moment je te remercies avec cy_altern. Si tu veux que ton nom apparaissent ast3roid at gmail point com. Bien sûr je te ferais passer la doc une fois qu’on l’aura finit, ça va de soit.


    Jérôme Prior, aka asteroid

    • Cependant, je constate quelque chose : sous OOo, quand on va à la ligne, ça créer automatiquement un nouveau paragraphe. C’est normal c’est la langue française qui veut ça.

      Ce n’est pas une règle de la langue française,non, c’est ton traitement de texte qui veut ça... et uniquement parce que tu fais un changement de paragraphe (touche Entrée) et non pas un retour à la ligne (touches Maj + Entrée).

      Mais le plugin ne semble pas le prendre en charge. Bug, feature, volonté ?

      Aucun des 3... c’est simplement que le format de fichier XML généré par OOo Writer impose que tous les éléments de texte soient « emballés » dans une balise <text:p>...bla bla bla...</text:p> y compris ceux dans une cellule de tableau ou un item de liste par ex. Du coup, dans la XSLT qui traite le fichier xml extrait du odt, on ne peut pas appliquer la règle générale « faire un saut de paragraphe (i.e. 2 retours lignes dans le code SPIP) chaque fois que l’utilisateur est revenu à la ligne » puisque cela à pour conséquence que l’on se retrouve avec des doubles retours lignes dans les cellules de tableau (ce qui n’est pas possible puisque cela termine le tableau...) et idem pour les listes.
      (Voir le fichier content_test_complet_indente.xml dans le répertoire /tests du plugin pour mieux comprendre la structure du XML d’OOo Writer).

      Du coup, il s’agit plutôt de feignantise qu’autre chose : en XSLT il y a moyen de faire un test de la parentèle dans l’arbre des balises du document pour détecter si oui ou non il faut appliquer le saut de paragraphe lors de la fermeture de la balise <text:p> mais j’ai eu la flemme de trouver la soluce qui le fait sans faire boguer tout le reste...

      Du coup, si on veut un retour paragraphe dans le code SPIP, il faut faire un double saut de paragraphe dans le texte (i.e. sauter une ligne).

      Si tu es intéressé pour avancer sur ce point, il faut que tu bidouille dans le fichier /inc/odt2spip.xslt c’est le bloc <xsl:template match="text:p"> quelque part vers la ligne 263. Si tu bosse direct sur le SVN (svn ://zone.spip.org/spip-zone/_plugins_/_stable_/odt2spip/version_0.1_stable), essaie de ne comiter que lorsque tu es absolument certain qu’il n’y a pas de régression des autres traitements ! Le fichier /tests/test_complet.odt est à utiliser comme référence de contenu à tester.

    • Ce n’est pas une règle de la langue française,non, c’est ton traitement de texte qui veut ça... et uniquement parce que tu fais un changement de paragraphe (touche Entrée) et non pas un retour à la ligne (touches Maj + Entrée).

      Je veux bien que techniquement il en soit ainsi, mais la langue français veut qu’on ne va à la ligne que lorsqu’on créé un nouveau paragraphe. Regarde dans n’importe quel livre, on ne va _jamais_ à la ligne sans créer un nouveau paragraphe (souvent matérialisé par un espace plus large avant le paragraphe et un alinéa sur la première ligne).

      Je te promets pas que je comite quoi que ce soit, par trouille de tout casser, mais je vais tenter d’y mettre le nez dedans. Si je trouve comment faire, je le posterais ici même.

      Merci

    • j’ai essayé de regarder un petit peu pour cette histoire de paragraphe non géré, mais xsl est vraiment en soit, loin de css malgré son nom, et je n’ai pas su comprendre le fonctionnement. Aussi pas de modif :( Solution en attendant une évolution éventuelle du plugin : repasser les articles à la main.

      Malgré ça un grand merci pour odt2sipi qui est vraiment indispensable. Bravo


      asteroid

    Répondre à ce message

  • 1

    Une petite erreur sur le lien (cf. Installation) voici le lien qui fonctionne :

    http://files.spip.org/spip-zone/odt2spip_v0.1.zip

    Merci pour ce boulot ... prometteur !

    Répondre à ce message

  • 6

    Bonjour,

    je suis vraiment intéressé par ce plugin mais je n’arrive pas à le faire fonctionner. L’installation n’a pas posé de problème mais voilà le le message que j’obtiens après la procédure de téléchargement du fichier repris sur mon disque dur :

    Warning : Sablotron error on line 1 : XML parser error 2 : syntax error in /home2/j/jonfosse/www/spip/plugins/auto/odt2spip/action/odt2spip_importe.php on line 72
    Erreur lors de la transformation XSLT du fichier ODT

    Je travaille sous mac OS 10.5 mais je viens de faire le même essai sous windows et j’obtiens le même résultat avec le fichier de test téléchargé sous le site de Marseille.

    Merci d’avance de vos lumières

    Pierre Stegen

    • Il s’agit d’un problème dans l’appel des fonctions XSL de PHP4... C’est en principe corrigé par http://zone.spip.org/trac/spip-zone/changeset/27133 qui sera disponible dans le zip de cette nuit.

    • Merci, je teste demain et je vous informe du résultat.
      Je croise les doigts !

      Pierre Stegen

      http://www.jonfosse.be

    • Bonjour,

      cela ne marche toujours pas et l’erreur semble se produire ailleurs cette fois.
      Voici le message affiché.

      Warning : Sablotron error on line 1 : XML parser error 4 : not well-formed (invalid token) in /home2/j/jonfosse/www/spip/plugins/auto/odt2spip/action/odt2spip_importe.php on line 83
      Erreur lors de la transformation XSLT du fichier ODT

      Merci pour votre travail très important pour moi. Ce plugin devrait permettre aux collègue de rédiger plus facilement des articles pour le site.

      Bon dimanche

      Pierre Stegen

    • Effectivement là il s’agit d’une erreur dans le chemin de la feuille de style XSL lors de son appel par le parseur Sablotron utilisé par PHP4. Le problème pour ce bogue c’est que le serveur PHP4 que j’utilise est sous Windows (easyphp 1.8) et qu’avec cette version je n’ai pas d’erreur...

      Pourrais tu me créer un compte rédacteur dans ton SPIP et me l’envoyer ainsi qu’un code d’accès FTP (avec au minimum droit d’écriture sur le répertoire du plugin) histoire que je puisse faire les quelques manips nécessaires pour débusquer/corriger cette erreur ?
      Mon adresse est cy_altern « chez » yahoo.fr

    • OK, c’est corrigé et commité (http://zone.spip.org/trac/spip-zone/changeset/27144). Merci pour l’espace de débogage ! (du coup ton site est fonctionnel ;-)

    • Bonsoir,

      un tout grand merci pour la qualité et la rapidité de ton travail !

      Pierre Stegen

    Répondre à ce message

  • 6

    Salut !

    Merci pour ce plugin génial !

    Je me demandais s’il serait possible de gérer des niveaux d’intertitre quand des plugins comme les enluminures typo ou les intertitres hiérarchisés sont présents ?

    Peut-être en faisant une autre feuille xsl qui prenne en compte les niveau d’intertitre ? Elle serait utilisée quand les plugins d’intertitres sont installés.

    Est-ce que ce serait possible ??

    Hélas je ne connais rien de rien au xsl et ne peut donc pas mettre la main à la patte avant d’avoir étudié comment ça fonctionne... Ça va être long !

    • s’il serait possible de gérer des niveaux d’intertitre quand des plugins comme les enluminures typo ou les intertitres hiérarchisés sont présents ?

      Oui c’est possible (si ils utilisent les même raccourcis)

      Peut-être en faisant une autre feuille xsl qui prenne en compte les niveau d’intertitre ? Elle serait utilisée quand les plugins d’intertitres sont installés.

      Ca serait une solution mais à priori il n’est pas nécessaire d’utiliser une autre feuille de style puisque l’on peut envoyer des paramètres au processeur XSLT de PHP : une feuille xslt devrait suffire à gérer les différents cas.

      Le problème n’est pas de savoir si c’est possible mais si j’ai le temps/l’envie de le faire...

    • Merci pour la réponse rapide,

      Le problème n’est pas de savoir si c’est possible mais si j’ai le temps/l’envie de le faire...

      Maintenant que tu me confirmes que c’est possible, je vais commencer à me renseigner* sur XSLT et peut-être que j’arriverai à commiter quelque chose !!

      *(il va falloir trouver le temps et ce n’est effectivement pas facile !)

    • ben du coup que le challenge était intéressant, j’ai craqué et je l’ai fait... Bon, c’était plus pour le « proof of concept » du passage de variables php au parseur XSL qu’autre chose vu que ces plugins font un méchant fork *sans retour* du code SPIP des articles ! (résultat le XSL est codé a la bourrin...)

      Puisque « Intertitres enrichis » supporte les raccourcis de titres de « Enluminure typo » (ceux de la forme {2{titre niveau deux}2} j’ai pas différencié entre les 2 plugins et c’est ce type de code qui est utilisé.

      Ca devrait être dans le zip de cette nuit : merci de tester pour les 2 plugins et de faire le retour de bogues éventuels...

    • je ne sais pas ou ajouter cela alors voilà 2 pistes..

    • la deuxième

    • cy_altern

      Super ces logos ! Je prend le premier, c’est celui que je préfère.

      Merci beaucoup !

    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