Conception

Il y a une phase que j’aime bien, quand je développe, c’est la partie conception, où l’idée, la structure, le comment commence à s’emboîter au fur et à mesure de ma réflexion, des lectures que je fais sur le net sur l’état de l’art actuel, sur les normes applicables ou sur le point de l’être.

Aujourd’hui, ou plutôt depuis quelques jours, je réfléchis à l’implémentation des CSP dans les pages de l’administration de Dotclear et dans les pages des blogs telles qu’elles sont vues côté public.

Ça fait déjà plusieurs mois — en fait depuis la conférence de Nicolas Hoffmann sur ce sujet à Paris-Web 2015 — que j’ai ce sujet en arrière-plan ; Un ticket a même été ouvert par Bruno (Dsls) il y a déjà deux ans de ça et j’aimerais bien pouvoir intégrer ça dans la prochaine version 2.10 de Dotclear.

C’est assez subtil à mettre en place, parce qu’il faut à la fois verrouiller autant que faire se peut, mais ne pas bloquer ce qui est légitime ; et il faut prévoir des usages externes, comme ceux pouvant être implémentés dans certains plugins, ou lorsqu’on utilise un CDN[1].

Ça milite aussi pour une plus grande rigueur côté code. Par exemple, les CSP sont plutôt contradictoires avec la présence de scripts ou de styles inline. Or — je n’ai pas encore fait l’inventaire la dessus — il me semble qu’on en utilise pas mal.

Et puis on touche à des notions plutôt maitrisées par des geeks, voire même des geeks avertis mais il faut également faire en sorte que ce soit utilisable et configurable par le plus grand nombre des administrateurs.

Pour conclure, et en tenant compte de mes premières réflexions, ça ne sera pas activé d’emblée sur Dotclear, trop de casse possible, et il faudra prévoir un mode reporting only qui permette d’inventorier les potentielles violations des clauses activées pour affiner ces dernières, ou pour demander des évolutions aux développeurs des plugins et/ou thèmes installés.

Si ça vous intéresse, on peut en causer ici ou ailleurs !


Quelques liens externes que j’ai glanés ici et là :

Note

[1] Un content delivery network (CDN), ou réseau de diffusion de contenu (RDC), est constitué d’ordinateurs reliés en réseau à travers Internet et qui coopèrent afin de mettre à disposition du contenu ou des données (généralement du contenu multimédia volumineux) à des utilisateurs. [ Wikipedia : « Content delivery network » ]

Ajouter un commentaire

Les champs suivis d'un * sont obligatoires

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/12804

Haut de page