lundi 28 février 2011

Environnements de développement Python sous Ubuntu

Introduction
Python est un langage de programmation agréable et aux nombreuses ramifications (y compris sous Windows).
Faire quelques bidouilles avec gEdit et l'interpréteur reste à la portée de tout un chacun.
Mais si l'on désire pousser l'expérience un peu plus loin, il faut envisager l'installation et l'utilisation d'un environnement de développement.

Cet article se focalise principalement sur l'installation et la configuration de Eclipse (y compris greffon et projet Python) pour faire des développements Python.
Ainsi, l'article abordera:
  • L'activation de l'interpréteur Python dans le menu "Application d'Ubuntu".
  • Une présentation succincte de l'excellent Wing qui est malheureusement payant.
    Pour plus d'information à ce sujet, tout un chacun trouvera son bonheur sur le site officiel WingWare.
  • Un guide d'installation de l'environnement de développement Eclipse
  • L'installation et la configuration du Greffon pyDev permettant de faire des développements Python sur Eclipse.
  • La création et la configuration d'un premier projet Python sur Eclipse.

Installer Python sur Ubuntu
Python est devenu un langage de programmation très populaire. Sa notoriété à largement dépassé les frontières des systèmes Linux/Unix.
 
Sur Ubuntu, il n'est pas nécessaire d'installer Python car il est installé par défaut (du moins dans la version 10.10).
Par contre, si l'interpreteur et la console interactive sont présents, la console n'est pas accessible depuis le menu "Applications" de Ubuntu.

Afficher Python dans le menu Application
Effectuer les opérations suivantes pour afficher la console de Python dans le menu principal:
  • Menu Système | Préférence | Menu principal
  • Sélectionner le menu programmation
  • Cocher l'élément Python

Activer l'interpréteur Python dans le menu "Applications"

Environnements de développements Python
Il existe de nombreux environnements de développement pour Python.
Je vais cependant me limiter à Eclipse tout en glissant un mot à propos de Wing.

Wing
Par le passé, j'ai eu l'occasion de découvrir Wing en faisant mes premiers développements Python sous Windows.
Wing est un environnement de niveau professionnel écrit en Python pour les développeurs Python.
Je l'ai utilisé durant toute sa période d'essai et franchement, s'il me fallait un jour entamer un travail en tant que professionnel, c'est certainement vers Wing que je me tournerai.
Le problème de Wing, c'est qu'il est payant. A savoir +/- 40$ la licence personnelle et +/- 180$ pour la licence professionnelle (gloups!).

Eclipse
Plus récemment, j'ai eu l'occasion d'installer Eclipse pour tester quelques développements sous Android.
Eclipse est développé en Java et supporte de nombreux langages de développements.
Comme je dispose d'éclipse sur mon PC, je vais donc tenter de faire quelques développements Python depuis cette plateforme.

Installer Eclipse à la main:
Pour savoir comment j'ai installé le Java Development Kit d'Oracle et Eclipse sur Ubuntu, reportez-vous à l'article "Développement Android sous Ubuntu".
La version Oracle étant un pré-requis pour le développement Android, c'est vers cette installation manuelle que je m'étais tourné.

Installer Eclipse avec la Logithèque Ubuntu:
Il est possible d'installer directement Eclipse et la version Sun du JRE Java (Java Runtime Environment) depuis la logithèque Ubuntu.
L'environnement Java est automatiquement intallé en même temps que l'installation d'éclipse (ou FreeMind) depuis la logithèque.
Note personnelle: J'ai testé l'installation d'éclipse et de Java depuis la logithèque Ubuntu lors du remplacement de mon PC portable.
J'ai quand même l'impression que cette version de Java semble moins réactive que la version Oracle (pourtant installé la première fois sur une machine moins puissante).

Installer le greffon Python sur Eclipse
pyDev
pyDev est un greffon (plugin) Eclipse permettant de faire des développements en Pyhton. Il est ainsi possible de profiter d'un debugger, d'un "code completion" et du formatage de syntaxe.
PyDev permet également de conduire des développement "Google App Engine" et DJango.
DJango est un framework python permettant de développement des applications web performantes. Pour plus d'information, voir djangoproject.com ou django-fr.org

Installer pyDev
Voici la marche à suivre:
  • Démarrer Eclipse
  • Menu Help | Install new software ...
  • Saisir l'url du plugin pyDev http://pydev.org/updates/ et sélectionner pyDev uniquement (1*) et installer le plug-in (bouton Finish)
  • Redémarrer Eclipse.

1*) pyDev Mylyn concerne l'intégration de développement de type Mylyn (task oriented developpement). Il reclame le greffon Mylyn.

Connaître la version de son interpreteur Python
  • Démarrer un terminal
  • Taper la commande "python", la version apparaît dans l'entête de l'interpreteur.

domeu@domeu-Lenovo:~$ python
Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>


Configurer l'interpreteur Python dans Eclipse
Lorsque Eclipse est redémarré, effectuer les opérations suivantes:
  • Menu "Windows | Preference"
  • Sélectionner le noeud: pyDev + interpreter Python
Il est possible d'utiliser soit le bouton "Auto-Config" qui fonctionne en général assez bien, soit d'ajouter un nouvel interpréteur manuellement.
  • Ajouter un nouvel interpreteur:
    • Pour le nom utiliser par exemple Python266 pour la version 2.6.6 de Python.
    • Pour l'exécutable, sélectionnez /usr/bin/python sur Ubuntu (sous Windows, ce sera plutôt C:\Python\python.exe).
    • Sélectionner tous les répertoires proposés pour l'initialisation du PythonPath 
Consulter la section Interpreter du manuel de pyDev pour plus d'information sur la configuration de l'interpreteur Python dans Eclipse.

Attention: dans Eclipse, la définition des interpréteurs tel que décrit ci-dessus est propre au workspace (répertoire de travail) sélectionné lors du lancement d'eclipse.
Si vous changez de répertoire de travail, il faudra aussi redéfinit l'interpréteur Python à utiliser.

