Installation d un serveur mathématique SAGE François Thirioux 24 septembre 2011 Table des matières 1 Introduction 2 1.1 Utilité......................................... 2 1.2 Serveur web...................................... 2 2 Installation du système et de SAGE 2 2.1 Matériel........................................ 2 2.2 Système d exploitation................................ 2 2.3 Installation de Ubuntu Server............................ 3 2.4 Installation de SAGE.................................. 3 2.5 Lancer SAGE...................................... 5 3 Utiliser SAGE 5 3.1 Connexion au serveur................................. 5 3.2 L interface notebook................................. 5 3.3 Faire des maths!................................... 7 Francois.Thirioux@ac-grenoble.fr, professeur de mathématiques, lycée René-Perrin, Ugine, Savoie 1
1 Introduction 1.1 Utilité SAGE est un environnement mathématique libre complet. Il permet de programmer en Python 2.6 mais aussi d utiliser des outils libres extérieurs (Maxima en particulier) pour faire du calcul formel ou tracer des courbes. SAGE n est ni un tableur ni un logiciel de géométrie interactive. Une présentation bien plus complète (en français et en anglais) est disponible sur le site web officiel sagemath.org. 1.2 Serveur web SAGE se présente sous la forme d un serveur web Linux. Il ne peut tourner sous d autres plateformes que par le biais de machines virtuelles Linux. Un utilisateur lancera un navigateur sur un poste quelconque du réseau et accèdera à ce serveur web pour utiliser SAGE. 2 Installation du système et de SAGE 2.1 Matériel On supposera utiliser un PC défraîchi, disposant tout de même d une prise ethernet. Par exemple, j utilise un portable équipé d un Pentium 4, de 192 Mo de mémoire vive et de 40 Go de disque dur lent. Le système (non graphique), une fois tout installé, prend un peu moins de 3 Go de disque et 90 Mo de mémoire vive. On part ici du principe que ce vieil ordinateur ne servira que de serveur Linux, mais bien sûr d autres options sont possibles. Notez qu un ordinateur limité ne fera tourner SAGE que pour un nombre limité de connexions ; en particulier, il ne faut pas espérer satisfaire une douzaine d élèves avec un PC doté d une RAM trop juste ou d un disque dur trop lent. 2.2 Système d exploitation On peut installer un serveur Linux quelconque, mais d une part ce tutoriel n est pas a priori destiné aux experts et d autre part SAGE est validé sur cette distribution. Il faut d abord récupérer une image ISO d Ubuntu Server. Ceci peut se faire via le site cdimage.ubuntu.com/ubuntu-server/daily/current/ pour la toute dernière version ou plus prudemment via cdimage.ubuntu.com/ubuntu-server/lucid/daily/current/ pour une version bien stabilisée. Si vous ne savez pas si votre processeur est 32 ou 64 bits, choisir 32 bits vous évitera un potentiel message d insultes de votre PC. Gravez ensuite cette image sur un CD 700 Mb. 2
2.3 Installation de Ubuntu Server 1. Branchez votre PC sur le réseau de votre établissement. 2. Bootez sur le CD. Choisissez bien la langue correcte dans la liste présentée. 3. Répondez aux différentes questions élémentaires. Votre mot de passe sera aussi le mot de passe administrateur (root). Vous aurez à rentrer le proxy éventuel du réseau. 4. Un menu de choix de services à installer est présenté (LAMP, etc.) : aucun n est nécessaire à SAGE. 5. Concernant les partitions, choisissez d écraser le disque dur et mettre Ubuntu uniquement. 6. Acceptez d installer le chargeur de démarrage (Grub). 7. Redémarrez au final votre PC. 8. Rentrez votre login et votre mot de passe. Au passage Ubuntu vous donne quelques informations dont l adresse IP du poste. 2.4 Installation de SAGE Ah! les joies d un système en mode texte... On ne peut pas tout avoir. Voici donc comment procéder. 1. Mettre à jour le système via sudo apt-get update puis sudo apt-get upgrade Si vous zappez entre le réseau d établissement et votre routeur personnel, le proxy est (dés)activable via sudo nano /etc/apt/apt.conf (Ctrl-O écrit, Ctrl-X quitte.) Par exemple # Acquire::http::Proxy "http://172.16.0.1:3128"; implique un proxy désactivé ; on peut le réactiver en enlevant le "#". 2. Il manque une blibliothèque utile à SAGE. Il faut l installer par sudo apt-get install python-numpy qui en profitera pour installer également quelques dépendances. 3. L archive compressée de SAGE est disponible à partir de sagemath.org Il suffit de cliquer sur Download puis le reste est facile (bien choisir 32 ou 64 bits selon 3
la version d Ubuntu Server). Par exemple, à la date de rédaction de ce tutoriel, on peut récupérer cette archive 32 bits sur le mirroir suisse http://mirror.switch.ch/mirror/sagemath/linux/32bit/index.html en sélectionnant le fichier destiné à Ubuntu (qui fonctionne également pour des versions plus récentes d Ubuntu). Seulement voilà, nous n avons pas de navigateur... Une fois noté le (long) nom du fichier souhaité, on peut le récupérer en ligne de commande par wget http://mirror.switch.ch/mirror/sagemath/linux/32bit/sage-.tar.lzma Notez que l on peut si besoin désactiver le proxy pour le téléchargement par wget - -no-proxy <fichier> On peut ici prendre un café car l archive dépasse les 400 Mo (SAGE emporte avec lui tout ce dont il a besoin, même des bibliothèques déjà présentes sur Ubuntu...). 4. On liste son répertoire personnel par ls -al Le fichier patiemment téléchargé doit être présent. On décompresse ensuite l archive SAGE par tar -xf - -lzma sage-.tar.lzma Le nom de fichier s auto-complète grâce à la touche Tab, ce qui est indéniablement bien commode. L opération prend quelques minutes, d autant que notre PC est ancien. 5. Un dossier sage- (sans le.tar.lzma) est désormais présent lors d un ls -al On peut changer le nom de ce dossier par mv sage- sage 6. Il faut changer les informations présentes dans un petit fichier texte par nano /sage/local/lib/sage-current-location.txt (ne pas oublier que la touche Tab auto-complète) puis remplacer le texte existant par $HOME/sage 7. Voilà, c est tout... 4
2.5 Lancer SAGE 1. Se placer dans le répertoire sage par cd sage 2. Lancer SAGE par./sage (patienter un peu...) 3. Mettre en route le serveur web par sage : notebook(port = 8000, interface =, secure = True, accounts = True) Le port sera le 8000, les connexions seront sécurisées et l enregistrement de nouveaux utilisateurs sera autorisé. 4. Pour arrêter le serveur il suffira de faire un Ctrl-C. On quittera SAGE par sage : exit 5. Pour relancer ultérieurement le serveur, la flèche permet, comme d habitude, de remonter l historique des commandes. 3 Utiliser SAGE 3.1 Connexion au serveur C est très facile : sur un poste quelconque du réseau, il suffit d ouvrir un navigateur (Firefox est officiellement recommandé par SAGE, mais d autres fonctionnent aussi) à l adresse https : // < adresse IP du serveur >: 8000 (Pensez à désactiver l usage du proxy sur votre navigateur.) Vous accédez ainsi à l interface notebook de SAGE. C est en général la voie naturelle pour administrer votre serveur. Votre login est admin et le mot de passe est celui qui vous a été demandé par SAGE lors de son premier lancement sur le poste serveur. 3.2 L interface notebook 3.2.1 Gestion des feuilles de calcul Cliquez sur New Worksheet. Vous voici dans un nouvel onglet (ou fenêtre) ; donnez un nom à votre feuille. Vous avez devant vous un rectangle bleu appelé cellule. C est là que vous pouvez rentrer des commandes ou des programmes. 5
Les feuilles de calcul sur lesquelles vous travaillez sont automatiquement sauvegardées dans /.sage/sage_notebook.sagenb/home/compte/ où COMPTE est admin pour l administrateur. Vous pouvez cependant effectuer vous-même des actions de chargement/sauvegarde via le menu déroulant File ou les boutons Save usuels situés en haut à droite. Cliquez sur l item Home du menu COMPTE Toggle Home Published Log Settings Help Report a Problem Sign out. Vous avez ici accès aux dossiers (contenant des feuilles de calcul) de votre compte via Current Folder: Active Archived Trash. Les feuilles en cours sont bien sûr dans Active jusqu à ce que vous les archiviez ou supprimiez. 3.2.2 Plantages Si vous sentez que rien ne se passe comme souhaité, n hésitez pas à faire un petit Restart worksheet à partir du menu déroulant Action. Attention, dans ce cas toute la mémoire est effacée et vous devrez réévaluer toutes les cellules, par exemple en choisissant Evaluate All depuis le menu déroulant Action. Si vraiment le plantage est consommé, quittez SAGE puis redémarrez-le. 3.2.3 Prise en main de l éditeur Évaluation d une cellule. Dans l unique cellule pour l instant affichée, entrez 16/24 puis tapez <Enter>. Là, c est le drame puisque rien ne se passe à part un passage à la ligne. Vous devez en fait taper <Shift>+<Enter>, qui vous affiche en-dessous de votre cellule l incroyable résultat : 2/3 Il est équivalent de cliquer sur evaluate en-dessous de votre cellule. Affichage du résultat. En cochant la case Typeset située au-dessus de la première cellule, vous obtiendrez une sortie plus agréable (LaTex), ici : 2 3 (N oubliez pas d installer jsmath pour les fontes mathématiques en HTML.) Placez votre curseur de souris à gauche d un résultat puis cliquez : vous obtiendrez alternativement le résultat, son code LaTex (si Typeset est coché) et une petite barre horizontale grise. Insertion d une cellule. Placez le curseur de votre souris juste au-dessus d une cellule ; une barre horizontale bleue apparaît. Cliquez dessus : une cellule est insérée. 6
Suppression d une cellule. Effacez tout le contenu de la cellule puis faites un <Backspace>. Indicateur de calcul en cours. Exécutez la commande : pi.n(digits=1000000) qui donne quelques décimales de π. Pendant le calcul, une petite barre verte verticale s affiche à gauche du résultat attendu. Elle indique que le calcul est en cours. Complétion d une fonction. Tapez le début d une commande, par exemple : fac puis tapez sur <Tab>. Les différentes fonctions commençant par fac vous sont proposées ; il suffit alors de cliquer sur la bonne. Aide sur une commande. SAGE dispose d une aide incorporée à ses commandes. Imaginons par exemple que vous vouliez de l aide sur la syntaxe de la fonction factor. Deux possibilités s offrent à vous. Entrez d abord : factor? puis tapez sur <Tab>. Vous obtenez alors l aide sur la fonction : factor avec des exemples d utilisation. Vous pouvez également obtenir le code générant la fonction factor en entrant : factor?? puis en tapant sur <Tab>. Notez que SAGE utilise plusieurs bibliothèques de calcul ; vous êtes souvent renvoyés à elles. 3.3 Faire des maths! C est ici que s arrête ma contribution. La rubrique d aide du site officiel sagemath.org comporte de nombreux tutoriels ainsi que le manuel de référence, le tout en français. N oubliez pas que vous pouvez déjà utiliser SAGE comme un interpréteur Python 2.6! 7