Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1432 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Cartographie code php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Cartographie code php

n°2425594
3point14
Posté le 04-09-2022 à 13:45:12  profilanswer
 

Bonjour,
Dans le cadre d'une migration d'un site Web d'une association en auto hébergement à du web hosting Je dois moderniser une partie du code du site. Actuellement le site est sur Debian 5, php 5.2,.... Bref des techno modernes...  
 
Le code à plus de 15 ans, il n'y a pas vraiment de cohérences. Je cherche un moyen plus ou moins automatisé pour faire une cartographie du code. En particulier les includes php et les liens entre pages.
 
Avez vous un outil à me conseiller ?
Merci

mood
Publicité
Posté le 04-09-2022 à 13:45:12  profilanswer
 

n°2425596
rufo
Pas me confondre avec Lycos!
Posté le 04-09-2022 à 14:53:23  profilanswer
 

Oui, la poubelle et tout recommencer proprement si le code a été aussi bien documenté :o
 
Il fait quoi ce site web ? Car à moins qu'il fasse un truc très spécifique (ex : mon outil Planeta développé pour des écoles associatives), tu peux regarder du côte des CMS gratuits.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2425603
mechkurt
Posté le 04-09-2022 à 17:33:09  profilanswer
 

+1
Rien que les appels à la base de donnée vont devoir être complétement refait, sans parler de la gestion de la sécurité, c'est sans doute plus simple d'essayer d'extraire le contenu et de le mettre dans un CMS à la mode...


---------------
D3
n°2425604
3point14
Posté le 04-09-2022 à 18:24:01  profilanswer
 

C'est un site statique à 95%.
il doit avoir dix appels à la bdd grand max qui ne font que du select sans se baser sur des données valorisée par des users.

 

Dans un premier temps on compte faire une migration 1 pour 1. Et ensuite refaire le site sur des outils plus modernes. Le site doit être migré pour mis septembre au plus tard.

Message cité 2 fois
Message édité par 3point14 le 04-09-2022 à 18:25:17
n°2425605
rat de com​bat
attention rongeur méchant!
Posté le 04-09-2022 à 19:12:39  profilanswer
 

Si le site a été fait au moyen âge :o il faudra aussi - et là c'est un gros chantier éventuellement - revoir le code HTML/CSS. Après ça dépend de comment le site a été conçu, mais peut-être il y a des trucs qui ne se font plus aujourd'hui.

n°2425606
mechkurt
Posté le 04-09-2022 à 20:20:52  profilanswer
 

3point14 a écrit :

C'est un site statique à 95%.  
il doit avoir dix appels à la bdd grand max qui ne font que du select sans se baser sur des données valorisée par des users.
 
Dans un premier temps on compte faire une migration 1 pour 1. Et ensuite refaire le site sur des outils plus modernes. Le site doit être migré pour mis septembre au plus tard.


Dur d'en dire plus sans savoir de quoi on parles, combien de pages, d'images, etc...
C'est quoi les 5% interactif (non statique), un livre d'or, des commentaires, un formulaire de contact ?
 
Pacqu'un site 95% statique, il se fout de tourner sur Debian 5 et php5.2, il n'y a du coups pas bcps de mise a jour nécessaire (des rechercher/remplacer par ci par là, et encore)...
 
Le problème de ce genre de site coder en plusieurs fois par des amis  ou la famille c'est que y'a des bouts de code de partout, j'ai eu une fois site ou y'a 4 scripts définissant les identifiants à la base de donnée. :o  
Dans ce cas détecter les codes qui vont poser problème passe par de l’expérimentation et un peu de bon sens (rechercher mysql_connect dans tous les fichiers dans mon cas ^^ ).


---------------
D3
n°2425607
rufo
Pas me confondre avec Lycos!
Posté le 04-09-2022 à 22:55:58  profilanswer
 

3point14 a écrit :

C'est un site statique à 95%.  
il doit avoir dix appels à la bdd grand max qui ne font que du select sans se baser sur des données valorisée par des users.
 
Dans un premier temps on compte faire une migration 1 pour 1. Et ensuite refaire le site sur des outils plus modernes. Le site doit être migré pour mis septembre au plus tard.


