Salut, Voilà quelque temps que je souhaite apporter une modification assez importante dans Galette : http://redmine.ulysses.fr/issues/417 Depuis novembre 2012, j'ai épisodiquement travaillé sur le sujet ; mais j'ai aussi passé un temps monstrueux à remettre ça à niveau à chaque fois que je m'y suis remis :( En effet, la nature même de la modification implique de ré-écrire et de supprimer l'ensemble des fichiers PHP présents directement à la racine de de galette, les templates doivent changer aussi, de même que les chemins vers les fichiers javascript, css, images, etc... Concrètement, que signifie cette évolution ? Plusieurs choses : 1- l'application ne devra plus forcément être intégralement servie par le serveur web, 2- on met en commun différents fichiers PHP actuellement épars, 3- les URL deviennent abstraites, alors qu'elles sont aujourd'hui basées sur des noms de fichiers, 4- Une application plus « moderne ». En ce qui concerne le point 1, ce que l'on a aujourd'hui : galette/ <-- racine web lib/ includes/ gestion_adherents.php Tout ce petit monde répond aux URL suivantes : http://monsite.fr/galette/ http://monsite.fr/galette/lib/ http://monsite.fr/galette/includes/ http://monsite.fr/galette/gestion_adherents.php Et ce que l'on aurait demain : galette/ lib includes/ webroot/ <-- racine web Si la racine web est définie sur le dossier webroot, les autres dossiers ne seront absolument pas accessible via quelque URL que ce soit. Bien évidemment, le dossier galette peut toujours faire office de racine, et le comportement sera le même qu'avant. Le point 2 quant à lui devrait permettre de rendre le code plus facile à maintenir, et aussi de mettre en commun pas mal de choses actuellement redondantes. Et enfin, le troisième point permettrait d'avoir des URL du type galette/member/show/2 au lieu de galette/voir_adherent.php?id_adh=2. L'avantage, c'est que les URL ne sont plus qu'une sorte de directive de configuration, qu'il est même possible de traduire (et obtenir ainsi galette/adherent/voir/2 - c'est possible, j'ai testé, restent à voir les implications et limitations -- on verra). Sur le plan technique, j'ai décidé de tester Slim (http://www.slimframework.com/), que je trouve vraiment pas mal : c'est simple, souple, et suffisamment puissant pour faire tout ce dont j'ai eu besoin jusque maintenant. Mon choix est arrêté sur cette bibliothèque. Bon... Passons aux « sujets qui fâchent » maintenant.... - Pendant le temps nécessaire à ce développement, Galette n'évoluera plus, hormis d'éventuels correctifs mineurs. Cela va prendre un certain temps de tout modifier, encore plus de vérifier et de tester (plusieurs mois). - Il est fort possible que des bogues importants surviennent (on va essayer d'éviter, hein, mais il faut être réaliste :p) - Les plugins seront tous à revoir (mais on y accèdera potentiellement avec de de jolis liens du genre http://monsite.fr/carte plutôt que http://monsite.fr/plugins/plugin-maps/maps.php :p)... Ce devrait être la dernière modification de fond sur Galette avant un bon moment ; sauf imprévus (qui sont par nature, imprévisibles). Je ne sais pas encore quand exactement je vais mettre ça définitivement en chantier. Comme je le disais, j'ai déjà commencé (https://github.com/galette/galette/compare/feature/slim), et je ne souhaite pas perdre le temps passé cette fois. J'envisage potentiellement d'apporter les dernières modifications à la version 0.8.2, de la sortir, puis d'embrayer là dessus ; rien n'est arrêté. Des avis ? Des remarques ? ++ -- Johan
Attachment:
signature.asc
Description: OpenPGP digital signature