• [^] # Re: Pourquoi ?

    Posté par (Mastodon) . En réponse au journal Un langage de description de diagramme/figure. Évalué à 3.

    Je connais peu Postscript et Metapost dans le détail, mais ce qu'ils font et comment ils le font ressemble à ce que tu veux développer de ton côté.

    Tout à fait. Comme je l'ai dit dans le journal, les API de dessin actuelles sont toutes calqués sur le modèle PDF, lui-même hérité de PostScript. En fait la différence entre PostScript et PDF est que PostScript avait des structures de contrôles (if, for, etc) que PDF n'a pas. Donc quand on transforme un PS en PDF, on se contente d'interpréter le PS et on envoie toutes les commandes de base dans le PDF. La filiation est donc assez naturelle.

    Maintenant, le modèle PS a aussi ses limites, ne serait-ce que par sa syntaxe très déroutante. Et étendre PS me semble compliqué.

    je ne trouve pas cela beaucoup plus lisible que du SVG (enfin, si un peu quand même, mais pour se faire une représentation mentale du diagramme, autant le SVG que l'autre me semblent impossibles)

    L'idée, c'est de pouvoir avoir par la suite, des bibliothèques d'objets prédéfinis et de ne manipuler que ces objets avec des opérateurs haut-niveau. Par exemple, imaginons qu'on veut dessiner un réseau de deux machines. On aura un objet computer qui dessine un petit ordinateur et on écrira quelque chose du genre :

    set A = <10., 10.>
    set B = <20., 20.>
    line { A, B }
    object {
     computer
     at A
    }
    object {
     computer
     at B
    }
    
    

    Pour en revenir à Graphviz, c'est utilisé pour réaliser des organigrammes (cf. le logo), pas juste des graph donc c'est en plein dans ce que tu cherches, sauf si tu n'as pas tout expliqué dans les raisons qui te motivent pour créer ce nouvel outil.

    C'est vrai que je n'ai pas expliqué l'usage que je veux en avoir. J'ai souvent besoin d'avoir des diagrammes ou des figures pour illustrer mes cours ou mes articles (je suis enseignant-chercheur). J'ai essayé pas mal de choses. Pendant longtemps, j'ai utilisé Dia, ça me convenait assez bien même si ça m'énervait de ne pas, par exemple, pouvoir placer les formes de manière un peu carré naturellement, par exemple avec des espacements identiques entre objets (le seul moyen est de passer par la grille magnétique qui est vraiment de mon point de vue un outil de placement du pauvre). L'avantage de Dia, c'est qu'on peut générer le fichier final qui va bien directement en ligne de commande, mais en revanche, on ne peut pas générer du PDF depuis la ligne de commande, il faut passer par l'export depuis l'interface graphique. J'utilise aussi gnuplot et graphviz quand c'est approprié, et idem, j'aime pouvoir tout piloter depuis la ligne de commande, parce que quand on modifie un diagramme et qu'on a juste à faire make pour que ça retransforme et recompile tout, c'est quand même pratique.