Développement Python sur Eclipse
Voici la description de la création et de la configuration d'un premier projet Python dans Eclipse.
Si Eclipse est un environnement puissant, il est aussi un peu plus complexe.
Un petit guide de prise en main est toujours le bien venu pour démarrer rapidement sans dépenser inutilement son énergie.

Dans Eclipse:
1) Sélectionner le menu File | New | Project...
2) Sélectionner un projet de type pyDev + pyDev Project
3) Dans la configuration du projet:
  • Donner lui un nom, par exemple "myFirstPythonProject"
  • Sélectionner la bonne version de la syntaxe (dans notre cas, 2.6 puisqu'il s'agit de l'interpreter python 2.6.6)
  • Eventuellement sélectionner un interpreteur spécifique (plutôt que d'utiliser l'interpreteur par défaut)
  • Ne pas référencer d'autres projets et cliquer sur le bouton Finish
Création d'un projet Python (pyDev project)
Configuration du projet
Attention: Dans Eclipse, la définition des interpréteurs tel qu'effectué dans le point "Configurer l'interpreteur Python dans Eclipse" est propre au workspace (répertoire de travail) choisit lors du lancement d'eclipse.
Si vous changez de répertoire de travail, il faudra redéfinit l'interpréteur Python à utiliser.

4) Créer un nouveau fichier source
  • Menu File | New | file...
  • Sélectionner le répertoire src du nouveau project myFirstPythonProject
  • Nommer le fichier, par exemple myFPP.py
Ajouter un fichier source au projet Python

5) Taper le petit bout de code suivant:
a = 123
b = 12
c = a + b
print( "%i + %i = %i" % (a,b,c) )

6) Configurer l'environnement d'exécution pour ce projet
  • Sélectionner le "Run Configuration..." (cfr captures d'écrans ci-dessous)
  • Sélectionner le noeud "Python Run" + presser le bouton "new configuration" (cfr capture d'écrans ci-dessous)
  • Nommer la configuration "myFPP Run"
  • Remplir les paramètres de la section "Main":
    • Sélectionner le projet myFirstPythonProject
    • Sélectionner le module principal myFPP.py
  • Remplir les paramètres de la section "Interpreter"
    • Choisir l'interpreteur par défaut ou opter pour l'interpreter Python266 définit précédemment.
  • Remplir les paramètres de la section "Common"
    • Cocher "Display in favorite menu" pour Debug et Run
Définir un "Run Configuration"
Définition d'une nouvelle configuration "Run config."
Options "Common" du "Run config."
  • Confirmer la sauvegarde

7) Exécuter le programme
Il ne reste plus qu'à exécuter le petit bout de programme avec le "Run Configuration" qui vient d'être créé.
Le résultat s'affiche dans la console d'Eclipse.

Sources

jeudi 24 février 2011

Guide pour OpenOffice Writer - comment passer une seule page en mode paysage

Les habitués de Microsoft Word remarqueront vite qu'il n'est pas aisé de faire passer une seule page du document en mode paysage.

Et pour cause, il faut préalablement définir un style de page "mode paysage" car il n'existe pas par défaut.
Par la suite, il suffit d'insérer un saut de page en mentionnant le style "mode paysage".

Le Guide de l'utilisateur d'OpenOffice (en français) explique très bien comment créer un tel style.

http://fr.openoffice.org/Documentation/Guides/Guide_Writer.pdf

vendredi 18 février 2011

Comment renommer l'utilisateur principal d'Ubuntu

Parce qu'il ne faut jamais perdre une référence vers un article utile :-)
Testé avec succès, nécessite néanmoins de redémarrer la machine.

Lire l'article de Chris Jakeway "How to rename a user"

mercredi 16 février 2011

Ajouter des fonts à Ubuntu

Un précédent article "Installer les fonts Microsoft sur Ubuntu" expliquait comment installer quelques fonts bien utiles sur Ubuntu.

Cet article ci montrera comment télécharger des fonts libres et les installer sur Ubuntu.

Télécharger des fonts libres
Le site DaFont dispose de milliers de fonts gratuites classées par catégorie (Fantaisie, Gothique, Basique, Techno, Symboles, Fête, Script, Barecode).
Le choix est simplement hallucinant et le site dispose d'une excellente présentation permettant de faire son choix assez facilement.
Les fonts de DaFont sont téléchargeables sous forme d'archive.

Voici quelques exemples du catalogue capturés ci et là dans la collection.









Installer une font étape par étape
1) télécharger la font
En première étape, nous allons télécharger la font "Jellyka - Love and Passion" de Jellyka Nerevan.

Jellyka - Love and Passion
Cette police de caractère réservée à un usage personnel est bien entendu disponible sur DaFont (ici, dans la catégorie Fêtes/Valentin).

Télécharger Jellyka - Love and Passion depuis DaFont

Cette opération enregistre l'archive jellyka_love_and_passion.zip dans le répertoire des téléchargement (~/Téléchargements).

2) Démarrer une terminal
Démarrer une session terminal.
A partir de maintenant, toutes les autres opérations se feront dans le terminal.

Se placer dans le répertoire de téléchargement.
cd ~/Téléchargements

3) Extraire la font de l'archive
file-roller jellyka_love_and_passion.zip --extract-here

Cela crée un sous répertoire jellyka_love_and_passion.
Si l'on explore le nouveau répertoire (ls ./jellyka_love_and_passion), on remarque la présence du fichier font Love_and_Passion.ttf .

4) Placer la nouvelle font avec les fonts du système
Les fonts du systèmes sont stockées dans le répertoire protégé /usr/share/fonts/truetype .
Placer une nouvelle font dans ce répertoire consiste à copier le répertoire de la font  jellyka_love_and_passion dans  /usr/share/fonts/truetype .

Il faut utiliser la commande:
sudo cp -R ~/Téléchargements/jellyka_love_and_passion /usr/share/fonts/truetype

5) Rafraîchir le cache des polices de caractère
sudo fc-cache -fv

6) Démarrer OpenOffice et vérifier la présence de la nouvelle font

Un petit raccourci
Il est possible de demander au file-roller de faire l'extraction directement dans le répertoire /usr/share/font/truetype .
Voici un exemple basé sur la font LearningCurve (téléchargeable directement ici sur DaFont).

