L'installation a été réalisée sur un desktop Q6600 / x86_64 / 4Go Ram distribution ubuntu-8.04.3

URL de téléchargement: http://www.sagemath.fr/linux/64bit/index.html


sage-4.0.2-linux-Debian_GNU_Linux_5.0_lenny-x86_64-Linux.tar.gz439.05 MB2009-06-21 14:00
MD5: ac1261198931100b1cbaa4a3dbc1ab0b


pme@p733:~$ tar zxvf  sage-4.0.2-linux-Debian_GNU_Linux_5.0_lenny-x86_64-Linux.tar.gz

pme@p733:~$ cd sage

pme@p733:~/sage$ ./sage

----------------------------------------------------------------------
| Sage Version 4.0.2, Release Date: 2009-06-18                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage:


Pour lancer le serveur web il suffit d'appeler la fonction notebook()


sage: notebook()
The notebook files are stored in: /home/pme/.sage//sage_notebook
**************************************************
*                                                *
* Open your web browser to http://localhost:8000 *
*                                                *
**************************************************
2009-06-27 10:08:38+0200 [-] Log opened.
2009-06-27 10:08:38+0200 [-] twistd 8.1.0 (/home/pme/sage/local/bin/python 2.5.4) starting up
2009-06-27 10:08:38+0200 [-] reactor class: <class 'twisted.internet.selectreactor.SelectReactor'>
2009-06-27 10:08:38+0200 [-] twisted.web2.channel.http.HTTPFactory starting on 8000
2009-06-27 10:08:38+0200 [-] Starting factory <twisted.web2.channel.http.HTTPFactory instance at 0x3e927e8>
Erreur à l'affichage de l'URL : Une erreur est survenue au lancement de la commande d'action par défaut associée à cet emplacement.

Je peux ensuite y accéder comme indiqué sur localhost:8000

sage web

Je me connecte en admin en fournissant le mot de passe qui m'a été demandé lors du premier lancement et je peux commencer à travailler:

sage


Il est possible de se connecter depuis une autre machine du réseau en ouvrant un tunnel ssh: depuis une station debian-lenny (ip 192.168.0.25) j'effectue la manip:

pme@lendsk:~$ ssh -L 8000:localhost:8000 pme@192.168.0.22
pme@192.168.0.22's password:
Linux p733 2.6.29.4 #1 SMP Sun May 31 16:43:24 CEST 2009 x86_64
pme@p733:~$

Sur la station j'ouvre l'url localhost:8000

sage    sage



Mais cette manip risque d'être vite fastidieuse et source d'ennuis. Comme sage a été bien pensé, il est possible de démarrer le notebook en mode serveur distant:

Je retourne donc sur ma console sage et je stoppe le notebook par un simple ctrl-c:

^C
2009-06-27 10:08:58+0200 [-] Saving notebook...
2009-06-27 10:08:58+0200 [-] Notebook cleanly saved.
2009-06-27 10:08:58+0200 [-] Saving notebook...
2009-06-27 10:08:58+0200 [-] Notebook cleanly saved.
2009-06-27 10:08:58+0200 [-] (Port 8000 Closed)
2009-06-27 10:08:58+0200 [-] Stopping factory <twisted.web2.channel.http.HTTPFactory instance at 0x3e927e8>
2009-06-27 10:08:58+0200 [-] Main loop terminated.
2009-06-27 10:08:58+0200 [-] Server Shut Down.
True

sage:

