[Désolée si je n'ai pas mis le sujet dans le bon forum, il me semblait adapté :/]
Voila, je travaille sur un projet avec un collègue qui est en alternance, comme moi, mais nous ne nous voyons quasiment jamais et il est très difficile à contacter. Nous devons ainsi nous débrouiller tous seuls dans notre coin quand nous codons quelque chose, et il se trouve que cette semaine je me retrouve à coder une fonctionnalité qu'il a déjà mis en place sur une autre partie du site.
Alors, je pourrai reprendre son code, l'adapter bêtement et simplement, mais je n'ai pas envie de le faire pour plusieurs raisons :
- Je suis dèv en Laravel et Symfony, et ce code est fait avec le Framework CodeIgniter. Tant qu'à faire, j'aimerai bien pouvoir coder en comprenant ce que je fais (question de compétences pour mon futur emploi);
- Ca ne me semble absolument pas optimisé du tout pour la base de données.
Pour expliquer tout simplement ce que fait cette fonctionnalité demandée, il s'agit d'un compteur de mot-clefs dans des textes pour notre site. Ainsi, nous pouvons voir facilement combien d’occurrences pour un mot-clefs spécifique il existe pour une catégorie/un produit donné, et nous aider pour le référencement naturel.
Mon collègue a fait une table en base de données, avec uniquement deux colonnes : categ_id et keyword. Il n'y a pas de clef primaire, et donc la ligne est non-modifiable dans phpmyadmin, ce qui me semble déjà un peu à polémique. Il n'y a pas non plus de nombre d'occurrence du mot-clef, puisqu'il le fait au chargement de la page.
Alors je pensais qu'il le faisait automatiquement en AJAX pour rendre tout ça dynamique, mais non, c'est en php dans le controller, avec une regex.
Alors pourquoi une telle tartine ? Pendant mes cours de base de données, notre prof nous indiquait qu'il ne fallait surtout pas surcharger la base de données avec des informations qu'on peut calculer au chargement de la page (ici, l'analyse d'un texte pour compter des occurrences). Cependant notre prof de PHP nous disait de surcharger la base justement pour les performances. Et une troisième prof qui nous disait que des fois fallait surcharger, des fois non.
Là, c'est une page qui n'est accessible qu'en partie administrateur (nous sommes trois personnes uniquement à avoir les logs), avec une connexion internet nulle (petit village perdu dans les montagnes). Du coup, je voulais avoir vos avis sur la question suivante :
Dois-je faire un attribut "occurrence" dans la Bdd pour cette nouvelle fonctionnalité, et modifier la ligne à l'édition du texte concerné, ou est-ce que je dois laisser le calcul se faire au moment du chargement de la page ?
Voila voila, j'espère que j'ai bien réussi à retranscrire mon soucis ^^"
Partager