vendredi 29 février 2008

La fonte des glaces des pôles entraine-t-elle la monté du niveau de la mer ?

La physique c'est fantastique est un site sympathique de vulgarisation concernant la physique et la chimie. Par exemple, ce site explique ici pourquoi la fonte d'un glaçon flottant à la surface d'un verre rempli d'eau à ras bord ne fait pas déborder le verre. La conclusion est par contre très surprenante :
Ce problème [...] permet de mieux comprendre l'actualité : il est souvent dit dans les médias que le réchauffement de la Terre va faire fondre les glaces du pôle et qu'ainsi certains pays seront engloutis. Or ceci est faux [...] en fait ce n'est pas la fonte des glaces qui va provoquer la montée des eaux des océans mais un autre phénomène très courant : un liquide se dilate [...] quand la température augmente [...]
Cette conclusion est tout simplement erronée. En effet, il faut distinguer deux sortes de glaces :
  • les calottes, posés sur les continents, qui peuvent atteindre plusieurs milliers de mètres d'épaisseur,
  • et les banquises, flottant sur la mer, qui peuvent atteindre 15 mètres d'épaisseur.
S'il est exact que la fonte de la banquise n'entraine pas directement de montée du niveau de la mer, il en va tout autrement pour les calottes de l'Antarctique et du Groenland ! Ainsi, la fonte totale de ces calottes entrainerait une montée du niveau de la mer d'environ 77 mètres ! Depuis 1880, le niveau de la mer est monté de 12 cm environ. 5 cm sont dus à la dilatation thermique et 7 cm à la fonte des calottes.

mercredi 27 février 2008

