FramaStatic
Quoi ?
Créer un CDN délivrant des contenus statiques, type : bibliothèques javascript, CSS, fonts, jeux d'icônes, etc.
Délivrer, pourquoi pas, les contenus statiques propres au réseau Framasoft.
Exemples de bibliothèques javascript : jquery, angularjs, leaflet, jquery-ui, bootstrap, lightbox, html5shim, modernizr, etc.
Exemples de CSS : bootstrap, modernize.css, typeplate, etc.
Proposition de nom de domaine : static.framasoft.org ou framastatic.org
Pourquoi ?
Parce que, actuellement, la plupart des développeurs web utilise les grandes bibliothèques javascript, CSS, fonts… via des CDN.
Cela permet, en effet :
- de décharger leur propre hébergement et bande passante de tous ces fichiers hyper-communs
- d'optimiser grandement la mise en cache côté client
- et donc de sensiblement accélérer le chargement des pages
Illustrons cela :
- Soient 100 sites web utilisant le jquery hébergé par google api.
- Si Mme X va visiter ces 100 sites web,
- Son navigateur ne chargera et ne mettra en cache qu'une seule version de jquery (celle de google api)…
- au lieu de 100 !
- L'économie en bande passante et en temps de chargement sera très importante.
- Le confort utilisateur sera amélioré.
- Et la planète soulagée de 99 chargements de jquery : pas négligeable ; c'est du green-IT quoi !
Ceci est devenu une bonne pratique de développement web.
Pourtant, à l'heure actuelle, qui sont les grands CDN fournissant ces «contenus statiques» ?
- Google via ses Google API (voir, par exemple, https://developers.google.com/speed/libraries/devguide?hl=fr).
- Microsoft (voir http://www.asp.net/ajax/cdn).
- Et d'autres, liés très souvent à des entreprises privées (Twitter, Leaflet, etc.)
Pas d'acteur neutre (type association ou organisation indépendante) dans ce domaine, ni de mécanisme de «CDN décentralisé».
Peut-être serait-il intéressant que Framasoft s'y immisce ?!
Gros CDN et mauvaises intentions
Questions : Ces gros CDN privés/proprios sont-ils si mauvais ? N'offrent-ils pas un service désintéressé ?
Réponses :
→ Non ce n'est pas désintéressé et oui c'est grave ! Car…
- Lorsqu’on charge une page web qui utilise une ressource hébergée par un tiers,
- le navigateur fait une requête au tiers en lui transmettant l’URL de la page chargée (attribut HTTP Referer).
- Le tiers peut alors associer l’IP du visiteur à l'URL de la page visitée.
- Et paf, ça fait de l’espionnage gratuit.
Les «Non»
→ Framasoft ne peut/veut proposer ce genre de service, parce que celui-ci ne doit jamais planter et parce que c'est une pratique qui centralise et rend les développeurs web dépendants.
→ Cela nécessiterait, pour Framasoft, de devoir tenir les performances : grosse bande passante, haute disponibilité, etc.
→ Les bibliothèques javascript ont généralement leur propre CDN. Pour les plus connues : https://code.jquery.com/, http://www.bootstrapcdn.com/, etc. Aller les chercher systématiquement sur GoogleAPI, c'est juste une habitude de faignant/de facilité.
- N'y a-t-il pas plein d'autres grandes & moyennes biblios qui ne possède pas de «CDN libre» ?
Les «Oui» ou «Oui si...»
→ Ne vaut-il mieux pas, dans un premier temps, un acteur «centraliste» indépendant (association, ONG, etc.) que ces (gros) CDN privés/proprios ?
→ S'il existait une solution pour faire cela de manière distribuée et sans compromettre l'intégrité des librairies, fonts, icônes, etc., ce serait très intéressant.
- https://peercdn.com/ : mais la techno a été rachetée par Yahoo!
- https://cdnjs.com/about : sponsorisé par CloudFlare
- http://swarmify.com : mais c'est payant
- Lire ceci https://mozillaignite.org/apps/479/
- Voir ça http://peerjs.com/ et ça http://peerkit.com/
Participons au projet
→ Créons une discussion publique sur la Framasphère avec le tag #FramaStatic ou sur Framacolibri.
Personnes motivées
Mathieu Poisbeau : mail = freepius (at-choum) anarchos-semitas.net ; framasphère = freepius (at-tention) framasphere.org