Tableauwiki, générateur de tableau : Différence entre versions
De Wiki ODR
(21 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
− | {| border="1" | + | === introduction === |
+ | |||
+ | Pour faciliter la création de tableau dans le Wiki ODR, un module indépendant a été programmé. Il permet de générer des tableaux formatés en code wiki à partir d'un tableau en format texte ayant comme délimiteur des point-virgules. | ||
+ | |||
+ | |||
+ | === Utilisation du script === | ||
+ | |||
+ | *Cliquer sur "générateur de tableau" dans le menu de gauche | ||
+ | |||
+ | *Une nouvelle fenêtre (popup) doit s'ouvrir exécutant le script tableauwiki. Si ce n'est pas le cas vous devez autoriser votre navigateur à ouvrir les pages popup pour ce site. | ||
+ | |||
+ | *suivez les instructions, rédigez votre tableau en utilisant comme séparateur des colonnes des points virgules, ou copier-coller votre futur tableau à partir d'un document word, notepad etc. | ||
+ | |||
+ | *Cliquez sur le bouton "traiter" | ||
+ | |||
+ | *Le code wiki du tableau est généré, vous pouvez le copier et le coller dans votre article. | ||
+ | |||
+ | *en cliquant sur "revenir au formulaire", il est possible de corriger le tableau ou d'écrire un nouveau tableau | ||
+ | |||
+ | *Il est conseillé de garder la fenêtre tableauwiki ouverte tout au long de la rédaction de l'article si d'autres tableaux doivent être insérés. | ||
+ | |||
+ | |||
+ | === Limitations === | ||
+ | |||
+ | *Tableauwiki n'est pas un module officiel de mediawiki. Le script est réservé à un usage dans le Wiki ODR. | ||
+ | |||
+ | *L'insertion d'espaces avant ou après le tableau dans le cadre du formulaire génèrent des lignes supplémentaires. | ||
+ | |||
+ | *Le navigateur doit autoriser l'ouverture de pages popup pour le site du Wiki ODR (conseil si vous rencontrez un problème : appliquer "toujours autoriser les pages popup pour ce site"). | ||
+ | |||
+ | *Si vous ouvrez tableauwiki durant la rédaction d'un article, faîte au préalable une copie de l'article (Ctrl+A suivi de Ctrl+c) au cas où le navigateur perdrait la session. Normalement, la page en cours doit être réaffichée automatiquement dans la fenêtre principale. | ||
+ | |||
+ | *Il est actuellement impossible avec tableauwiki de fusionner des cellules. L'utilisateur doit le faire lui-même en utilisant les balises html correspondantes (colspan). | ||
+ | |||
+ | ===Exemple de tableaux générés=== | ||
+ | |||
+ | |||
+ | titre 1;titre 2;titre 3 | ||
+ | colonne 1;colonne 2;colonne 3 | ||
+ | ;ligne 2; | ||
+ | |||
+ | {| cellpadding="3" cellspacing="0" border="1" style="font-size: 95%; border: black solid 1px;border-collapse: collapse;" | ||
|- | |- | ||
− | | | + | | style="border:1px solid black;" align="center" |titre 1 |
− | | | + | | style="border:1px solid black;" align="center" |titre 2 |
+ | | style="border:1px solid black;" align="center" |titre 3 | ||
|- | |- | ||
− | | | + | | style="border:1px solid black;" align="center" | colonne 1 |
− | | | + | | style="border:1px solid black;" align="center" |colonne 2 |
+ | | style="border:1px solid black;" align="center" |colonne 3 | ||
+ | |- | ||
+ | | style="border:1px solid black;" align="center" | | ||
+ | | style="border:1px solid black;" align="center" |ligne 2 | ||
+ | | style="border:1px solid black;" align="center" | | ||
+ | |} | ||
+ | |||
+ | |||
+ | titre 1;titre 2;titre 3 | ||
+ | 1;2;3.5 | ||
+ | |||
+ | {| cellpadding="3" cellspacing="0" border="1" style="font-size: 95%; border: black solid 1px;border-collapse: collapse;" | ||
+ | |- | ||
+ | ! bgcolor="#F2F2F2" style="border:1px solid black;" |titre 1 | ||
+ | ! bgcolor="#F2F2F2" style="border:1px solid black;" |titre 2 | ||
+ | ! bgcolor="#F2F2F2" style="border:1px solid black;" |titre 3 | ||
+ | |- | ||
+ | | style="border:1px solid black;" align="center" | 1 | ||
+ | | style="border:1px solid black;" align="center" |2 | ||
+ | | style="border:1px solid black;" align="center" |3.5 | ||
|} | |} | ||
+ | |||
+ | |||
+ | ===Script tableauwiki :=== | ||
+ | |||
+ | <pre> | ||
+ | |||
+ | <?php | ||
+ | |||
+ | require "fichier de configuration...." ; | ||
+ | |||
+ | if($tableau != '') | ||
+ | { | ||
+ | // remplacer les retours chariot par des retours à la ligne | ||
+ | //$tableau=nl2br($tableau); | ||
+ | |||
+ | // sépare les lignes | ||
+ | $ligne = explode("\r",$tableau) ; | ||
+ | |||
+ | // définit un fond gris pour le corps de la page | ||
+ | echo "<BODY BGCOLOR=\"#EEEEEE\" >"; | ||
+ | |||
+ | // commentaire à afficher | ||
+ | echo "<P>copier les lignes ci-dessous et les insérer dans l'article du Wiki ODR:</p>" ; | ||
+ | |||
+ | // création d'un cadre contenant le code wiki | ||
+ | echo "<table BGCOLOR=\"#FFFFFF\" cellpadding=\"10\" style=\"border:1px solid;border-color:#7F9DB9\"><tr><td>"; | ||
+ | |||
+ | // affichage de la première ligne du tableau wiki à copier | ||
+ | echo htmlentities('{| cellpadding="3" cellspacing="0" border="1" style="font-size: 95%; border: black solid 1px;border-collapse: collapse;"')."<br>"; | ||
+ | |||
+ | // boucle de lecture des lignes du tableau | ||
+ | for( $i=0 ; $i<count($ligne) ; $i++) | ||
+ | { | ||
+ | // séparateur en code wiki des lignes du tableau à afficher pour chaque nouvelle ligne | ||
+ | echo "|- <br>" ; | ||
+ | |||
+ | // séparation des champs pour chaque ligne (séparateur point-virgule) | ||
+ | $champ = explode(";",$ligne[$i]) ; | ||
+ | |||
+ | // affichage du contenu des cases en code wiki | ||
+ | for( $y=0 ; $y<count($champ) ; $y++) | ||
+ | { | ||
+ | if($champ[$y] == '' or is_null($champ[$y]) or $champ[$y] == ' ' or $champ[$y] == ' ' ) $champ[$y] = htmlentities(' ') ; | ||
+ | |||
+ | IF ($i==0 && $titre==TRUE) echo htmlentities('! bgcolor="#F2F2F2" style="border:1px solid black;" |').$champ[$y]."<br>" ; | ||
+ | ELSE | ||
+ | { | ||
+ | echo htmlentities('| style="border:1px solid black;"') ; | ||
+ | if($position == "C" ) echo htmlentities(' align="center"'); | ||
+ | if($position == "D" ) echo htmlentities(' align="right"'); | ||
+ | echo " |".$champ[$y]."<br>" ; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // fin du tableau wiki | ||
+ | echo "|}" ; | ||
+ | |||
+ | // fermeture du cadre contenant le code wiki à copier | ||
+ | echo "</td></tr></table>" ; | ||
+ | |||
+ | // lien pour retour à la page précédente | ||
+ | echo "<p /><a href=\"javascript:history.back()\">revenir au formulaire</a>" ; | ||
+ | |||
+ | echo "</body>" ; | ||
+ | |||
+ | // fin d'exécution du script | ||
+ | exit ; | ||
+ | } | ||
+ | |||
+ | ?> | ||
+ | <html> | ||
+ | <!-- formulaire HTML pour récupérer les informations du futur tableau --> | ||
+ | <BODY BGCOLOR="#EEEEEE"> | ||
+ | <table border="0" width="800px"> | ||
+ | <tr> | ||
+ | <TD> | ||
+ | <CENTER><b>Générateur de tableau pour le Wiki ODR.</b><BR> <BR>Copiez votre futur tableau avec comme séparateur des point-virgules. <BR> <br>La première ligne peut contenir le nom des colonnes, dans ce cas cochez la case ci-dessous. <br> cliquez sur le bouton Traiter en bas de page pour exécuter le script<br> <br><i>(Attention pas d'espace avant ou après le tableau sinon une ligne de tableau supplémentaire sera générée).</i></CENTER> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | </Table> | ||
+ | |||
+ | <FORM name='form' method='post' action='tableauwiki.php'> | ||
+ | <TABLE BORDER="0"> | ||
+ | <TR> | ||
+ | <TD>la première ligne correspond aux noms de colonnes ?  <input type="checkbox" name="titre" value="TRUE"></TD> | ||
+ | </TR> | ||
+ | <TR> | ||
+ | <TD>le contenu des colonnes doit être positionné à gauche<INPUT type=radio name="position" value="G" checked> centré<INPUT type=radio name="position" value="C"> à droite<INPUT type=radio name="position" value="D"></TD> | ||
+ | </TR> | ||
+ | <TR> | ||
+ | <TD> | ||
+ | <TEXTAREA cols="300" rows="40" name="tableau">coller vos lignes du tableau ici</TEXTAREA> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <tr> | ||
+ | <td> | ||
+ | <input type="submit" name="envoyer" value="traiter"> | ||
+ | </td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | </form> | ||
+ | </body> | ||
+ | </html> | ||
+ | |||
+ | </pre> |
Version actuelle datée du 12 août 2013 à 14:35
Sommaire
introduction
Pour faciliter la création de tableau dans le Wiki ODR, un module indépendant a été programmé. Il permet de générer des tableaux formatés en code wiki à partir d'un tableau en format texte ayant comme délimiteur des point-virgules.
Utilisation du script
- Cliquer sur "générateur de tableau" dans le menu de gauche
- Une nouvelle fenêtre (popup) doit s'ouvrir exécutant le script tableauwiki. Si ce n'est pas le cas vous devez autoriser votre navigateur à ouvrir les pages popup pour ce site.
- suivez les instructions, rédigez votre tableau en utilisant comme séparateur des colonnes des points virgules, ou copier-coller votre futur tableau à partir d'un document word, notepad etc.
- Cliquez sur le bouton "traiter"
- Le code wiki du tableau est généré, vous pouvez le copier et le coller dans votre article.
- en cliquant sur "revenir au formulaire", il est possible de corriger le tableau ou d'écrire un nouveau tableau
- Il est conseillé de garder la fenêtre tableauwiki ouverte tout au long de la rédaction de l'article si d'autres tableaux doivent être insérés.
Limitations
- Tableauwiki n'est pas un module officiel de mediawiki. Le script est réservé à un usage dans le Wiki ODR.
- L'insertion d'espaces avant ou après le tableau dans le cadre du formulaire génèrent des lignes supplémentaires.
- Le navigateur doit autoriser l'ouverture de pages popup pour le site du Wiki ODR (conseil si vous rencontrez un problème : appliquer "toujours autoriser les pages popup pour ce site").
- Si vous ouvrez tableauwiki durant la rédaction d'un article, faîte au préalable une copie de l'article (Ctrl+A suivi de Ctrl+c) au cas où le navigateur perdrait la session. Normalement, la page en cours doit être réaffichée automatiquement dans la fenêtre principale.
- Il est actuellement impossible avec tableauwiki de fusionner des cellules. L'utilisateur doit le faire lui-même en utilisant les balises html correspondantes (colspan).
Exemple de tableaux générés
titre 1;titre 2;titre 3 colonne 1;colonne 2;colonne 3 ;ligne 2;
titre 1 | titre 2 | titre 3 |
colonne 1 | colonne 2 | colonne 3 |
ligne 2 |
titre 1;titre 2;titre 3 1;2;3.5
titre 1 | titre 2 | titre 3 |
---|---|---|
1 | 2 | 3.5 |
Script tableauwiki :
<?php require "fichier de configuration...." ; if($tableau != '') { // remplacer les retours chariot par des retours à la ligne //$tableau=nl2br($tableau); // sépare les lignes $ligne = explode("\r",$tableau) ; // définit un fond gris pour le corps de la page echo "<BODY BGCOLOR=\"#EEEEEE\" >"; // commentaire à afficher echo "<P>copier les lignes ci-dessous et les insérer dans l'article du Wiki ODR:</p>" ; // création d'un cadre contenant le code wiki echo "<table BGCOLOR=\"#FFFFFF\" cellpadding=\"10\" style=\"border:1px solid;border-color:#7F9DB9\"><tr><td>"; // affichage de la première ligne du tableau wiki à copier echo htmlentities('{| cellpadding="3" cellspacing="0" border="1" style="font-size: 95%; border: black solid 1px;border-collapse: collapse;"')."<br>"; // boucle de lecture des lignes du tableau for( $i=0 ; $i<count($ligne) ; $i++) { // séparateur en code wiki des lignes du tableau à afficher pour chaque nouvelle ligne echo "|- <br>" ; // séparation des champs pour chaque ligne (séparateur point-virgule) $champ = explode(";",$ligne[$i]) ; // affichage du contenu des cases en code wiki for( $y=0 ; $y<count($champ) ; $y++) { if($champ[$y] == '' or is_null($champ[$y]) or $champ[$y] == ' ' or $champ[$y] == ' ' ) $champ[$y] = htmlentities(' ') ; IF ($i==0 && $titre==TRUE) echo htmlentities('! bgcolor="#F2F2F2" style="border:1px solid black;" |').$champ[$y]."<br>" ; ELSE { echo htmlentities('| style="border:1px solid black;"') ; if($position == "C" ) echo htmlentities(' align="center"'); if($position == "D" ) echo htmlentities(' align="right"'); echo " |".$champ[$y]."<br>" ; } } } // fin du tableau wiki echo "|}" ; // fermeture du cadre contenant le code wiki à copier echo "</td></tr></table>" ; // lien pour retour à la page précédente echo "<p /><a href=\"javascript:history.back()\">revenir au formulaire</a>" ; echo "</body>" ; // fin d'exécution du script exit ; } ?> <html> <!-- formulaire HTML pour récupérer les informations du futur tableau --> <BODY BGCOLOR="#EEEEEE"> <table border="0" width="800px"> <tr> <TD> <CENTER><b>Générateur de tableau pour le Wiki ODR.</b><BR> <BR>Copiez votre futur tableau avec comme séparateur des point-virgules. <BR> <br>La première ligne peut contenir le nom des colonnes, dans ce cas cochez la case ci-dessous. <br> cliquez sur le bouton Traiter en bas de page pour exécuter le script<br> <br><i>(Attention pas d'espace avant ou après le tableau sinon une ligne de tableau supplémentaire sera générée).</i></CENTER> </TD> </TR> </Table> <FORM name='form' method='post' action='tableauwiki.php'> <TABLE BORDER="0"> <TR> <TD>la première ligne correspond aux noms de colonnes ?  <input type="checkbox" name="titre" value="TRUE"></TD> </TR> <TR> <TD>le contenu des colonnes doit être positionné à gauche<INPUT type=radio name="position" value="G" checked> centré<INPUT type=radio name="position" value="C"> à droite<INPUT type=radio name="position" value="D"></TD> </TR> <TR> <TD> <TEXTAREA cols="300" rows="40" name="tableau">coller vos lignes du tableau ici</TEXTAREA> </TD> </TR> <tr> <td> <input type="submit" name="envoyer" value="traiter"> </td> </tr> </table> </form> </body> </html>