PlanFacile

logiciel informatique

PlanFacile est un compilateur libre permettant de créer un document à partir d'idées liées entre elles par des dépendances à la manière d'une carte heuristique (mind map en anglais). L'algorithme de PlanFacile s'occupe alors d'agencer ces idées afin que la lecture du document soit le plus linéaire possible, c'est-à-dire contenant le moins de références possibles vers des parties plus lointaines dans le document, et en s'occupant également de la hiérarchie de ces idées. PlanFacile propose donc au rédacteur du code source un plan optimisé pour exposer ses idées. Son interface est en ligne de commande.

PlanFacile

Informations
Développé par Julien BRUGUIER
Dernière version 2.0.070523 ()
Écrit en C
Environnement Unix, Linux, paquet pour Ubuntu Linux, Microsoft Windows
Langues Multilingue
Type Carte heuristique
Licence GNU GPL v2

La version 2.0 de PlanFacile est publiée sous licence GPL depuis 2006, et fonctionne sur les systèmes Gnu/Linux, *BSD, Windows (en utilisant Cygwin), et ce sur les plateformes i386, i686 et PPC, qu'elles soient en 32bits ou en 64bits. La dernière version du logiciel date de 2007 et semble abandonnée par son mainteneur depuis.

Spécificités du langage

modifier

Le langage de PlanFacile permet de décrire des idées et leurs dépendances, mais également la manière de formater le texte pour la génération du document (toutefois des définitions standards permettent d'obtenir simplement des documents en HTML ou en LaTeX), et propose également un puissant système de macro-définition permettant d'automatiser la génération de structures répétitives et de rendre le code source indépendant des spécificités des différents formats de sortie.

Exemple de document PlanFacile

modifier

Voici un exemple complet de code source PlanFacile :

#standard

#option{fr}
#option{iso}

#option{titre}
#define{titre}{Comparatif PlanFacile - LaTeX}

#comment{Options pour LaTeX}
#option{12pt}
#option{article}

#options{Macros non standard}
#case{LaTeX}
        #define{PlanFacile}{#{\bf PlanFacile#}}
        #define{LaTeX}{\LaTeX}
#case{HTML}
        #define{PlanFacile}{<b>PlanFacile</b>}
        #define{LaTeX}{<i>LaTeX</i>}
#other
        #define{PlanFacile}{PlanFacile}
        #define{LaTeX}{LaTeX}
#end

#idea{PlanFacile}#PlanFacile#text
#PlanFacile# est un compilateur#dep{10}{comparatifcompilateurs}{#depref}{}# de
documents qui va calculer à votre place le plan de votre document.
#§
#PlanFacile# produit sur sa sortie du texte non formaté, et peut donc être
utilisé conjointement au formateur de texte #LaTeX#dep{5}{LaTeX}{#depref}{}.
#end

#idea{comparatifcompilateurs}Comparatif de compilateurs#text
Ce texte n'est pas créé sur la sortie de PlanFacile à cause du style des
définitions standard qui est fait ainsi… On peut alors redéfinir localement le
style pour faire réapparaître ce texte.
#end

#idea{LaTeX}#LaTeX#text
#LaTeX#espace est un compilateur#dep{10}{comparatifcompilateurs}{#depref}{}# qui
permet de mettre un texte en forme.
#end
  • LaTeX :

Compilation pour LaTeX :

planfacile -O LaTeX -o exemple.tex exemple.plf

Résultat pour LaTeX :

 \documentclass[a4paper,12pt]{article}
 \usepackage[latin1]{inputenc}
 \usepackage[french]{babel}
 \usepackage{indentfirst}
 \title{Comparatif PlanFacile - LaTeX}
 \begin{document}
 
 \section{\LaTeX}
 \label{sec:LaTeX}
 \LaTeX\ est un compilateur qui
 permet de mettre un texte en forme.
 
 
 % Fin \LaTeX
 \section{{\bf PlanFacile}}
 \label{sec:PlanFacile}
 {\bf PlanFacile} est un compilateur de
 documents qui va calculer à votre place le plan de votre document.
 
 {\bf PlanFacile} produit sur sa sortie du texte non formaté, et peut donc être
 utilisé conjointement au formateur de texte \LaTeX.
 
 
 % Fin {\bf PlanFacile}
 \end{document}
 %Document créé par PlanFacile 2.0 : 3 idée(s) traitée(s), dont 0 manquante(s) et 0 générique(s), ainsi que 1 référence(s) traitée(s) dont 0 irréductible(s).
  • HTML :

Compilation pour le HTML :

planfacile -O HTML -o exemple.html exemple.plf

Résultat pour le HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"/>
     <head>
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
          <title>Comparatif PlanFacile - LaTeX</title>
     </head>
          <body>
          <h1><a id="LaTeX"></a><i>LaTeX</i></h1>
          <p>
               <i>LaTeX</i> est un compilateur qui permet de mettre un texte en forme.
          </p>
          <!-- Fin <i>LaTeX</i> -->
          
          <h1><a id="PlanFacile"></a><b>PlanFacile</b></h1>
          <p>
               <b>PlanFacile</b> est un compilateur de documents qui va calculer à votre place le plan de votre document.
          </p>
          <p>
               <b>PlanFacile</b> produit sur sa sortie du texte non formaté, et peut donc être utilisé conjointement au formateur de texte <i>LaTeX</i>.
          </p>
          <!-- Fin <b>PlanFacile</b> -->

     </body>
</html>
<!-- Document généré par PlanFacile 2.0 : 3 idée(s) traitée(s), dont 0 manquante(s) et 0 générique(s), ainsi que 1 référence(s) traitée(s) dont 0 irréductible(s). -->


Le plan obtenu comporte les mêmes idées que celles présentes dans le code source, à l'exception de l'« idée racine ». Cette idée est en réalité traitée par le compilateur en interne, mais les formatages appliqués lui ordonnent de ne pas produire de texte pour cette idée.

De plus, l'idée « LaTeX » se retrouve avant l'idée « PlanFacile », car cette dernière comprend dans son texte une commande #dep indiquant que la compréhension de l'idée « LaTeX » est nécessaire à la compréhension de l'idée « PlanFacile ». Ces deux idées se retrouvent donc dans un ordre rendant plus fluide la lecture du document.

Les autres dépendances présentes dans le code source permettent au compilateur de retrouver l'organisation hiérarchique du document. Toutefois, de telles dépendances ont une justification sémantique propre, qui n'a aucun lien avec la hiérarchie du document. En effet, il est nécessaire de toujours pouvoir justifier une dépendance par des arguments liés au contenu des idées, et non pas en rapport avec la position que l'on souhaite donner à une idée dans le document.

Enfin, le code source utilisant des macro-définition du compilateur permet de produire des documents sous différents formats sans avoir à retoucher le code, une option permettant de sélectionner les commandes de formatage souhaitées. Ainsi, il est également possible sans aucune modification de code de créer le document dans d'autres formats, tels que la syntaxe wiki, en modifiant via une variable d'environnement le fichier source inclus par la commande #standard présente en début de code source.

Liens externes

modifier