Xhoromag 4 - Spécifications détaillées
#4
Désolé de mon manque de réactivité des dernières semaines. Je me remets donc à Xhoromag 4 à deux semaines du Yaz'.

Bon alors, la base de données, la structure est bonne, aux inévitables ajouts de dernière minute près, et les membres commencent à la remplir, le design et le ramassage d'articles sont en cours... Bon, je crois qu'on est bon, il ne reste plus rien à faire, je peux retourner dormir... ah si, tiens, coder le site. Bah, trivial.

Heureusement pour nous, le framework génère automatiquement énormèment de codes à partir de la simple structure de la base, y compris les formulaires de création, édition, suppression et recherche des aventures, séries et membres. Mais ce n'est pas non plus magique. Donc, spécifications.

Nous ne parlerons ici que du fonctionnel, pour le design, voir le sujet correspondant. Je m'appuie sur le sujet Fonctionnalités et droits, ainsi que de celui sur la structure de la base. Je me suis également uniquement concentré sur le cœur de métier de Xhoromag, les aventures. Une fois ce morceau de choix codé, la gestion des articles ne sera qu'un ajout mineur, car on aura déjà une complète gestion des membres, commentaires et recherches.

Comme vous l'aurez sans doute remarqué, la majeure partie des problèmes à résoudre est liée la gestion des permissions : qui peut faire quoi ? Pour savoir comment le framework les gère, voir le sujet (très technique) Authentification and Authorization de la doc de Yii.

Vous remarquerez que j'ai allégé certaines contraintes. En particulier, j'ai transformé la plupart des validations a priori (attendre confirmation de l'administrateur) par des validations a posteriori (on laisse faire, et on traite les plaintes s'il y a un problème). Cela allègera la charge de travail de développeurs, et évitera des crises de nerfs aux membres.

Notes : par défaut, l'admin peut tout faire, je ne l'ai donc pas systématiquement précisé. De la même façon, membre inscrit sous-entend "non banni".

/******* Attention, pavé !!! **********/

Module Member


Inscription
Priorité Maximale

Détails
Montrer le contenu

Récupération de mot de passe
Priorité Faible

Détails
Montrer le contenu

Création d'un compte d'un autre membre
Priorité Élevée

Montrer le contenu

Réclamer un compte
Priorité Élevée

Montrer le contenu


Édition du profil
Priorité Moyenne

Montrer le contenu

Suppression d'un membre
Priorité Faible

Montrer le contenu

Qu'est-ce qui existe déjà ? (liste non-exhaustive)
  • Yii génère de base des formulaires à partir de la structure de données, il ne reste ensuite qu'à les mettre en forme et à ajouter les validations de champs manquantes. Un même formulaire peut bien sûr servir à la fois à la création et l'édition.
  • Le module yii-user apporte énormément de fonctionnalités, mais à vouloir être trop général, il a des performances et une structure de base pourries. Cependant, on peut allégrement y piller les méthodes les plus utiles (validation de compte par mail, changement de mot de passe).
  • J'ai codé l'identification, en reprenant l'exemple précédent.

Module Collection

Création d'une série
Priorité Maximale

Montrer le contenu

Ajout d'ayant-droits à une série
Priorité Faible

Qui ? : Créateur de la série
Pourquoi ? : Dans le cas d'une série collective, plusieurs personnes doivent pouvoir contribuer et mettre à jour les informations générales.
Fonctionnalités à développer :
  • Formulaire "Donner des droits sur la série à un membre", avec un simple champ texte à autocomplétion pour le nom du membre

Édition des informations de la série
Priorité Moyenne

Montrer le contenu

Suppression d'une série
Priorité Faible

Montrer le contenu

Module Avh

Création d'une aventure
Priorité Maximale

Montrer le contenu

Édition d'une aventure
Priorité Moyenne

Montrer le contenu

Gérer l'avancement d'une aventure
Priorité Élevée (indispensable pour déterminer l'état d'une aventure)

Montrer le contenu

Donner accès à des aventures sur d'autres sites
Priorité Faible

Montrer le contenu

Héberger son aventure sur Xhoromag
Priorité Élevée

Montrer le contenu

Trier les aventures
Priorité Moyenne

Montrer le contenu

Général

Alerter sur un contenu
Priorité Faible

Montrer le contenu

Contacter l'équipe du site
Priorité Faible

Montrer le contenu

Créer un commentaire
Priorité Moyenne

Montrer le contenu

Éditer un commentaire
Priorité Faible

Montrer le contenu

Supprimer un commentaire
Priorité Faible

Montrer le contenu

Rechercher sur le site
Priorité Moyenne

Montrer le contenu

Pouvoir mettre en ligne des fichiers sur le site
Priorité Maximale

Montrer le contenu

Retailler automatiquement les images
Priorité Faible

Montrer le contenu

Qu'est-ce qui existe déjà ? (liste non-exhaustive)
  • De base, Yii propose un formulaire de contact
  • Une gestion basique des commentaires est présenté dans le tutoriel de Yii, et il existe probablement des milliers de variantes pour les gérer sur le net.
  • Yii inclue déjà une fonctionnalité de recherche basique et avancée, générée à partir des classes. Elle permet de limiter la recherche à certains champs côté code, soit le titre, le titre de la série, les auteurs, la description, le genre et l'univers. S'agissant d'une recherche directe dans la base SQL, ce n'est pas le top de la performance, mais cela devrait suffir pour nos besoins. Si c'est vraiment trop lent, il faudra passer à des extensions plus lourdes, mais plus efficaces, comme Apache Solr ou autre.

Remarques
  • L'url, et en particulier le nom, d'une image compte dans sa SEO. C'est la raison pour laquelle couvertures et logos sont enregistrés sous des noms à rallonge, pour augmenter leur chance d'apparaître dans Google Image lorsque l'on entre le titre de l'aventure.
  • Je suis parti du principe que le futur hébergeur de Xhoromag nous laissera accéder aux extensions de traitement d'images de php, histoire de pouvoir enregistrer les images aux tailles idéales pour le site dans la mémoire (cela évite à votre navigateur d'avoir à charger une image trop lourde, ce qui vous fait attendre plus longtemps.
  • Google peut lire les pdf, en particulier les métadonnées et les titres et sous-titres internes au document. Cependant, il les aime beaucoup moins que les pages html, n'aime pas les URL avec des espaces, et l'utilisateur lambda lui n'aime pas les noms de fichiers avec des tirets partout. Mais bon, avec la magie des redirections web, c'est un faux problème, l'adresse "truc/neige-d-automne.pdf" pouvant tout à fait envoyer sur le fichier "Neige d'Automne.pdf".

/****** Fin du pavé ********/

Si vous avez eu le courage de lire, ou ne serait-ce que de survoler ce qui précéde, et que vous avez des remarques, n'hésitez pas, j'y répondrai dès que mon cerveau aura retrouvé toutes ses capacités.
Répondre


Messages dans ce sujet
RE: Xhoromag 4 - Spécifications détaillées - par Skarn - 22/01/2012, 21:38



Utilisateur(s) parcourant ce sujet : 1 visiteur(s)