cd ~/Téléchargements
sudo file-roller learning_curve.zip --extract-to=/usr/share/fonts/truetype
sudo fc-cache -fv

La vie plus facile
Pour terminer, j'ai quand même quelques PC qui fonctionne sous Ubuntu à la maison.
Plutôt que d'installer au coup par coup les différentes fonts dont j'ai besoin, j'ai fini par écrire un petit script d'installation bash (mon premier bash... quelle langage barbare).
Il n'installe pas encore grand chose mais un peu de patience, cela viendra :-).

download-fonts

mardi 15 février 2011

FullCircle magazine - Un magazine francophone gratuit dédié à Ubuntu

The Full Circle Magazine (fr) est un magazine dédié à Ubuntu.
D'abord rédigé en anglais, ce dernier est traduit chaque mois par une équipe de traduction qui le re-publie alors sur sa propre page.

Source: FullCircle-mag.fr


Bien qu'au contenu entièrement gratuit, Full Circle magazine reste dans la lignée des magazines de facture professionnelle.
Aujourd'hui au numéro 44, il contient de nombreux articles allant du tout publique digne d'intérêt à l'article plus technique.

Une lecture à conseiller.

lundi 14 février 2011

10000 Visites!

Source: L'univers de Mamini

Quelle progression depuis février 2010 dernier (date de référencement).
10.000 visites en à peine 10 mois pour un blog à orientation technique c'est pas si mal que cela.
Merci à tous, vous démontrez que mes convictions exprimées dans l'article "Utilisation des blogs pour consolider les connaissances d'entreprise" sont, en fin de compte, assez justes.


Top 5 des articles les plus lus:
Bonne lecture à tous.

samedi 12 février 2011

psutil: la bibliothèque Python pour monitorer les processus

Easy install / PIP
Si l'outil easy_install ou PIP (recommandé) n'est pas encore installer, référez-vous à l'article "Installer easy_install sous Ubuntu".
Cet outil est indispensable pour installer facilement des bibliothèques/paquets Pyhton.

La librairie psutil
La bibliothèque psutil de Pyhton contient toute une série d'utilitaires permettant de récupérer des informations relatives aux processus en court de fonctionnement sur le système.
Psutil est compatible avec de nombreux systèmes d'exploitation, cela inclus également Mac OS X et Windows :-)

Ne pas oublier d'utiliser SUDO pour installer une bibliothèque Python avec easy_install ou pip car le processus d'installation accède à des répertoires qui sont protégés en temps normal.

Utilisez la commande suivante pour installer psutil:
sudo easy_install psutil
sudo pip install psutil

Aide sur psutil
>>> import psutil
>>> help( psutil )
Voir aussi le projet de documentation sur Google Code (fourni également des exemples de structure).

Utiliser psutil
Lister tous les processus en cours de fonctionnement via un itérateur
>>> import psutil
>>> iter = psutil.process_iter()
>>> iter
<generator object process_iter at 0xb760d554>
>>> for process in iter:
...     print process.name

Voici un autre exemple qui ne s'intéresse qu'aux processus consommant plus de 4% du temps cpu.
>>> def filterCpu( process ):
...     return process.get_cpu_percent() > 4
... 
>>> pslist = psutil.get_process_list()
>>> consuming_pslist = filter( filterCpu, pslist )
>>> for process in consuming_pslist:
...     print process.name + " " + str( process.get_cpu_percent() )
...
plugin-container 27.3
gedit 0.0

Dans le résultat ci-dessus le pourcentage cpu affiché pour gEdit est de 0%, ce qui semble erroné de premier abord.
S'il en est ainsi, c'est parce qu'au moment de l'affichage, le processus ne consommait plus que 0% de cpu alors qu'il en consommait plus de 4% au moment de la constitution de la liste consuming_pslist.

Il faudrait donc capturer le pourcentage cpu pour pouvoir l'afficher.
Cela se fait à l'aide d'une "expression list" constituant une liste de tuple (l'object Process + capture de l'usage cpu).
Par exemple:
capturedCpu_pslist = [ (process, process.get_cpu_percent() ) for process in psutil.get_process_list() ]

>>> def filterCpu( processpro ):
...     return process.get_cpu_percent() > 4
... 
>>> capturedCpu_pslist = [ (process, process.get_cpu_percent() ) for process in psutil.get_process_list() ]
>>> def filterCapturedCpu( processCpuTuple ): 
...     return processCpuTuple[1] > 4
... 
>>> consumingCpu_pslist = filter( filterCapturedCpu, capturedCpu_pslist )
>>> for process, capturedCpu in consumingCpu_pslist:
...     print( '%s  capturedCpu=%d   currentCpu=%d' % ( process.name, capturedCpu, process.get_cpu_percent() ) )
... 
rhythmbox  capturedCpu=9   currentCpu=0
plugin-container  capturedCpu=28   currentCpu=18
python  capturedCpu=9   currentCpu=0

Quelques informations récupérées via psutil
Voici quelques exemples exploitant les informations de psutil tout en faisant la correspondance avec des commandes à exécuter dans le terminale.
Cela permet de se rendre compte de la stricte correspondance entre les informations de psutil et le fonctionnement du système d'exploitation.

Utilisation de la mémoire physique
>>> psutil.TOTAL_PHYMEM/1024 # transform bytes to kbytes3056648L
>>> psutil.used_phymem()/1024
1798832L
>>> psutil.avail_phymem()/1024
1257736
correspond aux informations de la commande free (section mem)
domeu@domeu-Lenovo:~$ free
             total       used       free     shared    buffers     cached
Mem:       3056648    1798504    1258144          0     162528     965768
-/+ buffers/cache:     670208    2386440
Swap:     12286972          0   12286972

Utilisation de la mémoire virtuelle
>>> psutil.total_virtmem()/1024 # transform bytes to kbytes12286972L
>>> psutil.used_virtmem()/1024
0L
>>> psutil.avail_virtmem()/1024
12286972L

