Geogebra 5 dans une page HTML5

Le principe est assez simple:

Un document HTML peut contenir plusieurs documents GeoGebraWeb dans des conteneurs article. Le fichier HTML devrait ressembler à  :

Dans l’entête de la page :

 <script type="text/javascript"
language="javascript"
src="http://www.geogebra.org/web/5.0/web/web.nocache.js"></script>

Dans le corps de la page

<article class="geogebraweb"
 data-param-width="600" data-param-height="400"
 data-param-showResetIcon="false"
 data-param-enableLabelDrags="false"
 data-param-showMenuBar="false"
 data-param-showToolBar="false" data-param-showAlgebraInput="true"
data-param-ggbbase64=
 "UEsDBBQACAAIAHOOh0AAAAAAAAAAAAAAAAAWAA...==">

</article>

le paramètre data-param-ggbbase64 doit contenir le fichier .ggb encodé en base64 (tel que le génère GeoGebra).

Une astuce bien cachée permet de récupérer la chaine à inclure dans data-param-ggbbase64

Ctrl Shift B, dans le fichier .ggb , sur le dessin suivi de Ctrl v entre les guillemets de

data-param-ggbbase64="..."

Utiliser la commande base64

Sous Debian et CentOS, cette commande est présente par défaut sur le système.

http://www.it-connect.fr/base64-encoder-et-decoder-en-ligne-de-commande/

L’utilisation de la commande base64 pour à la fois encoder et décoder du base64 est assez simple. Si nous avons un chaine que nous souhaitons encoder en base64

Conversion en ligne de commande du fichier ggb

base64 <cosinus.ggb >cos.txt crée le texte utilisé dans html 5


 data-param-ggbbase64="..."

Conversion inverse

Pour décoder du base64, on peut utiliser la commande de la même façon en y ajoutant l’option -d :

base64 -d cosinus64.txt >cosinus.ggb recrée le fichier utilisé par géogebra

Description de base64

Voir http://fr.wikipedia.org/wiki/Base64

Un alphabet de 65 caractères est utilisé pour permettre la représentation de 6 bits pour un caractère simple. Le 65e caractère (signe « = ») n’est utilisé qu’en complément final dans le processus de codage d’un message.

Ce processus de codage consiste à coder chaque groupe de 24 bits successifs de données par une chaîne de 4 caractères simples. On procède de gauche à droite, en concaténant 3 octets pour créer un seul groupement de 24 bits (8 bits par octet). Ils sont alors séparés en 4 nombres de seulement 6 bits (qui en binaire ne permettent que 64 combinaisons). Chacune des 4 valeurs est enfin représentée (codée) par un caractère simple et prédéfini de l’alphabet retenu.

Intérêt de l’encodage base64

Il se trouve dans la représentation de données binaires.

Lorsque l’on veut représenter des données binaires (une image, un exécutable) dans un document textuel, la simple transcription des 0 et des 1 utilise en ASCII un octet pour chaque bit : soit une augmentation de la taille d’un facteur 8. L’encodage en base64 permet en fait de limiter cette augmentation.