SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

288 Plugins, 197 contribs sur SPIP-Zone, 212 visiteurs en ce moment

Accueil > Rédaction > Graphiques et tableaux > Tableau CSV en tableau SPIP > Importation de tableaux au format CSV

Importation de tableaux au format CSV

18 avril 2017 – par Robert Sebille

5 votes

Cette contribution ou ce plugin est en phase de test. Des bugs peuvent subsister. N’hésitez pas à les signaler dans le forum ci-dessous.

tabcsv est un plugin pour SPIP qui permet de transformer du contenu écrit au format CSV (Comma-separated values) en tableau SPIP.

Le plugin fonctionne sur base d’un modèle. Le contenu csv peut être écrit en paramètre du modèle ou contenu dans un fichier au format

Le modèle a été testé sous SPIP 3.1, mais il n’y a pas à priori de raison pour qu’il ne fonctionne pas également sous SPIP 3.0, ou 2.1 et 2.0. Il faut simplement tester. Des retours d’utilisateurs sont les bienvenus.

Ai-je besoin de ce plugin ?

Si vous n’avez pas besoin :

-  de la possibilité de choisir que la première rangée des tableaux puisse être un titre ou non
-  de la possibilité de choisir le séparateur de champ
-  que tous les tableaux générés aient aussi une classe propre aux tableaux tabcsv qui permette de formater ces tableaux-là seulement
-  que chaque tableau généré puisse avoir sa propre classe css, sans affecter les autres tableaux, tabcsv ou SPIP.
-  de pouvoir interpréter du csv écrit (ou copié/collé) directement dans le texte

alors, vous n’avez pas besoin de ce plugin ; utilisez plutôt le modèle emb de SPIP.

Exemples d’utilisation dans un article

Classique
Petit tableau avec contenu csv copié/collé, délimiteur de texte = « rien » (défaut), séparateur de champs = ; (défaut)

<tabcsv|contenu=
Col 1;Col 2
10,11;10,12
10,21;10,22>

Particuliers
Petit tableau avec contenu csv copié/collé contenant doubles et simples quotes, délimiteur de texte = ", séparateur de champs = ;

<tabcsv|delimiteur=oUi
|contenu="L'entrée titre "colonne 1"";"L'entrée titre "colonne 2""
"col11";"col12"
"col21";"col22">

Petit tableau avec contenu csv copié/collé doubles et simples quotes, délimiteur de texte = rien, séparateur de champs = ,

<tabcsv|separateur=,|contenu=
L'entrée titre "colonne 1",L'entrée titre "colonne 2"
col11,col12
col21,col22>

Tableau large (nombre de colonnes) dans un fichier csv d’id XX, avec classe « tableau_large », délimiteur de texte = « rien » (défaut), séparateur de champs = ; (défaut)
<tabcsvXX|classe=tableau_large>

La classe tableau_large permet alors d’intervenir via les CSS pour un meilleur affichage de ce tableau, sans influencer l’affichage des autres tableaux de classe spip.

Règles du format CSV en vigueur dans le modèle

  • Par défaut, il n’y a pas de délimiteur de texte et le séparateur de champs est le ; (point-virgule).
  • Via les paramètres (voir plus loin), on peut redéfinir le délimiteur de texte à " (guillemet double) et le séparateur de champs à ce qu’on veut.
  • Il faut fixer le délimiteur de texte à " (guillemet double) :
    • Si les données du contenu CSV contiennent le caractère du séparateur de champ
    • Si (Attention, particularité du modèle !) les données du contenu CSV contiennent un ou des ’ (guillemets simples) ET que le séparateur de champ est le ; (point-virgule)

Paramètres du modèle

Facultatif
-  titre=non — (non est insensible à la casse) par défaut, la première ligne du CSV est considérée comme les intitulés des colonnes. titre=non impliquera que la première sera considérée comme une rangée normale.
-  delimiteur=oui — (oui est insensible à la casse) déclare que le délimiteur de texte est le " (guillemet double). Par défaut, il n’y a pas de délimiteur de texte.
-  separateur=[1 caractère] — par défaut, le séparateur de champ est le ; (point-vigule). Exemple qui choisira la , (virgule) comme séparateur de champ : separateur=,
-  classe=ma_classe — attribue la classe CSS (Cascading Style Sheets) ma_classe à ce tableau particulier et permet un formatage de style propre à ce tableau

Obligatoire ou facultatif sous condition.
Si l’un des deux paramètres qui suivent est absent, l’autre est obligatoire. Si les deux sont présents, seul le paramètre id sera pris en compte.
-  id=XX ou <tabcsvXX[...]> — où XX est l’id d’un fichier avec l’extension .csv, téléchargé via SPIP (= dans le répertoire IMG/csv/) peu importe que ce fichier soit lié ou non à l’objet (article, par exemple) où l’appel du modèle est inséré
-  contenu=un_contenu_csv_ecrit_directement — le contenu CSV est écrit directement ou copié/collé dans l’objet SPIP

tabcsv, tableau SPIP et feuille de styles

Les tableaux générés par le modèle sont pareils aux tableaux générés par les raccourcis SPIP, aux différences qui suivent près :
-  lorsque le tableau spip contient des | **titres** |, ces titres (TH) contiennent un attribut « id » qui répond à un attribut « headers » dans les cellules (TD) du contenu. Ces attributs « id » et « headers » n’existent pas avec tabcsv
-  une classe tabcsv est présente (en plus de la classe spip) dans tous les tableaux générés
-  le paramètre |classe= permet d’attribuer une classe particulière au tableau concerné
-  le code html et les raccourcis SPIP sont inopérants dans les tableaux générés par le modèle

Démonstration provisoire

Par ici

P.-S.

Astuce pour les tableaux « trop » larges : avec les squelettes par défaut de Spip, une partie du tableau risque bien d’être cachée ! Un div.texte {overflow: auto;} dans les CSS obligera le navigateur à fournir une barre de défilement horizontale si le tableau dépasse la largeur de son conteneur.

Dernière modification de cette page le 20 avril 2017

Retour en haut de la page

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Le plugin ZotSpip

    28 mai 2012 – 138 commentaires

    Synchronise Spip avec une bibliothèque (personnelle ou partagée) de références bibliographiques Zotero. Utilisez Zotero pour gérer / importer / rédiger vos références bibliographiques, puis incorporez vos références bibliographiques dans votre Spip avec (...)

  • ScolaSPIP 4

    19 janvier 2016 – 213 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)

  • MediaBox

    10 mai 2010 – 514 commentaires

    Avertissement Le présent plugin est installé et activé par défaut sur toute les version de SPIP > 3.0. Inutile donc de l’installer manuellement sauf si vous utilisez SPIP 2.1. Aperçu La MediaBox est une Boîte multimédia polyvalente et (...)

  • Sommaire automatique

    31 janvier 2013 – 14 commentaires

    Ce plugin repère les intertitres des textes de vos articles et s’en sert pour génèrer un sommaire. Ce dernier peut être inséré automatiquement au début de chaque article, ou utilisé dans les squelettes pour générer un sommaire sur n’importe quel autre (...)

  • La Fabrique

    20 avril 2012 – 316 commentaires

    La Fabrique est un outil pour webmestres ou développeurs qui souhaitent créer des plugins. La Fabrique est capable de générer le code source minimal d’un plugin pour SPIP 3 (elle accélère donc le démarrage d’un plugin) et peut s’occuper également de (...)

Ça spipe par là