centraide-quebec / campagne-en-ligne

Application web de campagne en ligne pour Centraide
GNU General Public License v2.0
4 stars 2 forks source link

divers remarques #14

Closed sylwit closed 10 years ago

sylwit commented 10 years ago

je suis le nouveau développeur d'evollia et je prends le projet en cours, je n'ai donc sûrement pas toutes les clés en main, c'est pourquoi je me permet de poser en vrac ici mes diverses remarques sur le dépôt.

1/ le dépôt devrait avoir un dossier /doc qui contiendrait toutes les ressources comme la modelisation de la DB ou bien les PSD/JPG de la charte. Ils sont dans le dossier assets alors qu'ils n'en sont pas. Le dossier /assets est généralement lié symboliquement au dossier public où pointe le vhost. Où bien un grunt peut copier/minifier ces sources pour les rendre publique. Le dossier /docs doit aussi contenir un fichier d'installation pour aider les nouveaux devs à tester rapidement. Le fichier /vagrant/README est LE point de départ

2/ pourquoi existe-t-il un dossier source et un dossier code ?

3/ il est recommandé de suivre la norme PSR-0 ce qui est une bonne pratique cependant Laravel ne semble pas utiliser les namespaces (il peut mais je ne l'ai as vu dans le code présent). Or la norme PSR-0 s'appuie essentiellement sur le namespaces.

4/ sans avoir pu tester le code, le vhost semble pointer dans le dossier /src qui contiendra tout le projet. Une pratique de Symfony2 que je trouve meilleure est de faire pointer le vhost dans un dossier public qui contient un front controller et les assets. Toute l'application est donc hors du répertoire web.

5/ Laravel est choisi pour le design pattern MVC mais je n'ai pas vu le dossiers contenant les vues.

Voilà mes 1eres remarques qui encore une fois n'engagent que moi qui prend le train en marche.

EricHogue commented 10 years ago

Salut,

Voici mon opinion sur les points. @bchhun peut surement en parler plus, c'est lui qui a fait le travail.

  1. Le dossier doc est une excellente idée.
  2. Je crois que le dossier code a les fichier original. Pas mal juste du html dans des fichiers .php. src quand à lui à le vrai projet. Les fichiers de code doivent être modifier pour utiliser le système de templating de Laravel.
  3. Je ne connais pas beaucoup Laravel. Mais le peux que j'ai vu à des namespaces. Aussi un paquet de static :( . De toute façon, on peut utiliser les namespaces pour le code du projet.
  4. Je croyait que le vhost pointait sur public. Ca reste à vérifier, mais le pointer direct sur scr/laravel n'est pas une bonne idée comme tu dis.
  5. De mémoire les vues sont dans src/laravel/app/views.

C'est bien de voir un nouveau dev s'impliquer. Je pense que @bchhun a fait beaucoup, mais il ne peut pas faire tout seul.

bchhun commented 10 years ago

Bonjour Sylvain,

Comme c'est moi qui a débuté le projet suite à la mise en ligne de l'intégration, je crois avoir les réponses à tes questions :)

1) Si tu regardes les logs du projet, tu remarqueras qu'au départ il n'y avait que l'intégration HTML. Les dossiers src & vagrant ont été ajouté par moi-même. Mea culpa, je n'ai pas fait de ménage dans les dossiers d'intégration HTML !

2) Le dossier src contient l'app et le dossier code contient l'intégration HTML original.

3) Laravel utilise les namespaces; ce que tu vois dans le dossier /src/app est le skelette de l'application elle-même. Ces dépendances sont autoloadés.

4) Sous Laravel, c'est le dossier /src/laravel/public qui est la porte d'entrée. L'app elle-même vit dans le dossier /src/laravel

5) Les views sont dans le dossier /src/laravel/app/views

Une de tes principales sources de confusion est de ma faute; le dossier /src/laravel n'aurait pas dû exister. Son contenu aurait dû tout simplement être dans /src.

Fais moi signe pour d'autre questions :)

bchhun commented 10 years ago

@EricHogue: le créateur de Laravel utilise un design pattern qui se nomme facade pour utiliser la syntaxe des statics sans l'être !

sylwit commented 10 years ago

ok merci pour toutes vos réponses. Je vais essayer d'avancer un peu dans l'installation. Sinon pour l'autre issue sur grunt je l'utilise déjà donc je pourrai sûrement vous aider là dessus sauf que j'ai pas vu où ils étaient encore

EricHogue commented 10 years ago

@bchhun Ouin, j'ai vu son explication sur les facades. Et j'ai vu une présentation qui utilise la même explication. Je ne suis pas convaincu. Pas besoin de static pour faire une facade.

Mais bon, Laravel reste intéressant malgré ca.