|
|
||||
|
Coordinateur :
Jireck |
Collaborateur : |
Collaborateur : Lopez |
Collaborateur : |
Collaborateur : |
1. Le projet :
1.1 Naissance du projet :
Samx a voulu faire découvrir à la communauté NPDS un produit, qu’il manipulait depuis plusieurs mois en le présentant sur les forums de www.npds.org . Il s’agissait de PHPXRef, un système permettant de naviguer dans les sources d’une application Web via un navigateur. Ce produit a séduit Developper (Dev-Team) et Jireck (Module Team).
Lopez a évoqué l’idée d’utiliser PHPXRef sur modules.npds.org, pour accéder directement via browser à la source des modules NPDS. Samx a répondu qu’il pouvait participer à sa mise en place sur modules suivi immédiatement de manu88 et Lopez..
Quelques semaines plus tard, sur les suggestions de Developper l’équipe contacte Canasson pour la réalisation du thème graphique du projet.
Voilà pour la petite histoire…
1.2 Objectif du projet :
Proposer aus webmestres de portails réalisés avec le CMS NPDS un accès via navigateur aux sources des modules validés par la TMT (Module Team), à partir du site module.npds.org ou en local sur leur poste après avoir téléchargé le modules à la source de son choix ou l’ensemble des modules à la source.
Ce système permettra à terme d’aider les webmestres dans la personnalisation, le déboguage ou la compréhension des modules installés sur leur site NPDS.
1.3 Présentation de PHPXRef :
PHPXRef est une application libre sous licence GNU conçu par Gareth Watts en 2004.
Il s’agit d’un système qui permet de parcourir le code source d’une application web en utilisant un navigateur. PHPXRef affiche aussi bien du PHP4 et 5, HTML, Javascript, CURL, XML,… Il permet de retracer les différentes Classes, Fonctions, Variables, etc. en références croisées.
Le gros avantage de cette application, c’est qu’elle peut fonctionner sans l’aide d’un serveur Web. Il est possible de l’utiliser en local sur un ordinateur client.
Enfin c’est un système facile à mettre en œuvre puisqu’il peut s’utiliser tel quel sans installation, ni personnalisation.
1.4 Fonctionnalités de PHPXRef :
- Paramétrage simple.
- Fonctionne sans utiliser un serveur
- Reconnaissance des classes PHP en référence croisées, fonctions, variables, constantes, et « require/ include »
- Possibilité d’extraire la source PHP en documentation
- Informations sur les classes et les fonctions par simple survol
- Saut par hyperlien dans la source aux définitions des classes et des fonctions.
- Mise en évidence par surbrillance des classes, fonctions, constantes et tables
- Moteur de recherche dans le code source
- Impression de la source à partir du navigateur…
2. Utilisation de PHPXRef
pour parcourir les modules :
Pour étudier en détails le détail des options de navigation dans la source que propose PHPXREF, nous prendrons pour exemple l’exploration du module bloc_annonce.
2.1 Accès aux sources des modules depuis le site
modules.npds.org :
Pour accéder aux sources des modules depuis la page d’accueil de modules.npds.org, cliquer sur le lien « source » situé en haut de votre écran ou sur via le bloc informations situé à droite de l’écran.
La page d’accueil d’accès au sources
apparaît :

Pour accèder à la source d’un module, déployer le menu d’une rubrique (ex. Agenda et calendier) puis cliquer sur le module désiré.
Une page de description du module apparaît. Vous avez alors le choix de télécharger le module, parcourir la source du module ou télécharger la source du module exploitable en local sur votre poste.
L’archive de la source d’un module intègre PHPXREF, il suffit de la décompresser dans un répertoire et de cliquer sur la page de démarrage index.html.
Vous pouvez toutefois télécharger le fichier global.zip contenant l’ensemble des sources de tous les modules et les exploiter en local de la même manière.

2.2 Page d’accueil de navigation dans la source d’un
module

Menu arborescent pour se déplacer dans les répertoires du
module
|
|
L’arborescence de fichiers du module apparaît sur la
gauche de votre écran. Ce menu arborescent vous permet de parcourir les
répertoires du module |
Liens rapides
Ces liens apparaissent en haut de votre écran, en entête.
|
|
Top explorateur pour retourner au répertoire
racine du module. |
Contenu du répertoire courant
Le contenu du répertoire courant apparaît au centre de votre écran.
|
|
Vous pouvez bien sûre vous déplacer dans l’arborescence de
fichier en cliquant sur les répertoires et sous répertoires qui apparaissent. |
2.3 Moteur de recherche dans le code
En cliquant sur le lien « search »
dans la zone principale, le menu du moteur de recherche s’affiche.


|
|
Le moteur de recherche vous permet de rechercher dans tout
le code source des éléments tels que les classes, les fonctions, les
variables, les constantes, les tables. Exemple : taper le nom de la variable recherchée en face de variable, puis cliquer sur le lien « search » en bas à droite. |
Cliquer sur un des liens class, function, variable, constant, table, pour rechercher respectivement la liste des classes, fonctions, variables, constantes, tables.
Exemple de résultat d’une recherche de la liste des fonctions utilisées dans le code :

Accès à une fonction en particulier en cliquant sur son nom :
|
|
Nom de la fonction Sites de références sur php Indication du fichier et de la ligne ou est déclarée la fonction en question. |
Exemple de résultat d’une recherche des variables utilisées dans le code :

Informations retournées :
|
|
Indication du nombre de variables déclarées Nom de variable Nombre de définition Nombre de références croisées |
Exemple de résultat d’une recherche d’une variable en particulier :
|
|
Nom de la variable Fichier et ligne ou elle est déclarée. Références croisées -> fichier et ligne d’appel |
2.4 Accès à la source d’un fichier
L’accès à la source d’un fichier se fait via l’explorateur d’arborescence en cliquant directement sur son nom.
Le code source apparaît alors :

|
|
Liens directs pour accéder au résumé, imprimer la source ou la visionner via un éditeur texte. |
Exemple de résumé sur la source :
|
|
Nombre de lignes Nombre de fichier dans lesquels celui-ci est inclus ou requis Nombre de références Nombre de fichiers inclus ou requis Date de création du module sur PHPXref |