correspond aux informations de la commande free (section swap)
domeu@domeu-Lenovo:~$ free
             total       used       free     shared    buffers     cached
Mem:       3056648    1795472    1261176          0     162400     963608
-/+ buffers/cache:     669464    2387184
Swap:     12286972          0   12286972

Utilisation de la mémoire d'un processus
Commençons par trouver le pid (process id) du processus python avec la commande suivante:
ps -ef | grep python

domeu@domeu-Lenovo:~$ ps -ef | grep python
UID        PID  PPID  C STIME TTY          TIME CMD
domeu    18958 15312  0 14:48 pts/0    00:00:02 python

Dans Pyhton, il est possible de retrouver l'object Process via un filtre sur psutil.get_process_list() OU en créant un object Process en lui passant le pid en paramètre.

>>> pyProcess = psutil.Process( 18958 )
>>> pyProcess.name
'python'
>>> pyProcess.get_cpu_percent()
0.0
>>> pyProcess.get_memory_percent()
0.18765654403123946
>>> pyProcess.get_memory_info() # RSS (Resident Set Size=process memory + data), VSZ (all memory, included library, cache, etc)meminfo(rss=5873664, vms=11493376)

Ce qui correspond aux informations de la commande
ps aux | grep python

domeu@domeu-Lenovo:~$ ps aux | grep python
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
domeu    18958  0.0  0.1  11220  5736 pts/0    S+   14:48   0:02 python

Utilisation avancée
Parmi les utilisations avancées de psutil, il y a l'opportunité de surveiller de lister les fichiers et les connections ouvertes par un processus.
Le site officiel et la documentation de l'API demontre d'ailleurs clairement cette capacité de psutil


Ressources

Installer easy_install sous Ubuntu

Qu'est ce que Easy Install
Easy Install (easy_install) est un module python qui permet d'automatiquement télécharger, compiler, installer et gérer les paquets/librairies Python.
Easy Install est un outil incontournable lorsque l'on veut faire des développements en Python.
Il est à ce point incontournable que j'en avait déjà décris l'installation sur Windows dans l'article "Installer Python et easy_install sous Windows"

Pour plus d'information et détails d'utilisation, voir la page easy_install sur le site packages.python.org

Attention:
Suite au commentaire d'un lecteur, j'ai appris que Easy Install est maintenant remplacé par le projet PIP (Python Install Package) dont l'installation est décrit ci-dessous.

Easy Install sur Ubuntu
Si Python est installé par défaut sur Ubuntu (tout comme Debian), ce n'est pas le cas de easy_install.
Easy_install fait partie du paquet python-setuptools, il s'installe avec la commande suivante:
sudo apt-get install python-setuptools

PIP sur Ubuntu
Pip est l'outil de remplacement pour easy_install.
Il est donc préférable d'utiliser pip plutôt que easy_install
Plus d'information sur pip son disponible depuis le site python.org (http://pypi.python.org/pypi/pip)
Pour l'installer, il suffit d'utiliser la commande suivante.
sudo apt-get install python-pip

Une fois installé, les package python sont installé à l'aide d'une commande tel que:
pip install package_name

Et ensuite?
Je vous propose la lecture de l'article "psutil: la bibliothèque Python pour monitorer les processus"

vendredi 11 février 2011

Sql Azure - Ressources développeur

Articles
Voici une liste d'articles dignes d'intérêt:
Outils pour SQL Azure
voir MSDN: Overview of tools to use with SQL Azure


Houston Project
Houston est un projet Microsoft qui vise à créer un "sql management studio" en ligne pour Sql Azure.
On y retrouvera principalement les fonctionnalités suivantes:
  • Un panneau de navigation incluant un outils de recherche (pour les objets sql) 
  • Un cube d'information contenant les statistiques d'utilisation de la DB et des liens vers des ressources.
  • Un "table designer" et un éditeur de données (pour les tables)
  • Un outil pour concevoir des vues.
  • Un "stored procedure designer"
  • Un éditeur T-SQL
Pour plus d'information, voir Microsoft Project Code-Named “Houston” CTP 1


Vidéo
Liste de vidéo MSDN dédié à SQL Azure

mercredi 9 février 2011

Total Commander pour Ubuntu

Introduction
Tous les accrocs de la manipulation de fichiers sur Windows connaissent certainement total commander ou l'une de ses multiples variantes (FreeCommander, Norton Commander père historique mais devenu ingérable sous Windows).
Sous Windows, Total Commander me rendait tellement de bons et loyaux services que j'en ai même fait l'acquisition d'une  licence.

Maintenant que je passe beaucoup de temps sur Ubuntu, l'absence de cet outil se fait sentir.
Ainsi, je me suis lancé à la recherche d'un équivalent de Total Commander pour Ubuntu.


Gnome-Commander
Il existe différentes version de "Norton Commander" pour les plateformes Linux.
Celle qui à retenu mon attention est Gnome Commander (GCMD pour les intimes).
J'y ai vite retrouvé l'efficacité de Total Commander sans devoir entièrement m'adapter. Il faut cependant relever quelques différences mineures.

Source: le site officiel de Gnome Commander

Installation
sudo apt-get install gnome-commander

Plus d'information
Autres alternatives

Midnight Commander
Midnight Commander en mode texte ("mc" pour les intimes). Cette version est également très efficaces. Elle présentera surtout un avantage lorsqu'il faudra travailler en mode terminal.
Source: Wikipedia.org

Plus d'information sur:
Pour l'installation:
sudo apt-get install mc

Double Commander
Mentionné ci et là sur le net, cette version visiblement plus proche de Total Commander semble aussi assez appréciée.

Source: Site officiel

Installation:
  • Télécharger le paquet (package) Débian depuis le site officiel.
  • Utiliser la commande d'installation suivante (source Ubuntu Geek):
    sudo dpkg -i doublecmd_0.4.5.1-1.gtk2_i386.deb
Plus d'information:

lundi 7 février 2011

FreeMind, un outil pour organiser vos idées

