Cartographie code php - PHP - Programmation
Marsh Posté le 04-09-2022 à 14:53:23
Oui, la poubelle et tout recommencer proprement si le code a été aussi bien documenté
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.
Marsh Posté le 04-09-2022 à 18:24:01
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.
Marsh Posté le 04-09-2022 à 19:12:39
Si le site a été fait au moyen âge 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.
Marsh Posté le 04-09-2022 à 20:20:52
3point14 a écrit : C'est un site statique à 95%. |
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.
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 ^^ ).
Marsh Posté le 04-09-2022 à 22:55:58
3point14 a écrit : C'est un site statique à 95%. |
Si tu n'as pu cartographier le code source du site, quel est le degré de confiance dans ce chiffre de 95% statique ?
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 ), je peux déjà te dire que c'est mort.
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).
Marsh Posté le 04-09-2022 à 23:14:01
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.
Marsh Posté le 04-09-2022 à 23:18:16
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.
Marsh Posté le 04-09-2022 à 23:51:17
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.
Marsh Posté le 05-09-2022 à 07:09:27
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)
Marsh Posté le 10-09-2022 à 16:15:59
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. |
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é
Marsh Posté le 04-09-2022 à 13:45:12
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