C'est un fait désormais bien établi, les services pour webmasters permettent de suivre le déplacement des utilisateurs sur le web. A titre d'exemple, on trouve google analytics ou les bibliothèques (javascripts, fonts) hébergées notamment par google. A titre d'exemple, une liste est disponible sur developers.google.com.
Installer ces libraries sur son serveur est en réalité très simple. Prenons l'exemple de jquery et mathjax sur apache. Pour ceux qui ne sont pas familier, mathjax permet d'afficher des équations sur son site web ou dans Jupyter. Dans le cas de l'hébergement de fichiers privés, l'intérêt apparaît clairement. Les équations étant envoyées vers le service de mathjax (si vous l'utilisez directement), celui-ci connait l'intégralité des équations de votre document.
On commence par installer jquery et mathjax
sudo apt install libjs-jquery
sudo apt install libjs-mathjax fonts-mathjax-extras
On crée un virtual host pour apache dans sites-available
<VirtualHost *:80>
ServerName mylibs.mydomain.tld
ServerAdmin webmaster@sciunto.org
ServerAlias mylibs.mydomain.tld
Alias /mathjax/ /usr/share/javascript/mathjax/
Alias /jquery/ /usr/share/javascript/jquery/
ErrorLog ${APACHE_LOG_DIR}/mylibs.mydomain.tld-error.log
CustomLog ${APACHE_LOG_DIR}/mylibs.mydomain.tld-access.log combined
</VirtualHost>
Il est ensuite souhaitable de dupliquer cette configuration en https, ou de n'utiliser que https. letsencrypt permettra d'avoir un certificat pour ça.
Maintenant, dans le code du site web, on peut remplacer l'appel de mathjax (par exemple)
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML"
par
src="//mylibs.mydomain.tld/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"
pour le cas d'un appel http ou https ou
src="https://mylibs.mydomain.tld/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"
pour un appel en https seulement.
En rédigeant ce billet, je me dis que des hébergeurs comme les CHATONS pourrait aussi proposer ce type de services pour les personnes n'ayant pas la possibilité d'héberger ces bibliothèques.