View Issue Details

IDProjectCategoryView StatusLast Update
0001738Common[All Projects] Generalpublic2016-10-07 19:46
ReporterXenosAssigned ToXenos 
PrioritynoneSeverityminorReproducibilitysometimes
Status CloseResolutionfixed 
Product Version1.0.4 
Target VersionFixed in Version2.0.15 
Summary0001738: Le cache des XML ne prend pas en compte la XSD validante
DescriptionActuellement, j'ai un cache de fichiers qui me permet d'éviter de réitérer une opération lourde sur un fichier (je stocke le chemin du fichier, le nom de l'action et le hash du fichier, si le hash n'a pas changé pour tel fichier et telle action, alors je ne refais pas l'action).

Le problème, c'est qu'un document XML peut ne pas avoir été modifié, mais sa XSD peut avoir changé! Auquel cas le cache va dire "ok, ton fichier XML n'a pas bougé, pas la peine de le revalider", alors que la XSD ayant changé, le XML n'est plus valide.

Donc, il faudrait trouver un moyen d'éviter ce problème. L'idéal serait de stocker non pas le hash du fichier, mais le hash de l'action complète, pour ne la réexécuter que si ce hash change (et donc, l'action pourra prendre en compte la XSD dans son hash). Ce sera en plus hyper-généralisable (genre la validation des HTML par rapport à leur XSD, ou la validation des CSS par rapport aux règles du W3C, ou la validation des PHP par rapport à mes règles, etc).

Cela obligera à faire proprement des classes PHP pour le builder (car là, je suis loin d'un truc propre). Ce sera donc très chronophage, et autant laisser cela à bien plus tard.
TagsNo tags attached.
Attach Tags

Activities

Xenos

Xenos

2016-10-02 20:42

administrator   ~0002552

Je viens de faire un check XML sur Dracca après avoir désactivé le système de cache: j'ai deux fichiers contenant des erreurs qui sont remontés (qui n'étaient donc pas détectés avant).

Conclusion: ma merde de cache est plantée, je la dégage.
Xenos

Xenos

2016-10-02 20:47

administrator   ~0002553

Last edited: 2016-10-07 19:46

Voilà, je dégage cette merde, et j'applique la maxime "Feature d'optimisation = feature bidon".
Xenos

Xenos

2016-10-02 20:54

administrator   ~0002554

Last edited: 2016-10-07 19:46

Ah, pas besoin de perdre 40 minutes à en faire un article: 2 minutes suffisent sur la nouvelle FAQ de jeux web!

https://jeuxweb.reinom.com/1/faut-il-impl%C3%A9menter-un-syst%C3%A8me-de-cache

Issue History

Date Modified Username Field Change
2016-09-13 23:42 Xenos New Issue
2016-09-13 23:42 Xenos Status New => Understood
2016-10-02 20:42 Xenos Note Added: 0002552
2016-10-02 20:42 Xenos Assigned To => Xenos
2016-10-02 20:42 Xenos Status Understood => In progress
2016-10-02 20:47 Xenos Note Added: 0002553
2016-10-02 20:47 Xenos Status In progress => Close
2016-10-02 20:47 Xenos Resolution open => fixed
2016-10-02 20:54 Xenos Note Added: 0002554
2016-10-07 19:46 AutoUpdater Fixed in Version => 2.0.15