La question des grands tableaux dans SPIP
Transcrire dans SPIP des tableaux issus d’un traitement de texte ou d’un tableur et comportant de nombreuses colonnes et/ou rangées relève parfois du cauchemar !
En effet, dans SPIP les séparateurs des champs (les cellules ou les cases d’un tableau) sont codés par un | (« Pipe », caractère spécial obtenu en pressant simultanément 2 touches : touche "alt gr"et la touche 6) .
Pour faciliter la tâche, 2 solutions sont possibles :
- utiliser la barre typographique
- ajouter le code manuellement
1.1- Utiliser le bouton tableau de la barre du plugin Barre Typo V2
Ce bouton ouvre une fenêtre comportant un tableau à compléter manuellement ou par copier-coller.
Ainsi, le tableau donné en exemple ci-dessus comporte 3 colonnes sur 25 lignes (environ), soit 75 cellules . Cela oblige dans ce premier cas à 75 copier + 75 coller !!!
1.2- Ajouter le code manuellement
Ceci directement dans un traitement de textes ou dans le bloc-notes. Il faut alors placer un signe « | »…entre les valeurs des cellules et - en plus - au début et à la fin de chaque ligne du tableau.
Ce qui revient à insérer 4 x 25 signes « pipes » donc 100 opérations ; ce qui est tout de même plus rapide que la méthode précédente !!!
2- Une méthode pour insérer automatiquement les caractères spéciaux.
2.1- Dans votre traitement de textes :
Vous sélectionnez et copiez ( ctrl+c) votre tableau
2.2- Utiliser le tableur. ( Excel ou Oo Calc)
- Ouvrez le tableur
- Collez le tableau ( ctrl+v) : chaque « valeur » est copiée dans une cellule de la feuille de calcul.
- Vérifier que des cellules ne sont pas fusionnées . L’exemple précédent montre que la rangée du titre est constituée des cellules fusionnées des lignes 1 et 2 . Pour supprimer cette « fusion », dans Excel, décocher l’option du menu « format > alignement ».
Le contenu de la seconde ligne pourra soit être ajouté à la première ligne soit mis en « notes de bas de page » ou toute autre solution aboutissant à une bonne compréhension des données !
Pour simplifier dans cet exemple on supprime (provisoirement) l’expression « 0,1M ».
- Insérez une colonne à gauche de votre tableau et une à droite.
- Sur la première ligne, placez un X (ou une autre lettre) dans chacune des 2 cellules situées de part et d’autre des titres (soit ici A1 et E1) .
- par sécurité, effectuez la même opération sur la dernière ligne du tableau.
Ces "X" ou autres lettres ajoutées permettent lors de l’opération suivante – enregistrement au format CSV – de placer des séparateurs de champs en début et fin de ligne.
- Enregistrez le fichier au format .CSV (au lieu de xls etc...)
dans ce format, par défaut, les séparateurs des champs sont des " ;" point virgule.
- Dans cet exemple, on a enregistré sous « tampon4.csv », puis on ferme le logiciel de calcul.
2.3- Utiliser le bloc note
- Ouvrez votre fichier « xxx. Csv »
Pour voir les fichiers .csv. , dans la fenêtre « ouvrir » prenez soin , dans le cadre « fichier de type » de sélectionner « tous les fichiers » au lieu de.txt (extension du type "fichier texte" qui est affiché par défaut)
Le fichier ouvert dans le bloc note montre les points virgules séparant les champs et les X au début et en fin de la première ligne (titres des colonnes) et sur la dernière ligne du tableau.
- Il faut alors supprimer les 4 X qui n’ont aucun autre intérêt que de permettre la création de « fausses » colonnes et de faire placer les « ; » séparateurs de champ en début et fin de ligne !
- Dans le menu édition > remplacer,
complétez le champ rechercher par « ; » et remplacer par « | » puis cliquez sur « remplacer tout » ….
on obtient :
- Il est alors possible à ce stade [1] d’ajouter les codes d’enrichissement typographique pour le titre ; à savoir 2 accolades de part et d’autre de chacun des champs de la première ligne , pour afficher les titres de colonnes en gras.
Une fois le code complété …
- sélectionnez et copiez le tout (vous êtes dans le bloc-notes)
2.4- Fin du travail dans SPIP
- Cliquer sur le bouton « modifier l’article » comme pour saisir du texte
- Placez votre curseur à l’endroit qui doit recevoir le tableau
- Collez le code du tableau dans SPIP et enregistrez.
Vous obtenez ceci :
C’est un peu long à expliquer, mais infiniment plus rapide à mettre en œuvre… et dans le cas de tableau de plus de 20 ou 25 cellules il n’y a pas à hésiter !
Discussions par date d’activité
4 discussions
Le problème est réel, mais je pense qu’avec les modèles on devrait pouvoir développer une interface plus simple :
1. joindre à l’article visé une pièce jointe au format CSV (Comma Separated Value), c’est-à-dire le tableau sous format textuel avec des points-virgules comme séparateurs de colonnes.
2. dans le corps de l’article utiliser la syntaxe des modèles, par exemple
<csvXXX>
où XXX est le numéro du document.Par ailleurs, une fois pour toutes, écrire un modèle csv.html qui se réduit à appliquer sur la pièce jointe un filtre nommé disons csv2spiptab. Ce filtre consisterait à prendre le contenu du fichier, y remplacer les « ; » par des « | » puis à appliquer la fonction traiter_raccourcis.
Gros avantage : si le fichier original est mis à jour, il suffit de remplacer la pièce jointe pour mettre aussi à jour le site. Si c’est une pièce distante, il n’y aurait même rien à faire.
Bon bah voilà c’était même encore plus simple car le modèle EMB faisait déjà une partie du travail, il a juste suffit de l’étendre. Voir http://trac.rezo.net/trac/spip/changeset/10948
juste pour faciliter la lecture, je met copie de ce commit 10948 ici
http://trac.rezo.net/trac/spip/chan...
Le message ci-dessus étant un peu illisible (il y a des chevrons mal interprétés) et déjà un peu daté, voici le message final posté sur spip-core :
Le modèle « emb », qui permet d’incruster le contenu d’une pièce jointe
dans le corps d’un article, est à présent étendu à la plupart des
types MIME, complèté au besoin par un pré-traitement spécifique.
En particulier, lorsque ce modèle concerne une pièce jointe de type
MIME « csv’ (Comma Separated Values) fournie par un tableur, SPIP
remplace automatiquement ses » ;" par les balises html TD et connexes,
ce qui lui permet d’afficher le contenu de cette pièce jointe de
manière similaire à celle du tableur. Pour les autres documents de
type Text, ils apparaissent sous une balise PRE, et les chevrons sont
transcodés pour éviter d’être interprétés comme du HTML. Pour les
documents audio et video, ils apparaissent avec des controleurs en
permettant le défilement.
Si la piece jointe porte le numéro NNN, il suffit donc d’écrire
<embNNN|> dans le corps de l’article pour obtenir le résultat.
Le message ci-dessus étant peu lisible (car il contient des chevrons mal interprétés) et déjà un peu daté, voici le message envoyé sur spip-core plus récemment :
De plus, si le corps de l’article est vide, et qu’il ne possède qu’un
seule pièce jointe (les images ne comptant pas), cette incrustation
est réalisée automatiquement, sans même qu’il soit besoin d’écrire
dans le corps de l’article.
Voir :
http://trac.rezo.net/trac/spip/changeset/10948
http://trac.rezo.net/trac/spip/changeset/10950
http://trac.rezo.net/trac/spip/changeset/10951
http://trac.rezo.net/trac/spip/changeset/10955
Il y a eu encore des améliorations autour de ce filtre (SVN11111, SVN11113), et la
documentation
en a été rédigée.
Merci à ceux intéressés par cette problématique de tester la dernière SVN avec des fichiers issus de leur tableur (ils diffèrent énormément) et de relire cette documentation.
A signaler (voir l’article cité) que cette inscrustation a été aussi réalisée pour les documents HTML, autre moyen d’insérer des tableaux, mais cette fois avec des styles de mises en page personnels, ce que ne permet pas CSV.
Répondre à ce message
une extension pour Openoffice, CalctoDocuwiki permet de bénéficier dans le module tableur Calc d’un bouton pour transformer un tableau ou une sélection de cellules au format Docuwiki directement copiable dans un article Spip
Euh ! oui cela à l’air très bien...
Mais , je n’ai réussi à le faire fonctionner ni avec OOo portable, ni avec une version récente installée (2.3 ) pour la circonstance !
Qui peut dire ce qu’il faut faire ???
Bonjour,
Initialement, j’ai développé l’extension Calc2Dokuwiki (avec un « k » dans « Doku ») pour créer des tableaux dans Calc et les exporter facilement dans DokuWiki, je ne pensais pas que ça fonctionnerait aussi pour Spip ! N’hésitez pas à me faire des retours pour me dire si le formatage des cellules est bien respecté (je croyais que Dokuwiki et Spip avaient des règles de formatage différentes).
Je m’aperçois que j’ai un peu négligé la documentation francophone, exusez-moi. Voilà quelques indications complémentaires :
1. si vous avez installé OOo 2.1.x et >, vous pouvez lancer l’installation de l’extension en double-cliquant sur calc2dokuwiki.oxt après l’avoir téléchargée ;
2. si vous avez installé une version 2.0.x ou une version portable d’OOo 2.x, il vous faudra installer l’extension par le Gestionnaire des extensions :
2. 1. il est disponible dans le menu Outils/Gestionnaire des extensions... -> la fenêtre du gestionnaire s’ouvre
2. 2. sélectionnez Mes extensions et cliquez sur le bouton [Ajouter...] -> un explorateur de fichiers s’ouvre
2. 3. utilisez-le pour aller chercher votre copie locale du fichier calc2dokuwiki.oxt
3. si vous utilisez OOo 1.x, passez à OOo 2.x (bin oui, sinon à quoi ça sert que la communauté continue de développer et d’améliorer ce logiciel ?!? ;) ) ou alors :
3. 1. téléchargez la version macro : calc2dokuwiki.bas et installez-la dans une bibliothèque que vous appellerez Calc2Dokuwiki par exemple ;)
3. 2. téléchargez la petite icône kivabien
3. 3. ajoutez un bouton à l’interface graphique de Calc par le menu Personnaliser... de la barre d’outils (c’est matérialisé par un petit triangle noir pointant vers le bas). Associez à l’icône la procédure Calc2Dokuwiki_Main
NOTE : si jamais l’icône de Calc2Dokuwiki (cf screenshot) n’apparaît pas dans l’interface de Calc, activez-la dans le menu Affichage/Barre d’outils/Calc2Dokuwiki.
Voilà, je ne suis pas sûr que c’était l’endroit pour faire un message aussi long, mais un utilisateur m’a demandé de le diffuser ici ! :)
Sympathicamicalement, Luc
—
Site personnel : http://www.lucsorel.com/
Ma version 2.3 de OOo Calc avait dans un premier temps détecté le fichier .oxt et avait chargé « elle même » l’extension ! Le bouton était bien là mais non fonctionnel !
J’ai recommencé en suivant pas à pas la procédure décrite par l’auteur ..
Moralité : rien ne sert de courir....
Voilà une appli excellente ! quel gain de temps et d’energie !
MERCI !
Répondre à ce message
il y a plus simple : spip-edit
le lien a l’air mort
ou la macro word vers spip
je dis cela car j’ai déjà testé cette méthode auprès d’utilisateurs, il y a trop d’outils en jeu
le lien c’est spipedit.com (sans « - » ) mais l’url renvoit vers le webmail associé au domaine. Manifestement ce site a finis de vivre :/
(dommage, c’est avec leur squelette que j’avais pondu mon premier site :P )
Par contre le programme semble encore dispo ici : http://www.atoute.org/n/article77.html et je confirme, l’auteur originel a décidé selon cet article, d’arrêter le developpement du soft
Par contre, cette macro word2spip m’intéresse beaucoup en ce moment mais je n’arrive pas à remettre la main dessus. As tu un line STP ???
Spip-edit est tout à fait bien pour des petits et moyens tableaux. Si vous cherchez à transformer un tableau comprenant un certain nombre de lignes (+ ou - 30) il se perd et vous n’obtenez plus rien.
Sauf bien sûr à créer manuellement le tableau dans Spip-edit.
c’est dans spip-contrib ici
Répondre à ce message
Bonjour, dès mes débuts avec SPIP, j’avais cherché une méthode pour récupérer les tableaux de Word ou d’excel ; voici celle-ci qui est dans la même lignée, mais plus rapide et qui fonctionne avec OOo :
Il vous reste juste un copier de Word vers Spip.
Cordialement.
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 :
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.
Suivre les commentaires : |