Une introduction très personnelle
FreeMind fait partie des logiciels qu'il faut absolument avoir testé au moins une fois.
Que vous soyez informaticien, analyste, manager ou utilisateur occasionnel, FreeMind fait partie de ces outils incontournables. FreeMind permet d'organiser ses pensées et par extension son travail sous toutes ses formes.
Dans un premier temps, j'ai installé FreeMind par pur esprit de curiosité et quelques heures plus tard, je ne pouvais déjà plus imaginer m'en passer. C'est dire au combien il est efficace.
Si vous avez apprécié la découverte de Shutter (un logiciel de capture d'écran professionnel), vous apprécierez certainement celle de FreeMind.



Pour reprendre une citation de Buzan: "Un mind map est une photographie de vos pensées" 

Description
FreeMind est un logiciel libre qui permet de créer des cartes heuristiques (ou Mind Map, carte de pensées), diagrammes représentant les connexions sémantiques (par sens ou significations) entre différentes idées.
Outre l'organisation d'idées, FreeMind peut notamment se montrer très utile à la gestion de projet.
C'est un outil convivial à souhait dont la prise en main se fait rapidement et sans peine.
Le résultat est également immédiat, le chemin entre une simple idée et un arbre élaboré définissant les différents aspects,  les implications ou les ramifications est extrêmement court. Pas de chipotages et pas de pertes de temps inutiles.
L'avantage d'un tel logiciel réside dans la vue d'ensemble où les éléments (idées, concepts, actions) sont liés entre eux.

Quelques exemples d'application des mind-maps:
Source: comment-ça-marche
  • Prise de note pendant une réunion
  • Brainstorming
  • Résumé d'un texte lu, d'un livre
  • Planification
  • Structuration d'un projet
  • Compréhension de concepts
  • Révision et clarification d'idées
  • Aide à la mémorisation
  • Base de connaissance
  • Préparation d'un exposé
  • Liste de choses à faire
 

Vidéo de démonstration
Rien de tel qu'une vidéo pour démontrer l'efficacité manifeste de FreeMind.
Voici une vidéo du concepteur de FreeMind, elle démontre la simplicité d'usage du logiciel, mais surtout il explique aussi comment il s'en sert pour organiser son propre travail journalier.
Une vidéo très intéressante qui met en lumière l'utilité d'un MindMapper.



Aussi disponible au format mov.
Il est également possible de consulter des captures d'écran.

Installation
sudo apt-get install FreeMind

A noter que FreeMind est aussi disponible sur Mac et Windows.

Plus d'information

Pourquoi le stress est-il la cause de maladies?

De nos jours, comment se fait-il que nous soyons si stressés au point d'en être malades?
Tel est le début de l'interview conduite par PasseportSanté.Net que j'ai découverte lors de quelques recherches concernant l'épuisement professionnel.
Si le contenu était pertinent dans le contexte de ma recherche, j'ai vite regretté que cette information ne soit disponible qu'en format audio. Ainsi, j'ai décidé d'en faire une retranscription européanisée. En effet, les Québécois ne s'expriment pas vraiment dans les mêmes termes que nous.

L'interview est disponible sur le site de PasseportSanté.Net (version mp3)
Journaliste: Carole Boulé (novembre 2010).
Rédactrice en chef de Passeport.Net: Claire Tangué.

Voici donc cette retranscription:


De nos jours, comment se fait-il que nous soyons si stressés au point d'en être malades?
C'est à cette question que répond Sonia Lupien, spécialiste en neurosciences et auteur du livre "Par amour du stress", paru aux éditions Au carré. Sonia Lupien est aussi directrice du Centre d’étude sur le stress humain de l’Hôpital Louis-Hyppolyte Lafontaine de Montréal.

En nous aidant à mieux comprendre comment fonctionne le stress, Sonia Lupien nous explique concrètement ce que signifie "gérer son stress" et nous dit précisément comment le faire.

Interview de Sognia Lupien :
Ce qui me fascine beaucoup, c'est que les gens sont très très bons pour parler de leur stress mais la majorité ne savent pas pourquoi ils sont stressés. Ils ne savent pas l'origine de leurs stresseurs et comme je le dis souvent "si vous ne savez pas où est le mammouth, ca va être assez difficile de le tuer".
Il faut savoir où est le stresseur pour bien l'appréhender.
Je pense que c'est ce qui explique cette méconnaissance du stress, c'est ce qui explique pourquoi l'on en souffre un peu plus aujourd'hui.
Je suis convaincu que si vous comprenez très bien comment fonctionne cette superbe machine là, vous pourrez la contrôler de façon beaucoup plus positive que vous pouvez le faire pour l'instant.

Ce qu'il faut comprendre, c'est que le cerveau est un détecteur de menace, et comme je le dis souvent, votre cerveau n'a pas été créé pour remplir le formulaire 4.14 sur le coin d'une table mais "il va le faire"... aussi longtemps qu'il ne détectera pas une menace!
Dès qu'il aura détecté une menace, il va vous empêcher de porter attention à toute chose qui n'est pas menaçante pour que vous portiez toute votre attention sur la menace afin que vous soyez capable d'agir face à cette menace (à savoir : vous combattez ou vous fuyez).
Donc le stress est nécessaire à la survie et quand je le ramène dans notre monde contemporain, c'est cette même réponse qui a permis à mon benjamin de ne pas se faire renverser par une voiture alors qu'il courrait après son ballon dans la rue. Il a été capable de s'arrêter en voyant, par exemple, un véhicule arriver en vision périphérique. Sinon, il serait mort.
Nous ne survivrions pas à la vie sans le stress.
Donc le stress, à chaque fois qu'il est aigu, est nécessaire à la survie. Ne laisser donc personne vous dire que le stress est négatif, c'est faux. Si nous n'étions pas stressés, nous serions morts.

Le stress devient négatif lorsqu'il devient chronique, c'est à dire lorsque vous demandez à votre corps, et à votre cerveau, de générer une réponse de stress de façon continue (chronique) dans le temps.
Et ce qui va se passer, c'est qu'à force de générer cette réponse là, les hormones de stress vont avoir un effet potentiellement délétère à la fois sur votre corps et sur votre cerveau.
On a découvert au début des années 70 que ces hormones de stress, que vous produisez pour développer l'énergie nécessaire pour aller tuer votre mammouth, ont aussi la capacité d'accéder au cerveau dans une période de 8 à 10 minutes après qu'elles aient été produites.
Et lorsqu'elles accèdent au cerveau ces hormones ont une préférence marquée pour les régions du cerveau impliquées dans l'apprentissage, la mémoire et la régulation des émotions.
Une idée qui fait actuellement son chemin dans les milieux scientifiques, c'est qu'il a été remarqué qu'à force de remonter au cerveau de façon chronique, ces hormones vont modifier petit à petit la façon dont la prochaine situation sera interprétée. Ainsi, au cours du temps, les perceptions vont être modifiées de telles sortes que le verre deviendrait plutôt à moitié vide qu'a moitié plein.
Note personnelle: autrement dit, à situations ou faits identiques, le sujet fera une interprétation plutôt négative alors qu'une interprétation positive équivalente est également valable. Cette approche accentue encore plus le phénomène de stress/danger.
C'est comme cela que des désordres liées au stress chroniques, des désordres mentaux tels que l'épuisement professionnel ou la dépression, peuvent potentiellement se développer.

Un principe en science, c'est qu'un problème bien défini est déjà à moitié résolu.
Par exemple, vous savez qu'Irène vous stresse, menace votre égo et qu'il ne vous reste absolument rien sous contrôle.
Une fois que vous avez déconstruit votre stresseur, il faut le reconstruire.
Le mot inverse de stress, ce n'est pas la relaxation. Ce n'est pas parce que vous allez dans un spa ce week-end que « Irène qui vous menace l'égo à la machine à café » sera partie.
Elle est encore là et vous attends de pied ferme.
Le mot inverse de stress, c'est la résilience (voir définition en fin d'article). La résilience c'est la capacité d'avoir un plan B, un plan C.
Il faut savoir que 85% des gens ne mettent jamais en action leur plan B. Ce n'est d'ailleurs pas grave. Il y a de plus en plus d'études qui démontrent que le seul fait d'avoir un plan B vous permet de produire moins d'hormones de stress lorsque vous êtes face à la situation. Avoir un plan B vous permet de le rappeler à votre conscience et  de produire moins d'hormones de stress. En fait, c'est comme dire à son cerveau "calme toi mon grand, ton mammouth n'est pas si gros que cela !".
Ainsi, vous augmentez l'impression d'avoir du contrôle sur la situation et c'est tout ce dont le cerveau à besoin pour se dire "bon, si ce n'est pas un mammouth, on va gérer ce problème tranquillement" et produire ainsi moins d'hormones de stress.
Si vous connaissez les mécanismes du stress, vous pouvez utiliser vos connaissances pour calmer le stress et diminuer la réponse hormonale qui peut être délétère à long terme.