Puis je me déconnecte et relance sage en passant les paramètres souhaités (normalement le script dsage.setup() (sous sage) est censé le faire mais l'adresse d'écoute reste désepérement sur 127.0.0.1.


pme@p733:~/sage$ ./sage -c "notebook(address='192.168.0.22',secure='True')"

The notebook files are stored in: /home/pme/.sage//sage_notebook
In order to use an SECURE encrypted notebook, you must first run notebook.setup().
Now running notebook.setup()
Using dsage certificates.
==================================================
Generating public/private key pair for authentication...
Your key will be stored in /home/pme/.sage/dsage/dsage_key
Just hit enter when prompted for a passphrase
==================================================
/home/pme/.sage/dsage/dsage_key already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:


Client configuration finished.

Worker configuration finished.

Choose a domain name for your SAGE notebook server,
for example, localhost (personal use) or p733.net.caen (to allow outside connections).
Domain name [localhost]: 192.168.0.22
==================================================
Generating SSL certificate for server...
Using certtool to generate key
certtool --generate-privkey --outfile /home/pme/.sage/dsage/cacert.pem
Generating a 2048 bit RSA private key...
Generating a self signed certificate...
X.509 Certificate Information:
    Version: 3
    Serial Number (hex): 72881e97
    Validity:
        Not Before: Sat Jun 27 10:56:10 UTC 2009
        Not After: Wed Nov 12 10:56:10 UTC 2036
    Subject: C=US,O=SAGE (at 192.168.0.22),OU=389,ST=Washington,CN=192.168.0.22,UID=sage_user
    Subject Public Key Algorithm: RSA
        Modulus (bits 2048):
            e4:37:42:39:50:a1:c8:77:be:e5:2c:43:9d:46:e2:62
            29:e4:b1:c7:9b:cb:b6:90:07:da:a6:c2:17:47:29:19
            60:9c:7e:f0:00:76:c7:db:b7:74:d0:ce:fe:6b:f0:54
            83:53:42:8d:85:a0:ea:66:b9:c2:14:a2:2e:26:a5:99
            41:65:3c:d5:23:fa:e8:6f:4e:82:cb:57:ec:74:d8:2c
            e5:81:a8:c4:5f:92:35:2d:4e:49:2e:e1:72:09:80:d3
            69:0f:b0:1e:99:fd:6f:9b:28:f6:f4:b8:bd:24:bc:2a
            3b:05:ed:8b:65:4c:e8:ac:21:49:9d:ac:b1:1f:5e:dc
            fa:c0:be:34:76:0d:49:50:e2:d0:14:c0:4f:03:4b:60
            d9:45:fe:f0:3c:0c:ef:13:45:30:4a:82:46:1f:21:e5
            9a:2c:eb:bc:53:11:3c:0e:68:ed:93:e1:f5:76:54:cc
            54:ac:1a:54:bd:e8:4d:dc:5c:52:78:bc:1b:f2:e3:6f
            60:90:dd:be:a4:a9:e6:59:56:42:d9:75:1c:f3:12:64
            19:1d:1c:ce:49:69:91:9c:e0:12:38:46:c7:3b:ee:7d
            47:dd:c5:b6:19:82:93:ff:8a:7b:cc:68:02:57:77:d4
            60:7d:e4:e7:d6:82:f5:6b:c1:34:c3:4c:32:33:46:0d
        Exponent:
            01:00:01
    Extensions:
        Basic Constraints (critical):
            Certificate Authority (CA): FALSE
        Key Purpose (not critical):
            TLS WWW Server.
        Key Usage (critical):
            Digital signature.
            Key encipherment.
        Subject Key Identifier (not critical):
            c9df33d8d50d38f5680010908cf17063b991932e
Other Information:
    Public Key Id:
        c9df33d8d50d38f5680010908cf17063b991932e



Signing certificate...
==================================================
User pme's pubkey changed, setting to new one.
Server configuration finished.


Configuration finished..
Successfully configured notebook.
******************************************************
*                                                    *
* Open your web browser to https://192.168.0.22:8000 *
*                                                    *
******************************************************
There is an admin account.  If you do not remember the password,
quit the notebook and type notebook(reset=True).
2009-06-27 12:56:11+0200 [-] Log opened.
2009-06-27 12:56:11+0200 [-] twistd 8.1.0 (/home/pme/sage/local/bin/python 2.5.4) starting up
2009-06-27 12:56:11+0200 [-] reactor class: <class 'twisted.internet.selectreactor.SelectReactor'>
2009-06-27 12:56:11+0200 [-] twisted.web2.channel.http.HTTPFactory starting on 8000
2009-06-27 12:56:11+0200 [-] Starting factory <twisted.web2.channel.http.HTTPFactory instance at 0x581fd88>
Erreur à l'affichage de l'URL : Une erreur est survenue au lancement de la commande d'action par défaut associée à cet emplacement. <== A priori ça n'est pas bloquant


Je vérifie dans une autre console:

root@p733:~/sage/local/bin# netstat -tpan |grep python
tcp        0      0 192.168.0.22:8000       0.0.0.0:*               LISTEN      11777/python 

Je vais donc me reconnecter depuis ma station lenny sans ouvrir de tunnel ssh cette fois:

sage web uisage web uisage web ui



Maintenant je souhahte créer des utilisateurs:

pme@p733:~/sage$ ./sage -c "notebook(address='192.168.0.22',secure='True',accounts='True')"

Un nouveau lien est affiché sur la page d'accueil proposant de créer un compte.

sage web uisage web uisave web ui

On pourra créer autant de compte que l'on souhaite puis par précaution, il suffit de stopper le server puis le relancer sans l'option account=True.


pme@p733:~/sage$ ./sage -c "notebook(address='192.168.0.22',secure='True')"


Conclusion: un outil vraiment très puissant que l'on peut comparer à Mapple, le prix à payer en moins. (Ceci dit, son utilisation quotidienne ne dispense pas d'envoyer un petit don aux développeurs)

Liens :

http://www.sagemath.org/

Vous trouverez sur le site de nombreux docs pdf avec des exemples d'applications.