Bonjour
J'aimerai avoir des conseils pour faire un module de taxonomie. L'idée est de pouvoir créer des taxonomie pour gérer du contenue, par exemple classer des fiches de voyage en fonction du pays, région, ville, quartier... ou bien le type de visite, créer des catégories d'articles, des tags...
Je pensais faire une arborescence avec l'extension doctrine gedmo tree, qui me propose 3 types de classement : nested, closure ou materialized path.
Je ne sais pas laquelle choisir, car mon niveau php/sql n'est pas très haut, je n'ai jamais eu à utiliser ce genre d'outils avant.
Nested me parait compliqué, j'ai du mal à comprendre ce principe de colonne gauche, droite.
De ce qu'a donné mes recherche, ce type d'arborescence influt sur les types de requêtes, leur vitesse d'affichage, d'écriture, la facilité ou pas à supprimer des "parents" et de reclasser leur enfant.
Je pensais faire un système comme drupal, que j'ai déjà un peu pratiqué, en classant les taxonomies par vocabulaire et terme. J'ai fait 2 entités, une vocabulaire et et une terme, en "one to many" (un vocabulaire peut avoir plusieurs termes) Sur l'entité terme, je pensais faire mon arborescence avec gedmo, vu qu'un terme peut avoir plusieurs enfant.
Je me retrouve face à 3 problématique :
Quel type d'arborescence choisir ? (nested, closure, ou materialized path)
Comment gérer mes requêtes ?
Je maitrise assez mal les requêtes (repository) sur symfony, j'ai peur que mon système de taxonomie génére trop de requête et si je fais des jointures, me retrouver avec une quantité de donnée trop importante à charger à chaque article, vu que mon système de taxonomie risque d'être assez gros. J'ai du mal à visualiser l'impact sur les performances.
Sur mon brouillons, c'est surtout la taxonomie "pays" qui va avoir beaucoup de profondeur. Les autres ne devraient pas souvent dépasser les 2 niveaux (souvent, un parent "vocabulaire" et ses enfants "termes" qui eux n'auront pas d'enfants)
Comment gérer mes urls ?
C'est peut-être un peu tôt pour se poser la question, mais je me demande comment je vais afficher les urls pour bien classer le contenu, comment faire le slug. Faire un slug sur le terme ? genre ww.xxx.fr/{terme} Par exemple, pour ma taxonomie "Pays", je dois mettre dans l'url : /pays/region/ville/quartier ? ça risque d'être un peu lourd.
Bref, voilà où en sont mes réflexions. Si je pouvais avoir l'avis de membre plus expérimentés, ça m'aiderait bien.