Pensez bien que le corps est une magnifique machine pour produire des hormones de stress. Si le corps ne possédait pas des freins, nous serions tous mort depuis longtemps.
Quand vous avez un stresseur et que vous ne faites rien, c'est exactement la même chose que de retirer le pied de l'accélérateur puis d'espérer arrêter au stop.
Vous avez pu avoir votre stresseur à 11h du matin puis à 14h et là vous êtes encore entrain de mobiliser de l'énergie.
Mais si vous respirez du ventre, il n'y a pas cent mille façons de le faire, il n'est pas nécessaire de prendre la position du lotus, le but étant de prendre un maximum d'air et de faire le plus gros ventre possible. Si vous faites cela, vous aller arrêter la réponse de stress car ce faisant vous activez le muscle qui se trouve sous la cage thoracique, le diaphragme. Plus vous rentrez de l'air dans le ventre et plus le diaphragme s'étend. A partir d'un certain niveau d'extension, cela active la réponse vagale parasympathique qui va diminuer les hormones de stress.
Mais déconstruire le stress prend du temps. Cela réclame un cerveau qui n'est pas stimulé par le souper à faire, les enfants, la garderie, etc.
Par contre, si vous attendez tranquillement le soir d'être couché au calme pour y penser, vous aurez toutes vos chances de ruminer à tout cela, à Irène et de ne pas dormir de la nuit.
L'idéal, c'est de prendre une heure par jour, tout seul, sans stimulation. N'allez pas promener avec votre compagne car elle va vous parler (1*). N'allez pas non plus dire à votre conjoint "je vais aller gérer mon stress et je reviens", ce n'est pas non plus ce qu'il faut faire.
1*) Note personnelle : Ce dernier propos choqua mon épouse car elle ne comprenait pas en quoi une promenade à deux pouvait représenter un frein dans ce contexte. Je crois qu'il faut un peu relativiser les propos de Md Lupien, qui a malheureusement usé ici du stéréotype de l'épouse accaparante (qui n'est centrée que sur ses propres problèmes). Toutes les femmes ne correspondent pas à ce stéréotype tout comme chaque couple est différent dans sa dynamique. Une personne à l'écoute et bien avisée peut être de bon conseil et faire des suggestions éclairées. Il n'en reste pas moins qu'il doit aussi s'agir d'un travail personnel et de décisions que le stressé doit embrasser par lui même pour lui même (pour son propre bien). Tous les conseils du monde ne remplaceront jamais la force de conviction que peut avoir les décisions que l'on prends soi-même.
Faite ce que vous voulez, de la couture, du vélo, promenez votre chien, et vous pouvez avoir la garantie qu'endéans les dix minutes, vos stresseurs vont revenir vous hanter l'un après l'autre. Pourquoi? Et bien parce que votre cerveau a détecté une menace. Et quand vos stresseurs sortent, déconstruisez les puis reconstruisez les. Et si vous revenez à la maison sans avoir trouvé de plan B, ce n'est pas grave, oubliez cela, ils reviendront vous hanter demain.
Ainsi, petit à petit, vous allez pouvoir ventiler au fur et à mesure ces situations qui vous stressent et empêcher qu'elles s'accumulent et vous fassent du mal. C'est une bonne façon de chasser les mammouths.
Note personnelle : Se changer les idées et discuter peut permettre de déconstruire ses stresseurs, de leur donner une certaine relativité et d'éventuellement établir un « Plan B ». Les solutions se trouvent aussi lorsque l'on est détendu et que l'on ne les cherchent pas.  A contrario, toujours parler de son problème peut aussi être un désavantage s'il n'y a pas de « plan B » qui en résulte. Dans ce dernier cas, cela entretient simplement le stress en le gardant au premier plan de la vie.

Définition de la résilience (psychologie):

La résilience est, à l'origine, un terme pour expliquer la résistance des matériaux aux chocs. La résilience est un phénomène psychologique qui consiste, pour un individu affecté par un traumatisme, à prendre acte de l'événement traumatique pour ne plus vivre dans la dépression. La résilience serait rendue possible grâce à la réflexion, à la parole, et à l'encadrement médical d'une thérapie, d'une analyse.
Définition de résilience en psychologie sur Wikipédia.Org

Poper:
Terme québécois utilisé dans l'interview.
le fait, pour un monstre de réapparaitre après avoir été tué.

vendredi 4 février 2011

Présentation d"Android 3 - Honeycomb

Anddroid 3.0 s'annonce à grands pas.
Dans cette version, Google met clairement l'accent sur les tablettes.
Les performances, l'affichage 3D (RenderScript) et de nouveaux concepts tels que l'Application Fragment permettent de faire des développements communs qui s'appliquent aussi bien aux tablettes qu'aux smartphones.
Bien entendu, Android 3.0 arrive avec de nouveaux Widgets, un Drag And Drop Manager, une Application Bar (étant également un Application Frament).
Le framework d'animation à également été revisité pour être plus performant mais également accompagné de nouvelles transitions.
Il y a encore tellement d'autres choses à en dire.

Android 3.0 Demo
Une démo de 2 minutes présentant toutes les nouveauté d'Android 3.0 Honeycomb.
Très entraînante, cette démo est une bonne introduction pour se mettre l'eau à la bouche.


Android Event (2 feb 2010)
Longue introduction d'une heure présentant les différentes nouveautés et les nouveaux concepts propres à d'Android 3.
Concepts qui sont bien entendu accompagnés de démonstrations.

jeudi 3 février 2011

Lire les cartes d'identités Belges (eid) sur Ubuntu

Introduction
La Belgique a remplacé la carte d'identité papier depuis plusieurs années.
Maintenant, même les personnes âgées disposent d'une carte d'identité électronique.
Elle se présente sous la forme d'une carte de crédit et est équipée d'une puce.
La carte eID est également délivrée avec un code secret (code pin).
Cette carte est maintenant systématiquement exigée à la commune pour accomplir diverses formalités.

Mais cette carte présente également d'autres avantages.
  • Elle permet de consulter ou imprimer les informations qui y sont stockées.
  • Elle vous permet d'authentifié le citoyen auprès de l'état lors de communications électroniques.
  • De pouvoir signer des e-mails.
L'authentification est intéressante. Elle permet, par exemple, de consulter ses informations au Registre National. Il est ainsi possible de savoir ce que l'état accumule comme information sur nous :-)
L'authentification permet également le remplissage des impôts en ligne.

