Journal PHPXref pour les scripts Shell

Posté par  .
Étiquettes : aucune
0
23
nov.
2009
Cher journal,

Au boulot, j'ai un déglingos (que je connais pas) qui a pondu une énorme usine à gaz en Shell Script il y a 3 ans que quand tu vois comment ça été codé, tu trouverais ça tellement indigeste qu'il n'est pas certain que l'envie de simplifier tout ça te monterai à la tête (tu peux pas non plus le jeter à la corbeille).

Je suis très ennuyé : Le problème, c'est qu'on me demande de regarder le bazar pour que ça marche encore plus mieux de la mort qui tue (c'est le genre de gars à qui tu peux pas dire non -__-). Mais je n'ai pas le choix, je dois mettre mon nez dedans...

Un soir à la maison, j'ai découvert phpxref. On peut parcourir le code source de projet PHP et c'est drôlement bien pratique. Chez DokuWiki ils s'en servent et c'est fort pratique. Problème, c'est utilisable uniquement pour des projets PHP.

Alors dis moi cher Journal, tu connaîtrais pas un super fork de phpxref, où je pourrais consulter dans mon navigateur web le code source de scripts shell ? x__x
  • # Moi j'ai un utilitaire bien pratique pour ce genre de taf ....

    Posté par  . Évalué à 2.

    ... c'est mon cerveau :).

    Sinon pour simplifier le script tu devrais te mettre au Awk dorsal :) Mais il faut remplacer le code petit bout par petit bout et avoir des jeux de tests pour vérifier que tu ne casses rien :)
  • # Un générateur d'algorigramme

    Posté par  . Évalué à 2.

    Moi pour du code spaghetti , j'utilise un générateur d'algorigramme ( http://fr.wikipedia.org/wiki/Organigramme_de_programmation ) :
    Attention Logiciel propriétaire , exclusivement sous windows , mais qui le fait pour le shell .

    (je l'utilise par virtualisation interposé )

    D'ailleurs je cherche encore un équivalent libre de ce soft .

    Code Visual to Flowchart - automatic code flow chart generator
    http://www.fatesoft.com/s2f/

    En gros tu copies / colles le code , et il te met le diagramme de flux , un avec le code , l'autre une vue général .



    Ca ne documente pas le code , mais ca permet d'avoir l'architecture de celui ci . C'est déjà pas mal pour s'y retrouver dans le labyrinthe d' un code spaghetti
    • [^] # Re: Un générateur d'algorigramme

      Posté par  . Évalué à 2.

      Ah oui, ça m'a l'air pas trop mal ce truc. Je vais essayer ça aussi. On va voir comment il comprend mon usine à gaz.
    • [^] # Re: Un générateur d'algorigramme

      Posté par  (site web personnel) . Évalué à 1.

      ca marche aussi dans l'autre sens ton soft ?

      parce que sortir un code C optimisé sans faille ni fuite mémoire à partir d'un organigramme ... c'est un peu le reve de tout dev pressé et tout décideur pressé.
      • [^] # Re: Un générateur d'algorigramme

        Posté par  (site web personnel) . Évalué à 0.

        je ne parle pas du soft fourni avec la boite légo mindstorm
      • [^] # Re: Un générateur d'algorigramme

        Posté par  . Évalué à 2.

        Une mauvaise et une bonne nouvelle ,

        La mauvaise , non seulement le soft est proprio , fonctionne que sous les système Windoz et on a pas d'équivalent libre , mais EN PLUS Ca ne marche pas dans l'autre sens (dessin d'algorigramme vers code source )

        La bonne : Il y a un autre logiciel qui permet de traduire les diagrammes de flux en code source (notamment l'ANSI C ) , qui hélas n'est que sous Windoz actuellement (il est codé en Delphi / Pascal ) . Mais qui est libre ! : DevFlowcharter ( http://sourceforge.net/projects/devflowcharter/ ) . Qui respecte pas a 100 % la norme iso 5807 (sur les diagrammes de flux ) (genre la boucle for et case qui ne font pas partie de la norme 5807 , mais bon c'est une norme qui date de quelque décennies , je pense qu'il faudrait la mettre a jour ) .

        Ce qui serait bien c'est une âme charitable qui aide au portage du logiciel sous nos systèmes libres .
  • # Robodoc

    Posté par  (site web personnel) . Évalué à 2.

    Une recherche rapide me donne : http://www.xs4all.nl/~rfsber/Robo/robodoc.html
  • # Consulter dans mon navigateur web le code source

    Posté par  . Évalué à 3.

    Alors dis moi cher Journal, tu connaîtrais pas un super fork de phpxref, où je pourrais consulter dans mon navigateur web le code source de scripts shell ? x__x
    J'ai peut être mal capté mais tu peux facilement générer des pages html de ton code avec vim.
    Comme tu peux appeler vim dans un script, il est facile d'avoir une commande qui va regénérer tous les fichiers html correspondant aux différents fichiers sources modifiés (ou plus bourrinement de regénérer tous les fichiers html)

    Je parie bien sûr qu'on peut faire ça avec pas mal d'outils, perso, je connais vim donc je fais avec et pour ton besoin, un bête script shell de 5 lignes peut suffire (si j'ai bien compris le besoin)
    • [^] # Re: Consulter dans mon navigateur web le code source

      Posté par  (site web personnel) . Évalué à 1.

      Si je comprends bien, corrigez moi si je me trompe, phpxref montre le code php et sa doc (API). En gros, c'est un pydoc, perldoc, javadoc ou doxygen pour php (rien à voir avec un graphe de flot ou un ordinogramme), bref [troll targets="php, shell"]aucun langage digne de ce nom ne possède pas de base de ce genre d'outil.[/troll]

      Je ne connais pas de machin évolué qui fasse ça pour du shell, à plus forte raison du shell qui je suppose n'est ni commenté ni séparé en fonctions simples et décrites. Peut-être exuberant ctags come machin pas très évolué.
      • [^] # Re: Consulter dans mon navigateur web le code source

        Posté par  . Évalué à 1.

        J'ai compris la chose comme tel également. Il te suffit de surfer dans le code source du projet dokuwiki pour voir qu'il donne le moyen de chercher une fonction PHP dans tout le projet avec les infos qui s'y reporte etc...

        Suffit de regarder la home page de PHPxref pour comprendre de quoi il s'agit en fait. Je regrette juste qu'il n'y ait pas un équivalent mais pour des projets Shell Script.

        J'ai un serveur web sous Unix, je créé un répertoire où je mets mon projet Shell (scripts, sources etc...), j'y mets un "shXref", je passe sous mon navigateur web, et je peux parcourir mon code comme une documentation technique.
      • [^] # Re: Consulter dans mon navigateur web le code source

        Posté par  . Évalué à 2.

        [troll targets="php, shell"]aucun langage digne de ce nom ne possède pas de base de ce genre d'outil.[/troll]
        C'est pas faux.
  • # FreeDFD ?

    Posté par  . Évalué à 1.

    Je proposerais bien cette initiative côté Open Source, FreeDFD :

    [http://wiki.freaks-unidos.net/freedfd/index-en]

    A voir si cela correspond à tes besoins.
    • [^] # Re: FreeDFD ?

      Posté par  . Évalué à 2.

      Freedfd , ne traduit pas du code source en flowchart , ou algorigramme . Tu déssines ton algorigramme et puis tu l'executes . C'est juste la démarche inverse dont à besoin Fluke.
      • [^] # Re: FreeDFD ?

        Posté par  . Évalué à 1.

        Tout à fait, je veux faire le contraire. A la limite, je demande même pas à avoir des organigrammes. Je peux me débrouiller sans. C'est surtout qu'il faut pas mal documenter les sources des shell script.

        Il y a encore de nos jours, des gros "cake" qui ne documente pas leur fonction, ce qu'elles font en bon français en listant les arguments en entrée avec leur type et ce que ca represente et le code retour s'il y en a un.

        J'aime bien prendre exemple sur le code source de Dotclear. La manière dont sont documentés les fonctions PHP dans les sources de ses classes est vraiment formidable.
        • [^] # Re: FreeDFD ?

          Posté par  . Évalué à 4.

          Bah oui, tout le monde n'a pas une âme de documentaliste, et surtout, si le code est trop documenter, on peut te remplacer, et tu fais vite tomber ton étiquette de génie .... :)
          • [^] # Re: FreeDFD ?

            Posté par  . Évalué à 2.

            T'as fini oui !!!!!! :-)
        • [^] # Re: FreeDFD ?

          Posté par  . Évalué à 1.

          J'aime bien prendre exemple sur le code source de Dotclear. La manière dont sont documentés les fonctions PHP dans les sources de ses classes est vraiment formidable.

          Mettre du HTML dans les commentaires du code source, tu trouves qu'il s'agit d'une manière formidable de documenter !

          C'est sûr que le rendu de la documentation générée est classe. Mais pour le développeur, il code deux fois: une fois pour son application (en PHP pour dotclear), et une autre pour la documentation de son code source (en HTML).
          • [^] # Re: FreeDFD ?

            Posté par  . Évalué à 1.

            De quel code HTML tu me parles ?

            Regarde les fichiers class de dotclear, tu n'as que du PHP là-dedans. Pas de HTML. Et quand je parles de fonction documenté, c'est ce qui précède les en-tête les fonctions avec les listes de variable en paramètre, leur type, ce que fait la fonction etc...
            • [^] # Re: FreeDFD ?

              Posté par  . Évalué à 1.

              J'ai pris un fichier au pif de dotclear, les classes et fonction sont bien documentées. C'est suffisamment rare pour que cela soit relevé.

              Cependant, la documentation est écrite en pseudo-HTML. Il y a des balise dans les commentaire qui permettent de décrire que l'on parle d'un paramètre, d'un type, d'une variable...Pour moi, c'est faire aussi du code.

              Ce que dotclear a fait est un travail énorme en terme de code, mais aussi en terme de documentation du code.

              J'ai pas de solution miracle, mais je pense qu'il y a des avancées à faire sur les système de documentation.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.