Installer un serveur web sur sa clef ISN

Pour installer un serveur web Apache sur votre clef ISN, je vous conseille d’installer les extensions créées par Jean-Claude Meilland. Elles sont disponibles en téléchargement sur son site megamaths.free.fr.

J’avais essayé une installation avec apt puis sauve-extension mais Apache ne démarrait pas. J’ai trouvé la réponse à ce problème sur cette page du site megamaths.free.fr

On peut ainsi faire exécuter des scripts PHP ou Python par le serveur Apache pour générer des pages web dynamiques par exemple.

Il faut d’abord démarrer le serveur Apache depuis une console. La commande service permet de gérer les démons (services qui s’exécutent en arrière plan) comme le serveur Apache :


user@user:~$ sudo service apache2 start
[....] Starting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
. ok
user@user:~$ sudo service apache2 status
Apache2 is running (pid 5490).
user@user:~$ sudo service apache2 stop
[....] Stopping web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[ ok waiting .

Il suffit de créer un répertoire /home/user/apache (au lieu de /var/www pour l’installation par défaut d’Apache me semble-t-il) pour y placer les scripts.

Un script python comme testcgi.py peut se lancer à partir du navigateur en tapant dans la barre d’adresse http://localhost/testcgi.py ou http://127.0.0.1/testcgi.py ou   localhost/testcgi.py.

Attention il faut bien penser à rendre les scripts exécutables.

Un exemple de script Python (syntaxe python2 mais on peut utiliser Python3 s’il est installé) exécutable sur le serveur Web pour générer le texte de cet article :

    
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    print "Content-Type: text/html\n"
    print """
    <!DOCTYPE html/>
    <head>
    <title/> Exemple de script python cgi </title >
    <meta charset="utf-8" />
    <meta name="author" content="Frédéric Junier" />
    </head >
    <html >
    <body >
    < p > Pour installer un serveur web Apache sur votre clef ISN.....</p >
    </body>
    </html>
    """

Pour créer des interfaces graphiques

Sur le site d’un collègue j’ai découvert une méthode qui me semble intéressante pour créer assez facilement des interfaces graphiques avec la bibliothèque Gtk utilisée par l’environnement graphique Gnome. En effet on peut créer l’interface graphique de façon intuitive avec le logiciel Glade qui génère un fichier xml, ce fichier pouvant être lu par un script Python qui fait le lien entre les widgets de l’interface et les fonctions qui peuvent leur être associées.

Pour l’installation sur ma machine Ubuntu, pas de problème j’ai suivi les bons conseils du collègue et ça fonctionne …

Pour la clef ISN, ce fut plus compliqué, mais après un premier échec je m’y suis remis en analysant les avertissements de apt (dépendances manquantes) et les messages d’erreurs de mon script d’essai en Python . Dans l’ordre j’ai donc :

  1. Changer l’extension extension_python.sqh du répertoire ISNà la racine de la clef , en téléchargeant l’extension à partir du site de la clef ISN/ clef Agreg
  2. Ouvert une console pour installer la bibliothèque gtk+3.0 :

     sudo apt-get update 

    puis

    sudo apt-get install  gtk+3.0 

    Dans le même terminal j’ai créé l’extension avec :

    sauve-extension gtk+3.0

    Puis j’ai fermé le terminal (on ne peut exécuter le script sauve-extension q’une fois par console ouverte).

  3. Ouvert une nouvelle console pour installer le paquet Glade :
    sudo apt-get install  glade 

    Dans le même terminal j’ai créé l’extension avec :

    sauve-extension glade

    Puis j’ai fermé le terminal.

  4. J’ai recommencé l’opération avec la bibliothèque Python-Glade :
    sudo apt-get install python-glade2
    sauve-extension python-glade2
  5. Puis avec la bibliothèque GTK3 pour Python : python-gi (gobject-introspection ) :
    sudo apt-get install python-gi
    sauve-extension python-gi

Les diplômes qui donnent du travail

Je tiens à votre disposition dans mon casier le numéro de Janvier 2013 du Nouvel Observateur sur les diplômes qui débouchent vraiment sur l’emploi.

Je ne suis sans doute pas très objectif mais il me semble que les formations avec un contenu scientifique ou technique comme l’informatique résistent bien sur le marché de l’emploi en ces temps difficiles.

Voici une citation du sommaire du magazine (voir cette page) :

  • Culture, création – Motivés, motivés ! Pour ces métiers convoités, il faut des diplômes, de l’expérience, du talent… et de la persévérance.
  • Hôtellerie, restauration, tourisme – Du choix au menu. Si le tourisme connaît des difficultés, l’année 2013 s’annonce prometteuse côté hôtels et restaurants. Avec des postes à évolution rapide.
  • Environnement – Coup de froid sur le green business. Il devait être l’eldorado du XXIe siècle. Mais le marché des emplois verts reste étroit. Bagage technique conseillé.
  • BTP, immobilier – En attendant des jours meilleurs… Ingénieurs et techniciens restent les mieux armés pour se faufiler dans ce marché fragilisé par la crise.
  • Santé – Pas de blues pour les blouses blanches. Métiers inconnus, spécialités boudées… Les opportunités sont nombreuses pour ceux qui ont la vocation.
  • Journalisme, édition, traduction – Un parcours du combattant. Même si ces secteurs embauchent peu, tout n’est pas fermé. Les plus tenaces et les plus branchés sauront en tirer parti.
  • Informatique – La garantie de l’emploi. Dans ce secteur en perpétuelle ébullition, des postes se créent par milliers et les ingénieurs ont plus que jamais la cote.
  • Internet – Filière à haut débit. Le web recrute de plus en plus. Mais pour s’y faire une place, il ne suffit pas d’avoir le goût des technologies. Il faut aussi savoir communiquer et être inventif.
  • Industrie – Postes en série. Menacée de disparition, l’industrie française ? Elle est pourtant toujours en quête – parfois désespérée – de cadres et de techniciens.
  • Action sociale et sport – A fond la forme ! Pratiques sportives en hausse, allongement de la durée de vie… Les Français n’ont jamais eu autant envie de bouger. De quoi dynamiser les emplois.
  • Communication, publicité – Fashion victimes. Beaucoup de diplômés, peu d’élus… les métiers de l’image attirent toujours autant.
  • Banque, assurance, audit – Un filon toujours porteur. Malgré la crise, le secteur bancaire, les compagnies d’assurances et les grands cabinets d’expertise recherchent des vendeurs, des gestionnaires de patrimoine et des consultants.
  • Droit – Justice pour tous ? Les professions juridiques battent des records de popularité. Mais gare à l’embouteillage. Pour se faire une place, mieux vaut cibler la province et se spécialiser.
  • Comptabilité, ressources humaines – Des chiffres et des jobs. Ces métiers de l’ombre, souvent jugés peu glamour, recrutent des cadres débutants à la pelle. Préparez vos CV !
  • Recherche, enseignement – Des places à prendre. L’Education nationale se démène pour recruter des profs. 43.500 cette année. Du jamais-vu.
  • Fonction publique – Stabilité garantie. Malgré la cure minceur imposée par l’Etat, les recrutements continuent par milliers.
  • Commerce, vente – Recherche vendeurs. Malgré la crise, les recrutements de commerciaux continuent.

Projet ISN 2013

Dans le cadre de leur projet ISN, Quentin et Mathieu élèves de terminale ont développé en Python un jeu nommé Door to hell.
Ils ont aussi créé en HTML/CSS un site web où ils présentent le principe de leur jeu et les grandes lignes des algorithmes utilisés.

Quelques modules Python

Quelques modules Python qui peuvent s’avérer utiles pour tester un code :

  • Pour déboguer, il existe le module pdb déjà inclus dans Python 3.
  • Pour des tests de performance on peut utiliser le module timeit.