Pour plus d'information sur l'eID, vous pouvez consulter ce film sur explania.com

Le matériel
J'ai effectué mes tests avec le Smart Card Reader USB obtenu via les Service Public Fédéral Intérieur (www.ibz.be).
Il s'agit du modèle ACR 38U disponible chez Arena-Solution.
Source: arena-solutions.be

Fiche technique de l'ACR 38U

Pour connaitre les différents modèles et distributeurs de de lecteurs de cartes compatibles(Smart Card Reader), rendez-vous sur le site www.cardreaders.be

Note: J'ai attendu d'avoir installé les logiciels nécessaires avant de brancher le lecteur sur mon PC Ubuntu. .
Prérequis
Il semblerait que l'installation de Java soit nécessaire pour faire fonctionner l'eID.
Si java n'est pas encore installé, cela peut être obtenu à l'aide de la commande suivante:
sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-plugin

Comme j'utilise également Ubuntu pour tester les développements Android, j'ai déjà installé Java sur ma machine.
Mais dans mon cas, il s'agit du JDK d'ORACLE et non la version JRE de Sun comme mentionné ci-avant dans l'instruction sudo.
Si vous désirez installer le JDK Java de Oracle, consultez l'article "Développment Android sous Ubuntu" à la section "Installer Java"

Installation logicielle - Version 1
Je me suis rendu sur le site eid.belgium.be où j'ai sélectionné l'installation Quick Install.
Bien entendu, l'installation facile ne concerne  que les systèmes Windows et Mac. Il existe cependant une section réservée à Linux (uniquement pour les installations Fedora et Ubuntu).
Comme je dispose d'une version 10 d'Ubuntu, c'est plutôt cette dernière option que je me suis dirigé. Cette option repose également sur la Logitech Ubuntu (quelle chance! du moins en apparence)

Si après quelques efforts j'ai finalement réussit à faire fonctionner mon lecteur eID et le logiciel, je n'ai par contre pas réussit à aller bien plus loin.
En effet, la connexion sur le site du Registre National réclame des librairies spécifiques... librairies qui ne sont pas disponibles lorsque l'application est installée depuis la logitech Ubuntu.
Je conseille donc de suivre la méthode d'installation version 2 (voir ci-dessous).

Voici néanmoins comment j'ai procédé en fonction des instructions glanées ci et là.
  1. Brancher le lecteur de carte eid.
  2. Démarrer le logitech Ubuntu et chercher après "eid".
    Sélectionner le paquet "Belgian eid" à installer.
  3. Une fois installé, le point de menu "Application | Accessoire | eid Belge" est disponible.
  4. Cliquer sur le menu, l'application démarre et se place dans la barre de notification.

Vous remarquerez que l'icône présente également un signe rouge.
Il semble que le logiciel ne détecte pas mon lecteur de carte (Smart Card Reader).

