Les types de notes

J’ai indiqué dans le précédent tutoriel, que les notes étaient basées sur un “type de note” et que ce type de note définissait la liste des champs ainsi que les cartes générées pour une note.

Une des fonctionnalités de Anki est de pouvoir créer son propre type de note afin d’avoir ses types de carte personnels.

Changer de type de note

Vous pouvez être amené à vouloir changer le type de note d’une note. Ce n’est pas compliqué, mais il y a des points de vigilance.

Pour changer le type de note:

  • Sélectionner la/les notes que vous voulez modifier.
  • Menu “Note > Changer le type de la note”
  • Sélectionner le type de note de destination
  • Pour chaque champ de destination, vérifier quelle valeur “source” lui affecter
  • Valider

Quand vous sélectionnez les notes à modifier vous pouvez en sélectionner plusieurs pour faire en changement en masse. Toutefois vous ne pouvez sélectionner que des notes de même type.

Créer ces propres types de note

Vous allez certainement vouloir aller plus loin avec vos notes/cartes:

  • Ajouter des informations
  • Modifier le rendu des cartes
  • Afficher les furiganas
  • Créer vos propres format de cartes

Dans ce cas là il fortement conseillé de créer son propre type de note, plutôt que de modifier les types de note de base.

Si vous avez déjà saisi plein de cartes avec le type de base, pas d’inquiétude, il suffit de créer un nouveau type basé sur le type actuel, et de changer le type de toutes vos cartes.

Avantages, Inconvénients de créer ces propres types de note

Avantages

Avoir ces propres types de cartes c’est pouvoir contrôler complètement les informations que vous saisissez et de ce que vous en faites (qu’est-ce que j’affiche et où dans mes cartes).

Vous pouvez également créer différents types de carte à partir d’une seule note sans devoir faire des copier/coller pour des cartes différentes.

Celà permet également de faire évoluer vos cartes sans tout réécrire et en gardant vos historiques de révision.

Inconvénients

C’est pas le truc le plus amusant. On peut perdre beaucoup de temps parce qu’on n’à pas mis un point virgule au bon endroit.

On peut parfois se noyer dans les informations car on créé 50 champs et 10 cartes par notes.

Gérer les types de note

Les types de notes sont gérés depuis le menu “Outils > Gérer les types de note”.

De là nous pouvons ajouter, renommer, supprimer, modifier les types de notes à notre disposition.

Untitled

Nouveau type de note

Pour créer un type de note:

  • Dans la gestion des types de note
  • cliquer sur “Ajouter”
  • Sélectionner sur quel type de note il sera basé
  • Saisir un nom

Dans le choix de la source nous avons deux catégories:

  • Ajouter XXX : indique que l’on va créer un type de note depuis le type de base Anki “XXX”
  • Dupliquer XXX : indique que l’on va faire une copie du type de note personnalisé existant “XXX”

anki-nouveau-type-note.gif

Gérer les champs

Pour gérer les champs, sélectionner le type de note et cliquer sur le boutons “Champs…”.

Untitled

Depuis cette fenêtre vous pouvez ajouter, renommer supprimer des champs. Vous pouvez également les réorganisés en les faisant glisser entre eux. L’ordre affiché est l’ordre dans lequel ils apparaissent dans la fenêtre de création/modification d’une note.

Les options les plus utiles sont:

  • Description : une description de à quoi sert le champ
  • Police d’écriture : permet de choisir une police d’écriture et une taille utiliser lors de la saisie dans ce champ
  • Trier selon ce champ dans l’explorateur : un seul champ peut avoir cette option et elle indique que c’est ce champ qui est affiché dans l’explorateur et qui sert de référence à la note (notamment pour la détection des doublons)

Pour les autres options je vous renvoi à l’aide.

Gérer les types de cartes

C’est la partie la plus “compliquée” de la gestion des type de notes. Les types de cartes définissent la liste des cartes que Anki va générer pour chaque note, l’affichage de la question et l’affichage de la réponse.

Le HTML

Pour gérer l’affichage d’une carte, Anki utilise le langage HTML, qui est un langage de description de document utilisé par les sites Web.

Le sujet du HTML étant trop vaste, il sort du carde de ce tutoriel (et ce n’est pas mon domaine de prédilection ;). Nous allons juste aborder des bases simples pour pouvoir faire un minimum, mais là encore je vous renvoi à des tutoriels sur Internet comme Alsacreations ou W3schools (EN).

Pour ceux qui n’y connaissent absolument rien ils trouveront un récapitulatif très succinct du HTML sur ce tutoriel HTML de base.

Vous pouvez également vous contenter d’afficher les champ sans HTML.

Edition des types de carte

Pour gérer les types de carte, sélectionner le type de note et cliquer sur le bouton “Cartes…”.

Untitled

En haut de la fenêtre on peut sélectionner le type de carte en cours d’édition.

Le bouton “Options” va nous permettre de créer, renommer et supprimer un type de carte.

La zone central est divisée en deux :

  • Modèle : c’est dans cette partie que l’on va écrire comment on va afficher nos cartes, on peut sélectionner les trois modèles disponibles “Modèle du recto”, “Modèle du verso” et “Styles”. Voir plus bas pour les détails.
  • Aperçu : affiche un aperçu du rendu de la carte, en temps réel, chaque modification dans le modèle va actualiser l’aperçu et nous permettre de nous rendre compte de l’affichage de la carte. Vous pouvez sélectionner quelle face de carte vous voulez prévisualiser le recto (la question) ou le verso (la réponse).

Le bas de la fenêtre affiche différents boutons en fonction du contexte.

Edition des modèles

Chaque type de carte possède un modèle pour le recto (la question) et un modèle pour le verso (la réponse). Nous avons un troisième modèle “Styles” qui nous permet de définir les styles CSS de nos cartes, toutefois ce modèle est valable pour toutes les cartes du type de note (c’est un modèle commun au type de note).

Pour éditer un modèle il suffit de le sélectionner puis de taper votre code HTML et texte.

anki-edition-model.gif

Pour afficher le contenu d’un champ de la note, il suffit de cliquer sur le bouton “Ajouter un champ” de sélectionner le champ. Ou d’écrire le nom du champ entre des doubles accolades, comme {{Recto}} dans l’exemple ci-dessus. Lors de vos révisions le contenu du champ de la note sera inséré à cet endroit.

Attention les noms des champs sont sensibles à la casse, si le nom du champ possède des majuscules il faut les mettre également dans le modèle, sinon Anki ne trouve pas le champ.

Il existe également des noms de champ prédéfinis (attention également aux majuscules):

  • {{Tags}} : affiche la liste des étiquettes définies sur la note
  • {{Type}} : affiche le nom du type de la note
  • {{Deck}} : Affiche le nom du paquet parent de la carte
  • {{Subdeck}} : affiche le nom du “sous-paquet” de la carte
  • {{CardFlag}} : affiche le nom du drapeau de la note
  • {{Card}} : affiche le nom du type de la carte

Edition du modèle Verso

Le modèle “Verso” utilise généralement un champ prédéfini {{FrontSide}} qui insert le contenu complet de ce qui est généré dans la partie “Recto”.

Untitled

Edition des styles

Les styles vont vous permettre de décrire le CSS que vous utilisez avec le HTML de vos modèles. Comme dit plus haut, les styles sont communs à toutes les cartes, donc vous ne les écrivez qu’une fois contrairement aux modèles.

Untitled

Edition avec un exemple de données

Par défaut l’aperçu nous affiche de fausses données (nom du champ entre parenthèse) qui ne sont pas représentative de la réalité d’une note (une phrase d’exemple sera toujours plus longue que le nom du champ).

Pour utiliser une note comme données d’exemple dans l’aperçu, il suffit d’ouvrir l’explorateur de notes, de rechercher la note qui vous intéresse, de la sélectionner pour ouvrir le panneau d’édition et de cliquer sur le bouton “Cartes…”, cela ouvrira les modèles de cartes du type de note de la note

Génération conditionnelle

Sous ce terme un peu barbare se cache un mécanisme assez pratique pour afficher du texte uniquement si on à une valeur dans un champ (ou pas). Par exemple si j’ai un champ “Notes” mais que je veuille afficher un titre avant mes notes mais uniquement si j’ai saisi des notes :

{{#Notes}}
<strong>Notes:</strong><br/>
{{Notes}}
{{/Notes}}

Les balises {{#Champ}}…{{/Champ}} affiche le contenu uniquement si il y a une valeur dans le champ “Champ”.

Nous pouvons faire l’inverse, afficher le contenu uniquement s’il n’y a pas de valeur dans le champ avec les balises {{^Champ}}…{{/Champ}} .

{{#Notes}}
<strong>Notes:</strong><br/>
{{Notes}}
{{/Notes}}

{{^Notes}}
Pas de notes saisies.
{{/Notes}}

Cette fonction nous sera utile pour faire des cartes optionnelles (cf plus bas).

Les styles CSS

Anki génère différentes classes CSS pour permettre de faire des sélecteurs en fonction du contexte.

  • .card : cette classe est définie sur l’élément parent dans lequel Anki affiche nos modèles. Vous pouvez voir que par défaut le modèle “Styles” contient un style .card pour définir le design par défaut de toutes les cartes
  • .cardX : où X est le numéro du type de carte, si on ne veut appliquer un style que pour le second type de carte on va utiliser le sélecteur .card2.
  • .win : définie uniquement si on exécute Anki sur Windows
  • .mac : définie uniquement si on exécute Anki sur MacOS
  • .linux : définie uniquement si on exécute Anki sur Linux
  • .mobile : définie uniquement si on est sur iPhone ou Android
  • .iphone / .ipad : définie uniquement si on est sur un iPhone ou un iPad iOS
  • .android : définie uniquement si on est sur Android
  • .nightMode : définie si Anki est en mode “Sombre”

Pour définir un style à un champ il suffit de l’encapsuler entre une balise <div> ou <span> de lui attribuer une classe et de définir son style.

HTML

<div class="mon-recto">{{Recto}}</div>

CSS

.mon-recto {
    font-size: 32px;
}

Il n’y a pas de classe pour différencier le recto du verso, donc si vous avez besoin de le faire, créer un <div> avec une classe et mettez tout le contenu dans ce div.

Les cartes vides

Si le contenu de la partie recto est vide (car le champ “Recto” est vide par exemple) alors la carte n’est pas générée par Anki, car on ne peut pas répondre à une question qui n’existe pas 😉

Toutefois si vous avez votre champ avec du HTML votre carte ne sera pas vide, elle aura une balise vide mais une balise quand même et donc pour Anki c’est du contenu. Si on prend l’exemple précédent, pour s’assurer de celà on peut utiliser les instructions conditionnelle:

{{#Recto}}
<div class="mon-recto">{{Recto}}</div>
{{/Recto}}

De cette manière on génère le HTML uniquement si on a un contenu dans Recto, sinon la carte sera vide.

Toutefois si on efface le contenu de Recto après coup, Anki aura généré la carte car Recto avait du contenu. Le fait d’effacer le contenu de Recto ne va pas supprimer la carte, la carte existera toujours et lors d’un révision un message s’affichera vous informant que cette carte est vide. Pour faire le ménage vous pouvez utiliser l’outil “Chercher les cartes vides” expliqué précédemment dans ce tutoriel.

En revanche si on créé une carte avec le Recto vide (donc la carte n’est pas générée), et que l’on modifie après coup en mettant du contenu, la carte sera automatiquement générée, nous n’avons pas d’action à mener.

Rendre optionnelle une carte

En utilisant les différentes options et comportement de Anki, on peut mettre en place un mécanisme de carte optionnelle : afficher une carte uniquement si on le veut.

Pour cela on va utiliser le principe des cartes vides avec une combinaison de condition.

Par exemple, imaginons que nous avons un champ “Image” et que l’on veuille une carte qui affiche l’image comme question et qu’il nous faille trouver le mot en japonais (dans le champ “Recto”), cette carte ne peut exister que si on a une image, donc :

{{#Image}}
{{Image}}
{{/Image}}

Modèle recto

{{FrontSide}}

<hr id=answer>

{{Recto}}<br/>
{{Verso}}

Modèle verso

Maintenant, imaginons que l’on veuille décider par nous même si cette note doit nous afficher ou pas la carte image. Pour cela on va créer un nouveau champ “AfficherImage”, qui s’il contient quelque chose va afficher notre image, on ajoute une condition :

{{#AfficherImage}}
{{#Image}}
{{Image}}
{{/Image}}
{{/AfficherImage}}

On a “encapsuler” deux conditions : Si j’ai quelque chose dans “AfficherImage” ET si j’ai quelque chose dans “Image” ALORS j’affiche la carte.

On peut également faire l’inverse, dire que l’on affiche toujours la carte image, sauf si je ne veux pas, on va donc faire l’inverse en créant un champ “MasquerImage” et changer la condition :

{{^MasquerImage}}
{{#Image}}
{{Image}}
{{/Image}}
{{/MasquerImage}}

Cette fois ci j’affiche la carte si : je n’ai rien dans “MasquerImage” ET quelque chose dans “Image”.

Article précédent Article suivant