Précédent   Forum des professionnels en informatique > PHP > Outils
Outils Forum d'entraide sur les outils pour développeurs PHP : EDI, installation, administration... Avant de poster : FAQ outils, toutes les FAQ PHP et les comparatifs
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/07/2006, 13h12   #1
Invité régulier
 
Inscription : juillet 2005
Messages : 31
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 31
Points : 6
Points : 6
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
nkdb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2006, 13h24   #2
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
dans la mesure ou tu peux construire dynamiquement un include, ca me parait difficile

Par exemple :
Code :
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)
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2006, 13h53   #3
Invité régulier
 
Inscription : juillet 2005
Messages : 31
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 31
Points : 6
Points : 6
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
nkdb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2006, 15h01   #4
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
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 :
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 :
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 :
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');")
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2006, 15h19   #5
Invité régulier
 
Inscription : juillet 2005
Messages : 31
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 31
Points : 6
Points : 6
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 ?
nkdb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2007, 20h38   #6
Invité de passage
 
Inscription : janvier 2007
Messages : 1
Détails du profil
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".
eric.mtc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h26.


 
 
 
 
Partenaires

Hébergement Web