Si tu n'as pu cartographier le code source du site, quel est le degré de confiance dans ce chiffre de 95% statique ?  :ange:  
Tu te bases sur ce que tu vois du fonctionnement du site web côté utilisateur ? Ou tu as quand même mis suffisamment ton nez dans le code source pour pouvoir faire cette estimation ?
 
En tout cas, un portage pour mi-septembre d'un site dont tu n'as aucune doc (et j'imagine, très peu de commentaire utile dans le code source  :sarcastic: ), je peux déjà te dire que c'est mort. :o
 
Le bon côté c'est que si le code source PHP est très ancien, il sera peut-être juste qu'avec des fonctions et pas de code objet. Du coup, il ne devrait pas y avoir trop de portage à faire pour que ça marche sur du PHP 7 ou 8. Maintenant, y'aura à reprendre toute la partie sécurité, notamment dans le traitement des formulaires et les accès à la BD (+ probablement le code HTML et CSS qui ne doivent pas être beaux à voire).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2425608
3point14
Posté le 04-09-2022 à 23:14:01  profilanswer
 

Le code php c'est principalement des includes de bout de page. Et c'est le bordel il utilise deux fichiers différents pour le même contenu. Parfois le contenu est dans la page d'autre fois non.

 

Au niveau du dev on est très loin du modèle mvc.

 

Je vais continuer à faire des greps manuellement.

n°2425609
3point14
Posté le 04-09-2022 à 23:18:16  profilanswer
 

J'ai pas envie de passer énormément de temps sur cette migration vue que le site sera modernisé dans les prochains mois.
 donc si des outils peuvent me faire gagner du temps en listant toutes les dépendances entre les différents fichiers je suis preneur.

n°2425610
mechkurt
Posté le 04-09-2022 à 23:51:17  profilanswer
 

Mais du coups pourquoi changer, tes includes de bout de page doivent fonctionne pareil (include n'est pas déprécié que je saches ^^).
Commence ptet par faire des tests sur un environnement récent avec le debug sur ON et corriges le peu ce qui doit l'être non ?
 
Je suis désolé de ne pas pouvoir aider plus, je ne connais effectivement pas d'outils pour générer une arborescence de dépendance de fichier en php. [:airforceone]  


---------------
D3
mood
Publicité
Posté le 04-09-2022 à 23:51:17  profilanswer
 

n°2425611
rufo
Pas me confondre avec Lycos!
Posté le 05-09-2022 à 07:09:27  profilanswer
 

Pareil, j'en connais pas car jamais eu besoin.
 
Edit : effectivement, si ton code c'est essentiellement des includes et un peu d'accès à la BD, ça devrait aller le portage.
Juste à remplacer les fonctions mysql_* par mysqli_*.
De même, si t'as des trucs du genre $MaString{$i}, faut remplacer par substr($MaString, $i, 1)


Message édité par rufo le 05-09-2022 à 07:30:28

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2426139
tompouss
Petit chat
Posté le 10-09-2022 à 16:15:59  profilanswer
 

3point14 a écrit :

J'ai pas envie de passer énormément de temps sur cette migration vue que le site sera modernisé dans les prochains mois.
 donc si des outils peuvent me faire gagner du temps en listant toutes les dépendances entre les différents fichiers je suis preneur.


 
des pistes:
 
https://dephpend.com/
http://mynixworld.info/2015/04/16/ [...] cies-tree/
https://github.com/mamuz/PhpDependencyAnalysis
 
j'ai jamais testé par contre.
 
Il y'a aussi Rector qui est très utile (voire indispensable) pour faire du refactoring:
 
https://getrector.org
 
https://www.youtube.com/watch?v=JKN-Ui0FcHQ
Testé et approuvé :)


---------------
collectionneur de pâtes thermiques

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Cartographie code php

 

Sujets relatifs
Saut de ligne code PHP[résolu] GCC optimisat. avec -ftree-vrp et code qui ne fonctionne plus
Cherche : Libraire pour IHM no-codeModifier du code source VBA à la volée
importer le code en Java fait par StarUml dans eclipseReconnaitre un button - optimisation de code
[VBA] code outlook format date[Résolu] Souci sur code SQL
Code range VBAAlignement avec visual studio code
Plus de sujets relatifs à : Cartographie code php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR