Base de données de calculatrices de Planète Casio.
Go to file
Lephenixnoir c6bd4cf436
update gitea -> forgejo url
2024-03-13 21:04:14 +01:00
calculators Graph 35+E II OS 3.60 2023-10-09 10:42:11 +02:00
images add fx92sc+ pixel art and improve the large version 2022-10-22 18:06:50 +02:00
lang html: add a summary that repeats the most important fields 2021-04-28 14:35:55 +02:00
tools update gitea -> forgejo url 2024-03-13 21:04:14 +01:00
.gitignore (random changes) 2021-04-28 13:32:14 +02:00
Makefile standalone/integrated HTML exports 2021-04-17 16:50:25 +02:00
README.md add pixel art icons + minor fixes 2021-04-17 17:55:53 +02:00
model.yaml add links to transfer tutorials 2021-04-28 14:35:51 +02:00

README.md

Base de données des calculatrices CASIO

Ce dépôt contient des images, métadonnées et propriétés sur les calculatrices graphiques et formelles CASIO modernes (la plupart des modèles après 2000). Ces informations sont utilisées par l'index des calculatrices sur Planète Casio.

Format

Chaque calculatrice est décrite par un fichier YAML dans le dossier calculators. Les propriétés sont classées en catégories avec différents champs dans chaque catégorie. Les champs peuvent être de types différents et les valeurs autorisées sont au cas-par-cas, mais souvent on rencontre:

  • Du texte brut : full_name: "Graph 90+E"
  • Des booléens : touch_screen: no
  • Des entiers: default_cpu_frequency: 56000000 # Hz
  • Des énumérations : audience: audience.high_school

Les énumérations commençent toujours par le nom du champ. Beaucoup de champs qui acceptent des énumérations acceptent aussi des booléens. Certains champs acceptent des listes.

Le fichier model.yaml décrit le modèle des données : il liste toutes les catégories, tous les champs, et toutes les calculatrices ; il donnes les unités pour les champs numériques concernés ; et il attribute des scores aux valeurs des champs pour permettre de faire des comparatifs.

Les valeurs peuvent contenir du Markdown ainsi que que des marqueurs de la forme @lang{...} pour insérer du texte qui n'est visible que quand les données sont affichées dans une certaine langue. Les fichiers lang/*.yaml traduisent les noms des catégories, des champs, et les valeurs énumérées, et @lang{...} n'est utilisé que pour les quelques passages de texte qui n'y sont pas listés.

Outils et utilisation

On peut soit utiliser la base directement en YAML, soit utiliser le module Python calcdb dans le dossier tools. On peut aussi utiliser la version JSON générée avec tools/convert-json.py si c'est plus pratique.

Trois outils sont fournis dans tools :

  • La bibliothèque calcdb.py fournit de quoi manipuler la base en Python. La classe principale est CalcDB, qui charge les fichiers YAML depuis la racine de ce dépôt. Une class Lang représente les différents langages, et présente quelques méthodes pour simplifier la traduction. Enfin, une fonction render() implémente toutes les règles d'affichage pour fournir le texte à afficher pour chaque valeur dans un tableau.

  • Le script convert-json.py permet de convertir la base en JSON. Utilisez make json ou make json-min et récupérez le fichier de sortie dans out.

  • Le script render-html.py génère un tableau HTML avec les informations. Ce tableau contient des attributs CSS et HTML permettant de le manipuler en Javascript, et est notamment utilisé sur l'index des calculatrices de Planète Casio. Utilisez make html-fr ou make html-en pour générer une page web autonome pour consulter le tableau, ou make index-fr ou make index-en pour générer la version utilisée sur Planète Casio.

Résumé des dossiers

  • calculators: Fichiers YAML avec les propriétés de tous les modèles.
  • lang: Traduction des noms de catégories, champs, et valeurs énumérées.
  • model.yaml: Liste de catégories, champs, calculatrices, et scores pour toutes les valeurs énumérées comparables.
  • images: Petites et grandes photos de tous les modèles, en JPG. Les grandes photos sont généralements limitées à 1000 pixels de haut ; les petites sont toutes fixées à 150 pixels de haut. Le dossier small a une image supplémentaire g35+.jpg avec les deux générations de Graph 35+ côte-à-côte.
  • tools: Scripts Python pour manipuler la base de données, et un module Python calcdb réutilisable pour extraire efficacement des informations.

Ces dossiers ne sont pas indexés par le dépôt :

  • out: Dossier de sortie pour tous les fichiers générés par les scripts.

TODO

  • Ajouter des liens vers les émulateurs.
  • Télécharger les manuels et les héberger sur Planète Casio.
  • Télécharger tous les OS updaters, les héberger sur Planète Casio, et les ajouter à la base de données.
  • Compléter les icônes pixel art.