-
Notifications
You must be signed in to change notification settings - Fork 103
Traduction de editable-svg-icons.md
#121
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
a1c82b8
cc69ce2
dc6869f
06fdac1
a693088
60917ae
81f2552
43186ff
94d7874
b7f757e
0a1d729
533b9a3
31815b6
5bf0a1f
788203b
26ed60a
0f81a3c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,18 @@ | ||
--- | ||
title: Système d'Icônes SVG Dynamique | ||
title: Système d'Icônes SVG Dynamiques | ||
type: cookbook | ||
order: 4 | ||
--- | ||
|
||
## Exemple de base | ||
|
||
<p>Il y a plusieurs façons de créer un système d'icônes SVG. Une méthode qui tire parti des capacités de Vue est de créer des icônes en ligne modifiable en tant que composants. Voici quelques avantages à procéder ainsi :</p> | ||
<p>Il y a plusieurs façons de créer un système d'icônes SVG. Une méthode qui tire parti des capacités de Vue est de créer des icônes inline modifiables en tant que composants. Voici quelques avantages à procéder ainsi :</p> | ||
|
||
* Les icônes sont faciles à modifier à la volée | ||
* Elles sont animables | ||
* On peut utiliser des `props` et des `defaults` pour les dimensionner ou les modifier | ||
* Elles sont écrites dans le code HTML, donc aucune requête HTTP n'est nécessaire | ||
* Elles peuvent être rendues accessibles dynamiquement | ||
* les icônes sont faciles à modifier à la volée | ||
* elles sont animables | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. elles peuvent être animées (bisarre animable :D) |
||
* on peut utiliser des `props` et des `defaults` pour les dimensionner ou les modifier | ||
* elles sont écrites dans le code HTML, donc aucune requête HTTP n'est nécessaire | ||
* elles peuvent être rendues accessibles dynamiquement | ||
|
||
D'abord on crée un dossier pour stocker toutes nos icônes, puis on les nomme suivant une convention pour pouvoir les appeler facilement. | ||
|
||
|
@@ -45,7 +45,7 @@ Créons un composant icône de base (`IconBase.vue`) disposant d'un `slot`. | |
|
||
Ce composant peut être utilisé tel quel, le seul paramètre à vérifier sera le `viewBox` qui dépendra de celui de vos icônes. Dans l'icône de base, les paramètres `width`, `height`, `iconColor` et `iconName` sont des props pour pouvoir les piloter selon les besoins. La prop `iconName` sera utilisée comme le contenu de la balise `<titre>` et de l'attribut `id` de notre icône SVG pour assurer l'accessibilité. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. point virgule après tel quel le seul paramètre que vous pourrez avoir à modifier est la pour pouvoir les modifier dynamiquement sera utilisée à la fois pour le contenu de la balise There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. je retire la traduction, c'est vrai que c'est mieux |
||
|
||
Le `<script>` du composant icône de base ressemble a ça. Remarquons les valeurs par défaut. Notre icône sera toujours affichée avec les mêmes hauteur/largeur partout sauf si on les force à changer. | ||
Le `<script>` du composant icône de base ressemble à ça. Remarquons les valeurs par défaut. Notre icône sera toujours affichée avec les mêmes hauteur/largeur partout sauf si on les force à changer. | ||
|
||
```js | ||
export default { | ||
|
@@ -82,7 +82,7 @@ Et si on souhaite afficher l'icône dans d'autres tailles : | |
|
||
```html | ||
<p> | ||
<!-- on peut lui passer une `width` et une `height` plus petite grace aux props --> | ||
<!-- on peut lui passer une `width` et une `height` plus petite grâce aux props --> | ||
<icon-base width="12" height="12" icon-name="write"><icon-write /></icon-base> | ||
<!-- ou ne rien passer du tout et utiliser la width par défaut : 18 --> | ||
<icon-base icon-name="write"><icon-write /></icon-base> | ||
|
@@ -95,7 +95,7 @@ Et si on souhaite afficher l'icône dans d'autres tailles : | |
|
||
## Icônes animables | ||
|
||
Mettre des icônes SVG dans des composants devient clé dès que l'on souhaite les animer. D'autant plus quand cette animation se passe lors d'une interaction. Les SVG `inline` sont la forme de SVG la mieux supportée. Voici comment animer une icône lors d'un click : | ||
Mettre des icônes SVG dans des composants devient clé dès que l'on souhaite les animer. D'autant plus quand cette animation se passe lors d'une interaction. Les SVG `inline` sont la forme de SVG la mieux supportée. Voici comment animer une icône lors d'un clic : | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
IMO There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ca m'a l'air mieux effectivement |
||
|
||
```html | ||
<template> | ||
|
@@ -147,13 +147,13 @@ Nous avons ajouté des attributs `ref` aux groupes de paths pour pouvoir les ani | |
|
||
<p data-height="300" data-theme-id="0" data-slug-hash="dJRpgY" data-default-tab="result" data-user="Vue" data-embed-version="2" data-pen-title="Système d'icônes SVG Dynamique : Animation" class="codepen">Voir le Pen <a href="https://codepen.io/team/Vue/pen/dJRpgY/">Système d'icônes SVG Dynamique: Animation</a> by Vue (<a href="https://codepen.io/Vue">@Vue</a>) on <a href="https://codepen.io">CodePen</a>.</p><script async src="https://production-assets.codepen.io/assets/embed/ei.js"></script> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Il y a également un espace avant les |
||
|
||
<p style="margin-top:-30px">Pas trop dur! Et en plus, super facile a modifier à la volée!!</p> | ||
<p style="margin-top:-30px">Pas trop dur ! Et en plus, super facile à modifier lorsque à la volée.</p> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Pourquoi rajouter There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. +1 pour retirer lorsque, ça ne veut rien dire There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. C’est une typo, j’ai essayé de faire les modifia au bureau entre deux compiles... paaaaa bien |
||
|
||
D'autres exemples d'animations sont disponibles dans le dépôt [ici](https://github.com/sdras/vue-sample-svg-icons/) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. J'ai souvent lu que c'était pas bien d'utiliser le texte "ici" pour un lien, car tu "perds de l'information". Je pense que ça serait mieux si ça serait There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. bonne idee |
||
|
||
## Remarques additionnelles | ||
|
||
Les designers peuvent changer d'avis. Les exigences du produit peuvent aussi évoluer. Conserver la logique pour l'ensemble des icônes dans un seul composant de base nous permettra de mettre a jour toutes les icônes en modifiant un seul fichier. Même en utilisant un _icon loader_, il existe des situations où recréer ou modifier chaque SVG devient nécessaire si on souhaite la même modification sur tous les icônes. Cette méthode peut vous éviter ces contrariétés et vous faire gagner du temps. | ||
Les designers peuvent changer d'avis. Les exigences du produit peuvent aussi évoluer. Conserver la logique pour l'ensemble des icônes dans un seul composant de base nous permettra de mettre a jour toutes les icônes en modifiant un seul fichier. Même en utilisant un _icon loader_, il existe des situations où recréer ou modifier chaque SVG devient nécessaire si on souhaite la même modification sur toutes les icônes. Cette méthode peut vous éviter ces contrariétés et vous faire gagner du temps. | ||
|
||
## Quand éviter ce pattern | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je propose :
ou
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pas de s à directement hein
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Retrait des « s » plus haut donc... huhu...