-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Salut,

Je répond sur la liste -devel car mes remarques sont purement techniques ;)

> Bonsoir à tous,
>
> Je travaille depuis quelques mois sur un plug-in pour gérer un aéroclub
et j'en suis arrivé à quelque chose qui semble marcher.
>
> Je ne sais pas encore me connecter correctement à Gna! aussi je n'ai
pas pu l'uploader dans un projet correctement. Cependant, il est
disponible au moins quelques jours ici :

Te connecter correctement à Gna! ? Plus précisément ?

>
> http://dl.free.fr/f9IfDd77p
>
> L'installation se fait en 2 étapes :
> - dézipper le fichier dans le répertoire plugins
> - se connecter en mode admin, puis aller sur la page "Gestion table
SQL" dans la partie "Admin pilote" et lancer les 2 scripts SQL présents
: "00 - install.sql" puis "05a - ajout parametres web.sql".

Alors, première remarque : pas d'espaces ni de caractères accentués dans
les noms des fichiers. Déjà que ça met le bazar sur un système de
fichiers, sur le web c'est encore pire.

Ensuite ; pourquoi ne pas avoir dit que tu travaillais sur un système de
gestion des bases de données des plugins ; alors que c'était une tâche
officiellement prévue dans Galette (https://gna.org/task/index.php?7421
depuis le 05/07/2011) ; que j'ai implémentée dans la semaine ?
D'autant que ça ne sert qu'à ton plugin, pas aux autres...

Les scripts SQL en eux-mêmes ne sont pas utilisables en dehors de
l'appli ; il faut faire tout un tas de remplacements à la main, ce qui
n'est pas conforme aux scripts SQL de galette et des autres plugins
existants (on doit pouvoir lancer un script SQL depuis le moteur de
bases de données directement).

Autre chose, les standards de codage ne sont pas respectés dans tes
différents fichiers
(http://galette.tuxfamily.org/documentation/fr/development/codage.html#conventions-d-ecriture).

>
> Sur cette page, la liste des tables devrait indiquer qu'elles sont
toutes créées correctement, avec leur version à 0.7 (comme Galette).
>
> [...]

Je ne suis pas la bonne personne pour tester les fonctionnalités, je
laisse ça à qui de droit (et je n'ai pas le temps en plus :p).

De toutes façons, ma Galette de dév tourne sous Postgres actuellement,
pas en MySQL.

>
>
> Il n'y a par contre par de documentation, mais j'ai essayé de faire les
écrans les plus simples possibles.

Ça aussi c'est un petit « problème ». J'essaie de faire en sorte que
tout soit documenté le mieux possible ; au moins un minimum (un petit
fichier INSTALL et un un petit fichier README fournis de base, c'est
plutôt standard)...

>
> Une page ne vous servira à rien : "Import Access 2" car elle est
destinée à importer des données depuis une application Access 2 et est
extrêmement spécifique.

À mon avis, il aurait fallu au moins que ce soit activable par un
paramètre quelconque et caché par défaut. Pourquoi en effet ajouter 2
entrées dans 2 menus différents pour un truc qui ne sert clairement pas
(hormis à toi) ?

>
> Je reste ouverte à vos propositions d'amélioration et aux retours.
>
> Mélissa

L'i18n, ne correspond pas non plus. Galette utilise gettext, avec tout
un mécanisme de récupération automatique des chaînes et de traduction
via des fichiers .po
(http://galette.tuxfamily.org/documentation/fr/development/i18n.html).
L'utilisation de gettext implique d'avoir les chaînes originales (en
anglais) dans le code source, l'interface étant complètement utilisable
sans les fichiers de langue. Si je désactive ton fichier de langue, je
me retrouve avec des entrées de menu telles que "MENU.RESERVATION" ou
"MENU.COMPTE" au lieu de "Reservations" et "Accounts".
La création des fichiers de langue pour un plugin est documentée là :
http://galette.tuxfamily.org/documentation/fr/development/plugins.html#internationalisation

Dans ton code, tu utilises une syntaxe du genre $levercoucher[lever].
C'est incorrect. D'une part, ça produit une notice :
PHP Notice:  Use of undefined constant lever - assumed 'lever' in
/var/www/html/private/galette.git/galette/plugins/Pilote/reservation.php
on line 133, referer:
http://odysseus.x-tnd.be/public/galette-svn/galette/plugins/Pilote/parametres.php

Et d'autre part, c'est problématique pour différentes raisons ; les
chaines de caractère en PHP sont toujours entre guillemets simples ou
doubles ; il faut systématiquement quoter dans ce genre de cas et
utiliser $levercoucher['lever']. Confer
http://php.net/manual/fr/language.types.array.php#language.types.array.foo-bar

L'inspection des logs de php en phase de dév permet de détecter et de
corriger de suite ce genre de cas. Les notices produites ne sont par
défaut pas affichées à l'écran, et Galette tente en plus de les masquer
; mais chez certains hébergeurs, il est possible qu'elles soient
affichées sur la page ; et que la fonction utilisée par galette qui
permette de les planquer soit désactivée. Dans ce cas là, l'utilisateur
se gaufre des dizaines de lignes de warnings avant d'accéder au contenu
(pour voir ce que ça donne :
http://galette.tuxfamily.org/fr/doku.php?id=documentation:faq#afficher_les_erreurs_galette_07).

Je ne suis pas en mesure d'afficher certaines pages (Mes vols, Réserver
un avion, Planning réservations, ...) ; je suppose que c'est du à
l'absence de la base.

L'entrée « Mon mot de passe » m'interpelle... Ce n'est pas spécifique au
plugin, ce type de fonctionnalité devrait être dans Galette, pas dans un
plugin.

Enfin (et ce sera tout pour le moment), il y a des requêtes SQL dans les
fichiers PHP divers, qui devraient plutôt être dans les classes je pense.

Merci,
++
Johan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk7uzIYACgkQ7N2B+4uln5T1igCgiOEqdpUuInelBhejQrw3pBA9
LTYAoJUEJz9QL2wyjRcdTy1b4LnP2a88
=q7zG
-----END PGP SIGNATURE-----


_______________________________________________
Galette-devel mailing list
Galette-devel@gna.org
https://mail.gna.org/listinfo/galette-devel

Répondre à