TV multiposte (télévision sur l'ordinateur) avec VLC

En étant abonné à Free, pour pouvoir regarder une chaine télé, ou écouter une station de radio, sur l'ordinateur, il faut :
  1. Configurer le pare-feux (firewall). Par exemple, avec Firestarter, il suffit, dans l'onglet Politique du trafic entrant, d'autoriser les connexions de l'hôte mafreebox.freebox.fr.
  2. Lancer VLC, puis Fichier → Ouvrir un fichier (avancé)... et saisir http://mafreebox.freebox.fr/freeboxtv/playlist.m3u dans le champs Ouvrir et enfin valider (Ok). Faites ensuite apparaitre la Liste de lecture et choisissez votre chaine.
Le plus simple est de configurer un raccourci (Lanceur d'application personnalisé) avec la commande suivante :
vlc -vvv http://mafreebox.freebox.fr/freeboxtv/playlist.m3u

jeudi 21 février 2008

Installation d'UIMA sous Linux (... Suite)

  1. Verifying Your Installation (extrait du fichier README dans le répertoire apache-uima)
    To test the installation, run the documentAnalyzer.sh:
    $ documentAnalyzer.sh
    This should pop up a Document Analyzer window. Set the values displayed in this GUI to as follows:
    • Input Directory: UIMA_HOME/examples/data
    • Output Directory: UIMA_HOME/examples/data/processed
    • Location of Analysis Engine XML Descriptor: UIMA_HOME/examples/descriptors/analysis_engine/PersonTitleAnnotator.xml
    Replace UIMA_HOME above with the path of your Apache UIMA installation.

    Next, click the Run button, which should, after a brief pause, pop up an Analyzed Results window.
    Double-click on one of the documents to display the analysis results for that document.

  2. View the examples code with Eclipse (extrait du document UIMA Overview & SDK Setup section 3.2. Setting up Eclipse to view Example Code)

    You can create a special project in Eclipse to hold the examples. Here's how:
    • In Eclipse, if the Java perspective is not already open, switch to it by going to:
      Window → Open Perspective → Java
    • Select the File Import menu option.
    • Select General/Existing Project into Workspace and click the Next button.
    • Click Browse and browse to the UIMA_HOME directory.
    • Click Finish. This will create a new project called uimaj-examples in your Eclipse workspace. There should be no compilation errors.
    To verify that you have set up the project correctly, check that there are no error messages in the Problems view.

Installation complète de l'environnement de développement UIMA sous Linux

Ce billet décrit comment installer complètement l'environnement de développement UIMA sous une station de travail Linux sans avoir besoin des droits d'administrateur. Par installation complète il faut comprendre l'installation de tout ce qui est nécessaire : le SDK Java, Eclipse, les plugins nécessaires et le SDK UIMA.
  1. Installation du SDK Java

    La première étape consiste, si ce n'est déjà fait, à installer la dernière version du kit de développement de logiciels (SDK) Java. Commencer par télécharger le fichier d'installation (jdk-6u4-linux-i586.bin dans mon cas) dans le répertoire de son choix. Saisir ensuite, dans un shell, en étant dans le répertoire où le fichier a été téléchargé et où l'installation doit se faire :

    $ chmod +x jdk-6u4-linux-i586.bin
    $ ./jdk-6u4-linux-i586.bin
    (Il vous faut répondre yes aux termes du contrat pour réaliser l'installation)

  2. Installation de l'environnement de développement intégré (IDE) Eclipse

    Si ce n'est déjà fait, installer la dernière version d'Eclipse (version 3.3.1.1, build id M20071023-1652 au moment de l'écriture de ce billet). L'installation se résume à décompresser à l'endroit de son choix le fichier téléchargé.
    Pour exécuter la version d'Eclipse qui vient d'être d'installée avec la version de Java installée précédemment, il faut saisir dans un shell une ligne de commande du style (penser à créer un raccourci) :

    $ ~/eclipse/eclipse -vm ~/jdk1.6.0_04/bin/
    Ensuite, dans Eclipse, il faut préciser la version de Java qui sera utilisée. Aller dans :
    Window → Preferences... → Java → Installed JREs → Add...
    Puis préciser :
    JRE name : Java jdk1.6.0_04
    JRE home directory : ~/jdk1.6.0_04
    Valider en cliquant sur Ok, puis penser à cocher la nouvelle version du JRE ajoutée avant de valider de nouveau en cliquant sur Ok.
    Vérifier également, la cas échéant, que la variable d'environnement ECLIPSE_HOME est correcte (i.e. désigne bien le répertoire ~/eclipse) dans :
    Window → Preferences... → Java → Build Path → Classpath Variables
  3. Installation du plugin Eclipse EMF

    Il faut ensuite installer le plugin EMF utilisé par UIMA. En fait, avec la dernière version d'Eclipse, Eclipse Modeling Framework (EMF) Updates apparait automatiquement dans la liste des sites d'installation automatique de plugins (sinon, se référer à EMF Update Manager Site). Une fois Eclipse lancé, il suffit donc de faire :

    Help → Software Updates → Find and Install... → Search for new features to install → Next
    Puis sélectionner Eclipse Modeling Framework (EMF) Updates, Ignore features not applicable to this environment et Automatically select mirrors puis Finish.
    Ensuite déployer Eclipse Modeling Framework (EMF) Updates pour sélectionner EMF SDK 2.3.1 puis :
    Next → I accept the terms in the license agreements → Next → Finish → Install All → Yes
  4. Installation du plugin Eclipse UIMA

    On peut alors passer à l'installation du plugin Eclipse d'UIMA :

    Help → Software Updates → Find and Install... → Search for new features to install → Next → New Remote Site...
    Saisir :
    Name : Apache UIMA
    URL : http://www.apache.org/dist/uima/eclipse-update-site
    Puis Ok.
    Sélectionner Apache UIMA, Ignore features not applicable to this environment et Automatically select mirrors puis Finish.
    Sélectionner Apache UIMA puis :
    Next → I accept the terms in the license agreements → Next → Finish → Install All → Yes
  5. Installation du SDK UIMA

    Il faut enfin installer le kit de développement de logiciels (SDK) UIMA. Télécharger la dernière version du SDK d'UIMA, puis décompresser à l'endroit de votre choix le fichier téléchargé.
    Éditez votre fichier .bashrc pour définir les variables d'environnement UIMA_HOME et JAVA_HOME et modifier le PATH en ajoutant les lignes suivante à la fin du fichier :

    export UIMA_HOME="~/apache-uima"
    export JAVA_HOME="~/jdk1.6.0_04"
    export PATH=${PATH}:${UIMA_HOME}/bin
    Puis saisir la commande suivante dans un shell pour mettre à jours les chemins des exemples du SDK :
    $ adjustExamplePaths.sh
    Penser à lire le fichier README dans le répertoire apache-uima pour plus d'information sur l'installation du SDK UIMA ainsi que pour une procédure permettant de tester votre installation (également décrite ici).

Sous Eclipse, vérifier également que la variable d'environnement UIMA_HOME est correcte (i.e. désigne bien le répertoire ~/apache-uima) dans :

Window → Preferences... → Java → Build Path → Classpath Variables
Si ce n'est pas le cas, il faut la modifier (bouton Edit...) ou la définir (bouton New...).

Si tout s'est bien passé, tous les fichiers concernant l'installation complète de l'environnement de développement UIMA doivent être répartis dans les répertoires apache-uima pour le SDK UIMA, eclipse pour l'environnement de développement intégré Eclipse et les plugins installés et jdk1.6.0_04 pour le JDK Java.

UIMA Manuals and Guides (Overview and Setup)
Sommaire UIMA sur ce blog

UIMA (Unstructured Information Management Architecture)

UIMA (Unstructured Information Management Architecture) est un framework de développement et de déploiement d'applications de traitement des données non structurées.

samedi 16 février 2008

Mise à jour du cours d'UML 2.0

Je viens de mettre à jour le cours d'UML 2.0. Le chapitre sur les diagrammes de classes a été substantiellement remanié avec, entre autres, la prise en compte de la notion de possession de terminaison d'association introduite dans la version 2.1.1 d'UML. Parmi les nouveautés, on peut également noter la présence de travaux dirigés, sans la correction, dans la version pdf du cours.

mardi 12 février 2008

LaTeX sous Ubuntu

Pour installer et travailler avec LaTeX sous Ubuntu, il faut installer les paquets suivant :
  • texlive correspond à l'installation minimale de LaTeX ;
  • texlive-fonts-recommended pour les fonts ;
  • texlive-lang-greek pour le symbole € ;
  • latex-ucs pour la prise en charge de l'UTF8 dans les documents LaTeX ;
  • latex-beamer pour les présentations en LaTeX ;
  • kile est un bon éditeur LaTeX ;
  • jabref ou pybliographer comme gestionnaire bibliographique ;
  • hevea pour générer des pages html.
Remarque : si vous êtes un utilisateur régulier de LaTeX, le mieux est d'installer le paquet texlive-full qui installe tous les paquets texlive.

lundi 4 février 2008

Configurer un moniteur LCD 22 pouces large (16:10) sous Ubuntu gutsy

Pour configurer un moniteur large (16:10) sous Ubuntu gutsy, il faut procéder de la manière suivante.
  1. Aller dans : Système > Administration > Écran et Affichage
  2. Choisissez votre modèle, par exemple Générique > LCD Panel 1680 x 1050 pour moniteur 22 pouces au format 16:10
  3. Cocher la case Écran large
C'est la troisième étape qui est contre-intuitive. En effet, on ne s'attend pas, après avoir spécifié LCD Panel 1680 x 1050, que la résolution 1680 x 1050 ne soit pas disponible ! Elle le devient si on coche la case Écran large ...
Il en va de même pour tous les écrans larges.

jeudi 24 janvier 2008

Tableaux à deux dimensions et passages de paramètres en langage C

Dans le langage C, les crochets que l'on utilise pour encadrer les index d'un tableau ne sont, en réalité, qu'une façon de déréférencer un pointeur.
Si ptr est un pointeur, et n un nombre entier, alors l'expression ptr[n] est strictement équivalente à *(ptr + n). Vous pourrez vérifier que ces deux notations sont équivalentes par vous-même.
Ces deux notations permettent de déréférencer un pointeur sur un tableau à une dimension. Intéressons-nous maintenant au cas d'un tableau à deux dimensions défini de la manière suivante :
int matrice[NB_LIGNES][NB_COLONNES]
Dans ce cas, l'expression matrice[ligne][colonne] est strictement équivalente à :
matrice[(NB_COLONNES * ligne) + colonne]
elle-même strictement équivalente à :
*(matrice + (NB_COLONNES * ligne) + colonne)
Ainsi, le compilateur a besoin du nombre de colonnes d'un tableau à deux dimensions pour pouvoir réinterpréter une notation du type matrice[ligne][colonne]. C'est pourquoi cette dimension doit être précisée lors du passage d'un tableau à deux dimensions comme paramètre d'une fonction.
En fait, lors de la transmission d'un vrai tableau à deux dimensions, le paramètre effectivement transmis est un pointeur sur le premier sous-tableau, et non un pointeur sur le premier élément.
Le passage du tableau matrice à une fonction devra donc se faire de la façon suivante :
void fonction(int (*matrice)[NB_COLONNES]) ;
Une autre notation possible, bien qu'elle masque la véritable nature du paramètre transmis (ce qui n'est pas bien), est :
void fonction(int matrice[][NB_COLONNES]) ;
L'inconvénient évident est que les fonctions ainsi définies ne sont absolument pas générales puisqu'elles ne peuvent manipuler qu'un tableau de NB_COLONNES. Le prix de la généricité est l'abandon du vrai tableau au profit de l'allocation dynamique.

dimanche 20 janvier 2008

VLC Media Player, un client UPnP sous Ubuntu ?

VLC permet d'accéder directement au contenu UPnP AV mis à disposition sur le réseau. Pour cela, Vue > Liste de lecture... puis Gérer > Découverte de services > Découverte Universal Plug'n'Play (Intel) et le ou les serveurs UPnP AV apparaissent dans la liste de lecture.
Hélas, chez moi, VLC n'arrive pas encore à développer complètement l'arbre UPNP : le client UPnP de VLC n'est donc pas encore utilisable.