mercredi 3 juillet 2013

Le livre Scilab de la théorie à la pratique

Les lecteurs réguliers de ce blog auront remarqué que j'ai été beaucoup moins actifs ces derniers mois. Ceci n'est pas du à un manque d'inspiration mais au temps que j'ai du consacrer à la finalisation d'un projet entamé il y a près d'un an et demi : la rédaction d'un livre sur Scilab.  Le scilabTEC (journée des utilisateurs de scilab) organisée sur le campus de l'école Polytechnique  la dernière semaine de Juin  était l'occasion idéale de présenter mon travail, en particulier à l'équipe des développeurs du logiciel :


(edit 01/10/13 :  vous pouvez lire le premier chapitre du livre en ligne à lire aussi  une critique du livre sur le site developpez.com ).
L'ouvrage, sorti chez D-bookeR,  est un conçu  pour tout ceux qui veulent apprendre à utiliser  Scilab sans aucun prérequis. En particulier le livre se destine aux étudiants du domaine scientifique .... et aussi à leurs professeurs! Dans chaque partie vous trouverez des exemples de code simples, commentés et illustrés pour comprendre l'ensemble des  fonctionnalités de Scilab sans passer par une lecture exhaustive de  l'aide en ligne*.  Le livre  est composé de quatre chapitres :

  1. Démarrer  pour prendre en main l'interface de Scilab
  2. Calculer avec des nombres réels ou complexes, des matrices, des booléens ...
  3. Programmer  permet de découvrir  le langage de programmation propre à scilab
  4. Créer des graphiques  en 2 ou 3 dimensions mais  aussi réaliser des animations ou des interfaces

Mais surtout ce livre est disponible  sous plusieurs formats numériques : html, pdf et aussi epub . L'intérêt est multiple :
  • vous pouvez lire le livre sur PC ou sur tablette avec une présentation adaptée et une bonne ergonomie dans la gestion des hyperliens (en particuliers pour l'index des mots clés et celui des commandes)
  • le livre pourra être mis à jour  dans les prochaines années sans être forcément obligé de le réimprimer (en particulier les acheteurs des formats numériques pourront bénéficier de mises à jours)
  • vous pouvez acheter seulement une partie du livre (par exemple si vous connaissez scilab mais que vous ne vous intéressez qu'à la partie sur les graphiques vous pouvez n'acheter que ce module) 
  • enfin le livre contient des éléments utiles au lecteur qui ne pourraient pas exister dans un livre "papier" comme l'animation ci-dessous ou des vidéos pour expliquer la prise en main de l'interface
vous pouvez consulter les vidéos et animations aux adresses suivantes pour vous faire une idée:


    L'envie d'écrire un livre sur Scilab synthétisant l'ensemble des connaissances acquises au travers de mes enseignement à l'IUT de Lannion a émergé assez naturellement il y a 4 ans. A l'époque j'ai commencé par  écrire plusieurs documentations  pour voir si je pouvais vraiment me lancer dans un tel projet, cela m'a permis de mieux jauger  les difficultés que j'allais rencontrer, et les points qu'il fallait régler avant de commencer :
    • se définir un objectif raisonnable et savoir s'y limiter pour ne pas se disperser,
    • régler les questions de formes dès le départ pour bien se concentrer  sur le fond ensuite
    L'étape la plus difficile a été de me tourner vers un éditeur! Étant habitué à diffuser mes travaux sous  copyleft (en général avec une licence Creative-Commons CC-BY-NC-SA). J'éprouvais quelques réticences à réaliser un travail aussi important pour céder ensuite mes droits d'édition à n'importe quel éditeur.  J'étais surtout  dubitatif sur l'intérêt de signer un contrat chez un éditeur "traditionnel" qui ne proposerait de ne produire qu'un livre au format "papier", publié à peu d'exemplaires, avec forcément de nombreuses imperfections, et peu de chance de publier par la suite des versions mises  à jour ...  ce dernier point me semblait particulièrement frustrant pour un livre consacré à l'apprentissage d'un logiciel  susceptible d'évoluer rapidement au cours des prochaines années. C'est alors qu'au détour du forum comp.soft-sys.math.scilab j'ai croisé un message intitulé:
    [PROPOSAL] Looking for contributors to write a modular book on Scilab in French  !
    j'ai tenté ma chance auprès de  Patricia Moncorgé, qui lançait sa  maison d'édition  D-bookeR et dont le but était de tirer parti de l'ensemble des possibilités offertes par les nouveaux supports numériques pour l'édition scientifique. C'est cet état d'esprit qui m'a incité à franchir le pas, s'en est suivi 18 mois d'un intense travail durant lequel mon éditrice s'est beaucoup impliqué en guidant ou recadrant régulièrement mon travail! Si certains voient cela comme une contraire, je trouve au final que c'est ce qui m'a permis de sortir au final un ouvrage de bonne qualité. Cela m'a en plus permis d'apprendre  un grand nombre  de choses :
    • rédiger un livre dans le format DOCBOOK,  un format que je ne connaissais pas et qui permet de générer de nombreux types de sorties  adaptées à des usages différents,
    • gérer un projet sur github, outil bien connus des développeurs mais tout à fait adapté à la rédaction d'un ouvrage à plusieurs personnes,
    • réaliser des vidéos de démonstration  en utilisant des outils de "screencast" comme  RecordMydesktop
    • utiliser sed, csplit, tex4ht et bien d'autres commandes bash pour convertir de LaTeX vers Docbook  
    bref tout plain d'idées pour enrichir ce blog de futurs articles ... * aide en ligne qui est très utile mais pas adaptée à l'apprentissage du logiciel

      2 commentaires:

      Pour écrire des formules mathématiques vous pouvez utiliser la syntaxe latex en mettant vos formules entre des "dollars" $ \$....\$ $ par exemple :
      - $\sum_{n=1}^\infty {1\over n^2}={\pi^2\over 6}$ s'obtient avec \sum_{n=1}^\infty {1\over n^2}={\pi^2\over 6}
      - $\mathbb R$ s'obtient avec {\mathbb R} et $\mathcal D$ s'obtient avec {\mathcal D}
      - pour les crochets $\langle .,. \rangle$ dans les commentaires utilisez \langle .,. \rangle
      vous pouvez écrire du html dans les commentaires :
      - italique <i> ... </i> gras <b> ... </b>
      - lien <a href="http://adresse "> .... </a>