Comments (5)
J'ai pris le temps de changer le système cette après-midi, c’était un peu rébarbatif mais moins pénible que ce que je craignais. J'ai opté pour intégrer les SVG directement dans le HTML, donc normalement plus aucun délais entre l'affichage de l'interface et le chargement des icônes. Ça m’a aussi permis de faire sauter tous les petits hacks liés aux icônes \o/
Ceci dit les pages HTML sont maintenant plus grosses : +53% sur un journal relativement chargé (passage de ~165 Ko à ~253 Ko). C’est plus léger sur les autres pages qui font moins appel aux icônes. Je pense qu'il y aura une phase d'optimisation dans un second temps.
Je pense que ça passera en prod' la semaine prochaine.
from flus.
C'est en prod ! :)
from flus.
15 secondes, c'est long ! :/ En principe il y a du cache pendant 30 jours, donc ça ne devrait pas être si fréquent, tu confirmes ?
Le problème (technique) est un poil plus complexe car il ne s'agit pas d'un unique fichier "font" : les icônes sont sous forme de SVG et sont intégrées une à une en CSS.
Une alternative possible qui pourrait résoudre le problème (mais demande des changements assez importants) serait d'intégrer les icônes SVG directement dans le HTML. Je perdrais par contre le bénéfice du cache. Il y aurait la possibilité d'utiliser des références externes, mais ce n'est pas si simple. L'injection dans le HTML semble être la meilleure solution aujourd'hui. C'est ce que fait GitHub au final, le cache n'est peut-être pas un si gros problème :) Reste le coût technique à changer l'existant, peut-être pas énorme, mais prise de tête. Je calerais ça un de ces jours !
from flus.
C'est la première fois que je rencontre le soucis, mais j'utilise pas souvent cette connexion (justement parce que la latence m'aide pas trop). Y'a ce potentiel en 3G ou dans des zones où ça capte moyen. En fait en dehors des grandes agglomérations.
Solution moins coûteuse techniquement (surtout si les assets changent pas souvent) :
.icon--credit-card::before {
- background-image: url("../icons/commerce/credit-card-line.svg");
+ background-image: url(data:image/svg+xml;base64,…);
}
from flus.
Oui effectivement je n'y avais pas pensé, bonne idée ! 👍 Ceci dit une raison non évoquée dans mon précédent message pour passer à une injection dans le HTML serait aussi de pouvoir me passer d'un hack rigolo mais pas très maintenable (i.e. je pourrais utiliser fill
à la place).
Ça me donne quand même une solution intermédiaire.
from flus.
Related Issues (20)
- Dossier de cache non créé par défaut? HOT 2
- Flus.fr - thème sombre HOT 1
- [Question] Moving to a popular framework HOT 1
- [feature-request] possibility to unread a link HOT 4
- [amélioration] Remettre le défilement là où il était après avoir effectué une action HOT 7
- Récupérer la durée des vidéos HOT 7
- Erreur 500 HOT 6
- Quid d'un flux XML qui ne s'annonce pas comme tel ? HOT 6
- Import en masse HOT 4
- Problème d'affichage des options de « Vider le journal » HOT 1
- Création de compte : pas de courriel de confirmation HOT 2
- Un lien relatif de type `application/rss+xml` suggère une adresse incorrecte de flux à suivre HOT 3
- Impossible d’installer xdebug avec php-7.4 (installation avec docker, pour le dévelopement) HOT 3
- Items en double HOT 2
- Flux HAL détecté seulement comme une page web HOT 4
- Unable to setup database HOT 5
- [DOC] Apache2 configuration HOT 3
- [UI/UX] Interface display is too big HOT 1
- [BUG] Images not loaded in news HOT 7
- [BUG] Feed not working HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flus.