Vérifier l'installation de mon lecteur de carte
En recherchant sur le Net, j'ai trouvé l'article "Comment utiliser la carte d'identité électronique (Belgique)" sur Ubuntu-fr.org.
Hormis l'installation manuelle que j'ai volontairement ignoré, l'article regorge d'information technique.
C'est ainsi que j'ai appris qu'il me fallait également installer les pilotes de mon lecteur de carte. 
Puisqu'il s'agit d'un ACR38U en USB, j'ai installé le paquet libccid (cliquer apt://libccid)

Le paquet libccid contient une bibliothèque qui fournit une implémentation du gestionnaire PC/SC IFD pour les lecteurs de cartes à puce USB compatibles avec le protocole CCID.

Une fois libcid installé, mon lecteur de carte a cessé de clignoter lorsqu'une carte d'identité est insérée.
Par la suite, j'ai redémarré l'application "eID Belge" et elle fonctionne visiblement très bien.
Si le contenu de votre carte d'identité n'apparait immédiatement au démarrage de l'application, il faut utiliser le menu  "Carte | Recharger eID".
Il est également possible de vérifier le code PIN dans le volet "Carte & Pin".

Installation logicielle - version 2
Cette fois-ci, nous allons utiliser le script eID-Install-Script que j'ai reçu depuis Ubuntu.Rixensart (merci à Lucien Demeuse pour son aide).
Le script est prévu pour deux modèles de lecteur, veillez donc à commenter la bonne ligne avant d'exécuter le script).
Une fois l'installation terminée, l'application eID est disponible dans le menu "Applications|Autres".
Le logiciel fonctionne parfaitement.
Par contre, cette fois-ci, les librairies complémentaires sont disponibles (cfr capture d'écran), ce qui n'était pas le cas avec la version de la logitech d'Ubuntu.

Pour une raison que j'ignore, les pilotes de mon lecteur UCR38U n'étaient pas installé après l'exécution du script sur une nouvelle machine.
J'ai donc installé les pilotes de mon ACR38U en USB avec le paquet libccid (cliquer apt://libccid)
Guide d'installation et d'utilisation pour Linux
La section d'easyInstall dédiée à Linux propose également un bon document décrivant l'installation mais surtout l'utilisation du logiciel eID. la lecture de cette seconde partie est vivement recommendée.

FireFox  Add-ons
Installer l'AddOns EId pour FireFox.
 L'add-on eID Belgique est disponible sur le site addons.mozzila.org (cliquer sur ce lien pour installer).

Accès au registre National
ATTENTION : L'accès au site du Registre National nécessite d'avoir la carte d'identité dans le lecteur (ce dernier raccordée à l'ordinateur et le logiciel de lecture de carte actif)… sinon une erreur du type "serveur indisponible" apparait.

Il faut également activer le module de chiffrement et les certificats "Belgium Root CA" dans le navigateur

Le chiffrement
Pour activer le chiffrement, il faut charger manuellement la librairie libbeidpkcs dans FireFox (dans les modules de chiffrement).
Bien que la FeDict mentionne le chargement d'un fichier beid-pkcs11-register.html pour effectuer cette tâche automatiquement, il faut savoir que cette dernière méthode persiste à causer de nombreux problèmes.

Après une vérification sommaire, il semble que le script utilisé lors de l'installation de l'eID (la version 2) ait fait tout ce qu'il faut pour installer les modules de certification et importer les certifications "Belgium Root CA" dans le navigateur. Je suis impressionné!

Néanmoins, il faut encore activer la "confiance" pour les certificats mentionnés.
Dans FireFox:
  • Menu "Édition | Préférences | Avancé | Chiffrement | Périphériques de sécurité" et afficher les certificats.
  • Localiser les deux certificats de "Belgium Root CA2" et modifier leurs options pour activer toutes les cases à cocher (checkbox) de confiance.

En cas de problème, il se peut que le module de chiffrement ne soit pas chargé dans FireFox.
Dans ce cas, exécuter la procédure suivante dans firefox :
  • Menu "Édition | Préférences | Avancé | Chiffrement | Périphériques de sécurité | Charger"
  • Comme nom de module, mettre "Belgium Identity Card PKCS#11"
  • Ccomme nom de fichier de module, mettre
    "/usr/local/lib/libbeidpkcs11.so.2" (pour la version 2 installée via les dépôts) ou
    "/usr/local/lib/libbeidpkcs11.so.3.5.3" (pour la version installée à partir du site officiel beId).
    A noter que ce fichier peut également se trouver dans "/usr/lib/libbeidpkcs11.so.*")
  • Importer les certificats.
    Cette procédure est très bien expliqué dans le document "Utilisation de l'eID avec Firefox" de la FeDict. Ce document peut être trouvé à l'aide de la recherche Google "certificat eid firefox"

Le Registre National
  • Démarrer l'application "Belgian eID"
  • Introduire sa carte d'identité dans le lecteur
  • Se connecter sur le site du Registre National https://www.mondossier.rrn.fgov.be/
  • Introduire son code Pin lorsqu'il est demandé
C'est fou ce qu'il est possible d'apprendre sur sa vie dans le registre national.
Les affiliations... évidentes pour certains, il y a quelque-fois des surprises.
Les adresses des différents domiciles depuis votre naissances, etc, etc.

 https://www.mondossier.rrn.fgov.be/

Autres applications
Accès au ministère des finances
Le ministère des finances ne se résume pas à l'application Tax-On-Web qui permet d'encoder sa fiche d'impôt en ligne.
Le ministère des finance accumule aussi un certains nombre d'information à votre sujet comme les différentes taxes, vos revenus professionnels, vos avoirs (ex: la maison que vous avez acheté), etc.
Pour en savoir plus, il suffit de se rendre sur myMinFin et d'ouvrir une session.
Comme pour le site du Registre National, il est important d'avoir activé le logiciel "Belgian eID" et d'avoir inséré sa carte d'identité.
Source: Ministère des pensions

http://www.myminfin.be


Lecture de la carte SIS
Selon certaines documentation de la FeDict, l'application "Belgian eID" serait également capable de lire le contenu de la carte SIS.
Pour ce qui est de l'installation sur Ubuntu, l'application Belgian eID n'est pas capable de le faire (la carte semble inconnue).