IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Recherche d'un outil analyser les dépendances entres les fichiers d'un site web PHP


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 31
    Points : 18
    Points
    18
    Par défaut Recherche d'un outil analyser les dépendances entres les fichiers d'un site web PHP
    Salut,

    après plusieurs recherches infructueuses, je me décide à poser ma question.

    Connaitriez vous un outils (en GPL de préférence) qui permette d'analyser les dépendances entres les fichiers d'un site web PHP (require, includes), permettant d'avoir une "carte" du site, de vérifier si il n'éxiste pas des dépendances "circulaires", etc ... ?

    Merci d'avance.

    nkdb

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    dans la mesure ou tu peux construire dynamiquement un include, ca me parait difficile

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    include($chemin.'/index.php');
    ?>
    Comment un outil pourrait il trouver d'ou vient $chemin ? A moins de faire un outil couplé a un aspirateur de site qui va charger toutes tes pages php (et encore, ca ne resoudra pas tout les cas : par exemple les valeurs rentrés par les utilisateurs)

    Si ton probleme est "juste" d'eviter les references circulaires, je te conseille d'utiliser require_once() et include_once() qui se charge de ne pas inclure ton fichier si il a deja été inclus (indispensable pour un fichier contenant des déclarations de fonctions par exemple a mon avis)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 31
    Points : 18
    Points
    18
    Par défaut
    Cette outil serait un outil en "standalone" sur le serveur web, pas un outil "en ligne". Il évaluerait les $chemins pour accéder aux require/include et "dessiner" un arbre des fichiers du site.
    En Perl c'est certainement faisable avec un module comme PHP::Include, mais en "natif PHP" ce serait peut etre encore plus simple ?
    Je serait étonné que personne n'est développer un tel outil ..? Sinon je m'y collerais

  4. #4
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    Alors si tu veux t'atteler a la tache, voici un bout de programme que je te conseille pour tes tests... si tu arrive a parser tout ca, tu est très doué ;o)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $liste=array(
    "rub1"=>"page1",
    "rub2"=>"page2",
    "rub3"=>"page3"
    );
     
    if (isset($liste[$_GET['page']]) {
      include($liste[$_GET['page']].'php');
    }
    Et là encore, je suis gentil, j'ai mis un isset... mais rien ne dit que le site en question devra etre sécurisé.

    ce code ci est impossible a parser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include($_GET['param']);
    (meme si c'est pas joli je suis d'accord)

    et si vraiment tu dis qu'on peut encore parser tout les liens dispo dans le site,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include($_POST['param']);
    avec le formulaire qui va bien est *vraiment* impossible a parser.

    Je veux pas te décourager, mais tu ne pourra gerer que les cas "simples", et je n'ai meme pas encore parlé de "eval"... (eval("inc"."lude('truc.php');")

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 31
    Points : 18
    Points
    18
    Par défaut
    certe, mais j'ai pas dit que ce serait facile !

    Débuter peut être par les cas simples en effet, et essayer dans la mesure du possible de traiter les cas particuliers (qui ne doivent pas dépasser 5% des cas peut etre) ensuite.

    Je suis tombé sur cette applet java : http://www.aharef.info/static/htmlgraph

    Ne touchant pas à java j'ai exprimé au créateur ma demande. En effet sur cette base on peut imaginer assez "simple" d'implémenter mon idée ?

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Analyse des dependances
    Salut !

    Il n'y pas longtemps j'ai développé un script en php qui analyse les dpendances.
    vous pouvez le trouver sur mon blog : http://mo.eric.free.fr
    Il est limité aux inclusions "statiques" mais affiche quand même le code des inclusions "dynamiques".

Discussions similaires

  1. les methodes et les associations entre les classes
    Par zin_rbt dans le forum Diagrammes de Classes
    Réponses: 1
    Dernier message: 24/05/2010, 14h41
  2. Réponses: 11
    Dernier message: 22/01/2010, 21h17
  3. Outils sur les différences entre deux fichiers XML
    Par Community Management dans le forum XML/XSL et SOAP
    Réponses: 19
    Dernier message: 21/07/2008, 15h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo