ubuntu-fr

Communauté francophone des utilisateurs d'Ubuntu

Planet Ubuntu-fr - Planet-libre

Fil des billets

jeudi, janvier 21 2010

Gravatar de CreaoneUtiliser bpython au sein de django pour Ubuntu via Creaone

Django logo bugSuite au commentaire de Narbonne sur l'article d'hier "Quelques outils utiles pour django" je livre aujourd'hui la rapide manipulation permettant d'utiliser bpython avec django. Bpython est un terminal python avancé. En temps réel il colore, indente, propose les méthodes liées aux objets courants, via l'introspection. Il contient un historique, et des commandes rapides pour enregistrer et "pastebiner" le contenu du terminal sans le quitter. Bref on gagne du temps.

Attention, l'ensemble des manipulations qui vont suivre peuvent rendre votre système d'exploitation Ubuntu instable. L'utilisation du compte admistrateur (commande sudo...) suscitent des risques pour lequel je décline toute responsabilité.

Installer bpython dans Ubuntu

Il existe trois méthodes, je vous livre ici la plus rapide, la plus simple, et la plus sûr pour votre système:

  • Depuis un terminal, tapez : sudo aptitude install bpython

Utiliser bpython dans django

  • Créer dans votre dossier personnel le fichier ~/.pythonrc et placer dans celui-ci :
try:
  from django.core.management import setup_environ
  import settings
  setup_environ(settings)
  print 'Importation de la configuration django'
  try:
    exec_strs = ["from %s.models import *"%apps for apps in settings.INSTALLED_APPS ]
    for x in exec_strs:
      try:
          exec(x)
      except:
          print 'Echec de l'importation pour %s' %x
    print 'Importation des modèles django'
  except:
    pass
except:
  pass
  • Editer, toujours depuis votre dossier personnel, le fichier /.pythonrc@@
  • Enfin relancer votre terminal (un onglet de guake dans mon cas)

bpython pour django

Via cette manipulation, bpython devient une alternative très intéressante vis à vis du couple "shell_plus + ipython".'' Billet conçu d'après l'article Using python shell ..''

EDIT: Sur IRC , Alexis propose le snippet bpython

Gravatar de sidney_v10 Blockbusters réalisés avec l’aide de Linux via Sidney_v

Weta est un studio de post-production basé à Wellington en Nouvelle-Zélande. Sa division Digital s’occupe de la conception des effets visuels créés par ordinateur.

Elle a notamment contribué aux films District9, Le Jour où la Terre s’arrêta, Jumper, King Kong, Le Seigneur des anneaux, Les Quatre Fantastiques, Eragon, X-Men, i-Robot… et plus récemment Avatar de James Cameron.

Interrogé sur le rendu 3D d’Avatar, Paul Gunn (Systems Manager chez Weta Digital) confiait lors de la Linux.conf.au 2010 que Linux était au coeur d’une architecture regroupant 4 000 serveurs HP Blades de 35 000 coeurs, 104TB de RAM, une baie de disques de 2 Petabyte et un réseau de 10 Gbps. La salle serveur mesure un peu plus de 3000m², contient 34 racks refroidis par water-cooling et affiche une température de 25°.

La distribution GNU/Linux Ubuntu est au coeur de cette ferme de serveurs et de 90% des ordinateurs du studio Weta Digital.

Malgré cette puissance, le rendu de certaines séquences vidéos prend plus de 48h ! Normal, chaque minute d’Avatar représente tout de même 17.28GB de données.

source : Dustin Kirkland

mercredi, janvier 20 2010

Gravatar de CreaoneQuelques outils utiles pour django sous Ubuntu - "Debugging" via Creaone

Django logo bugTravaillant désormais depuis plus de neuf mois avec le framework django sur le prochain logiciel Opquast, je me permets, aujourd'hui, de fournir très modestement quelques retours d'expérience. Naturellement, toutes les étapes, les logiciels présentés ci-dessous sont compatibles avec la distribution Ubuntu. Pour MacOsX de simples adaptations semblent suffisantes, enfin pour Windows je vous laisse canoter. Cet article présente l'ensemble des outils me permettant de "débugger", tester plus rapidement du code "django / python". Attention, l'ensemble des manipulations qui vont suivre peuvent rendre votre système d'exploitation Ubuntu instable. L'utilisation du compte admistrateur (commande sudo...) suscitent des risques pour lequel je décline toute responsabilité.

Le terminal python de base

De base, Django fournit un outil, certes basique mais ô combien utile, le "TERMINAL". Ce dernier se lance via la commande python manage.py shell, uniquement si django est installé . Via l'interpréteur intéractif, le shell ou terminal, vous pouvez tout tester, instanciation de classe, concaténation de chaine, boucle for, conditions... Très rapidement on se rend compte qu'il manque : la coloration syntaxique pour s'y retrouver, un historique des commandes précédemment tapées, les bons imports initiaux, l'indentation automatique, la complétion. Bref on est face au bon vieux terminal type MS-DOS (allez, ...en un peu mieux).

Installation ipython

Il manque l'indentation automatique, l'historique, la complétion des objets, la coloration, aucun problème installez ipython via synaptic ou via la bonne vieille commande habituelle sudo aptitude install ipython. Aucune configuration supplémentaire l'interpréteur python est automatiquement "amélioré" tout comme l'interpréteur django, en effet ce dernier repose sur celui de python.

Mise à jour de django shell vers django shell_plus

  1. Télécharger le pack contenant shell_plus à l'adresse django-command-extensions
  2. Dézipper l'archive précédemment récupérés
  3. Via un terminal, tapez la commande sudo python setup.py install (cela fonctionne si django a été installé de la même manière, ou est situé dans /usr/local/lib/python2.6/dist-packages/)

Shell_plus

Au lancement de la commande l'ensemble des modules déclarés dans votre fichier de configuration settings.py sont automatiquement chargés, voir screenshot ci-dessus. On gagne un temps incroyable

Connaître les attributs et les méthodes d'un objet

Cette solution est très simple, mais pour l'instant je n'ai pas trouvé mieux.

  1. Démarrez un terminal django : python manage.py shell_plus
  2. Instancier votre objet : article = Article()
  3. Saisissez article. puis appuyer sur la touche "Tabulation de votre clavier", le terminal liste ainsi l'ensemble des attributs, méthodes disponibles

Shell plus , listing des attributs

Guake : Un terminal toujours sous la main

Enfin pour aller plus loin, je vous renvoie à l'installation de l'excellent terminal guake via sudo apt-get install guake. Guake via le raccourci "F12" est disponible depuis n'importe quel bureau, hautement pratique, surtout si comme moi, vous utilisez plusieurs bureaux.

vendredi, janvier 15 2010

Gravatar de sidney_vCanonical lance un sondage sur les applications manquantes dans Ubuntu via Sidney_v

Un message récent sur le forum Ubuntu invite les lecteurs à répondre à un sondage sur les applications développées par des sociétés tierces que les utilisateurs souhaiteraient voir fonctionner sous Ubuntu.

« Il y a plusieurs applications remarquables qui ne sont pas encore disponibles pour les utilisateurs d’Ubuntu et Canonical souhaiterait connaitre le niveau d’attente des utilisateurs. »

Parmi ces applications : Adobe Photoshop, Apple iTunes, Skype, World of Warcraft, Steam et plusieurs autres…

La liste a de quoi surprendre, la plupart étant des applications propriétaires. Et le titre du sondage entretient une certaine confusion : « Which of the following desktop applications would you most like to see appear on the Ubuntu platform? »

Gerry Carr, responsable de l’équipe marketing de Canonical, aurait participé à la mise en place ce sondage. Puis le lien aurait été relayé par un administrateur du forum Ubuntu.

À défaut d’une communication officielle de la part de Canonical, l’éditeur de la distribution GNU/Linux Ubuntu, les questions soulevées par ce sondage restent nombreuses. Il ne serait pas question d’applications à inclure par défaut ni de priorité de travail pour Canonical mais bien de simplement connaitre les applications qui « manquent » dans Ubuntu.

Chacun est invité à répondre au sondage et même à utiliser le champs de texte libre pour proposer ses propres applications.

Source : Web Upd8, Canonical To Bring Closed Source Apps Like iTunes And Photoshop To Ubuntu?!?!

dimanche, janvier 10 2010

Gravatar de Rom1Installer une application .apk sur Android à partir d’un PC via ®om

J’expliquais, lors de mes premières impressions d’Android 2 sur le Motorola Milestone, qu’il était impossible d’installer un fichier .apk sans accepter les conditions d’utilisation du market ni configurer un compte gmail.

C’est en fait possible, grâce à l’outil adb du SDK Android, à partir la connexion USB de l’ordinateur.

Configurer le téléphone

Pour que l’outil d’installation puisse fonctionner, il faut activer l’option Paramètres > Applications > Développement > Débogage USB sur le téléphone.

Configurer l’ordinateur

Il faut télécharger Android SDK.

Sous GNU/Linux (plus précisément Ubuntu 9.10, adaptez selon votre distribution), voici comment l’installer et permettre la reconnaissance du Motorola Milestone (plus d’infos ici) :

sudo tar xzf android-sdk_r04-linux_86.tgz -C /opt
sudo ln -s /opt/android-sdk-linux_86/tools/adb /usr/bin
echo 'SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", MODE="0666"' | sudo tee /etc/udev/rules.d/51-android.rules
sudo /etc/init.d/udev reload

Vous pouvez maintenant brancher votre téléphone sur le PC en USB. Pour vérifier que tout fonctionne :

$ adb devices
List of devices attached
040140621600C00D	device

Installer une application

En ligne de commande

Pour installer une application à partir de l’ordinateur, rien de plus simple :

$ adb install -r ConnectBot-svn-r466-all.apk
2343 KB/s (642578 bytes in 0.267s)
	pkg: /data/local/tmp/ConnectBot-svn-r466-all.apk
Success

(-r permet d’écraser si l’application est déjà installée)

À partir d’un gestionnaire de fichiers

Vous pouvez ensuite ajouter la possibilité d’installer les .apk graphiquement à partir de votre gestionnaire de fichiers. Si vous utilisez nautilus, vous pouvez jouer avec nautilus-actions :

Voici la commande de mon action nautilus (j’ouvre un xterm pour avoir le résultat de l’installation, si vous avez mieux, n’hésitez pas) :

xterm -T adb -e 'cd "%d" && /usr/bin/adb install -r "%f"; sleep 5'

Conclusion

J’ai réinitialisé mon téléphone, il n’a plus de compte gmail associé et je n’ai pas accepté les conditions du market, ce qui ne m’empêche donc plus d’installer les applications dont j’ai besoin.

Même pour ceux qui veulent garder leur compte ou utiliser le market, c’est quand même plus rapide d’installer un .apk grâce à un clic-droit, « installer » à partir du gestionnaire de fichiers plutôt que de copier le .apk sur la carte SD, débrancher le câble USB, aller dans une appli qui va chercher le fichier et cliquer sur « installer ».

mercredi, janvier 6 2010

Gravatar de Rom1Trier ses mails directement sur le serveur (procmail) via ®om

Dans la continuité des articles consacrés à l’auto-hébergement des mails, je vais présenter quelque chose que je voulais mettre en place depuis un moment : le tri du courrier directement sur le serveur.

Introduction

Lorsqu’on est abonné à des mailing-lists ou qu’on reçoit des notifications de forums ou de blogs, il est inconcevable de garder tous ses mails dans un seul et même dossier, et impensable de les déplacer manuellement (à moins de passer 30 minutes par jour à les trier). Un tri doit être mis en place automatiquement, en se basant sur les en-têtes des mails reçus.

J’utilisais jusqu’à maintenant les filtres de messages de mon client mail, Evolution, mais ça n’était pas forcément approprié :

  • d’une part c’est très long avec un compte IMAP (les dossiers étant gérés côté serveur), car le client doit récupérer localement les nouveaux messages du serveur et les analyser ; s’il faut en déplacer un, il doit demander au serveur de le copier de la boîte de réception vers le dossier destination adéquat, puis demander de le supprimer de la boîte de réception, et enfin récupérer le messages déplacé… Rien que ça !
  • d’autre part, lorsqu’on accède à ses mails à partir de plusieurs endroits (par exemple le client mail, le webmail et le téléphone portable), il devient évident que ce ne peut pas être le rôle des clients de trier les messages…

C’est donc au serveur de placer les mails dans le bon dossier dès la réception. C’est ce que procmail permet de faire.

Les dossiers IMAP

Les dossiers IMAP sont des dossiers physiques contenus dans ~/Maildir (le répertoire des mails) qui respectent une structure particulière :

  • leur nom commence par « . » (ce sont des dossiers cachés) et les sous-dossiers « logiques » sont séparés par des « . » (par exemple, si je veux un dossier a contenant un sous-dossier b, le répertoire physique sera ~/Maildir/.a.b) ;
  • ils contiennent 3 sous-dossiers physiques : cur, new et tmp.

Pour les créer, il suffit d’utiliser maildirmake ou maildirmake.dovecot, à partir du répertoire ~/Maildir :

maildirmake.dovecot .forums.ubuntu-fr
maildirmake.dovecot .forums.developpez

pour obtenir l’arborescence suivante :

|-- .forums.developpez
|   |-- cur
|   |-- new
|   `-- tmp
`-- .forums.ubuntu-fr
    |-- cur
    |-- new
    `-- tmp

Il est également possible de les créer graphiquement grâce à un client mail.

Configuration de postfix

Il faut indiquer à postfix que procmail va s’occuper de trier les mails, en lui précisant dans /etc/postfix/main.cf :

mailbox_command = /usr/bin/procmail

Il faudra ensuite recharger la configuration :

sudo /etc/init.d/postfix reload

Définir les règles de tri

Tout se passe dans le fichier (à créer) ~/.procmailrc, qui contient deux parties : la définition des variables et la définition des « recettes » (les règles de tri).

Les variables

Pour les variables, copiez simplement ceci (en décommentant les 2 premières lignes si vous voulez des logs).

#VERBOSE=yes
#LOGFILE=.procmail.log
SHELL=/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
MAILDIR=Maildir/
DEFAULT=./

Les recettes

Les recettes sont écrites sous la forme suivante :

:0 [drapeaux] [ : [verrou_local] ]
<zéro ou plusieurs conditions (une par ligne)>
<exactement une ligne d'action>

Les conditions commencent toutes par « * », suivie d’une expression régulière. Pour qu’une recette exécute l’action définie, il faut que le mail en question valide toutes les conditions.

Pour faire simple, nous allons simplement créer des règles qui déplacent des mails dans des dossiers. Pour définir une telle action, il suffit d’écrire le nom du dossier, en terminant la ligne par / (très important, cette convention indique à procmail que le dossier est au format maildir).

Un exemple étant plus parlant, voici une règle qui déplace toutes mes notifications de blog dans un dossier blog :

:0
* ^From: .*<wordpress@blog\.rom1v\.com>$
.blog/

Résultat

Au final, voici un extrait de mon fichier ~/.procmailrc (je n’ai pas mis toutes les règles, c’est juste pour donner quelques exemples) :

#VERBOSE=yes
#LOGFILE=.procmail.log
SHELL=/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
MAILDIR=Maildir/
DEFAULT=./

:0
* ^From: .*<wordpress@blog\.rom1v\.com>$
.blog/

:0
* ^Reply-To: .*<[0-9]+@bugs\.launchpad\.net>$
.bugs.launchpad/

:0
* ^From: .*<dev\.null@ubuntu-fr\.org>$
.forums.ubuntu-fr/

:0
* ^List-Id: <april\.april\.org>$
.ml.april/
samedi, janvier 2 2010

Gravatar de Rom1Ajouter l’authentification SMTP sur un serveur mail via ®om


Ce billet vient compléter mon premier billet concernant l’installation d’un serveur mail sur Ubuntu Server.

Objectif

La configuration de postfix présentée dans mon premier billet limitait (dans un but de sécurité) l’envoi d’un mail à une personne distante qu’à partir du réseau local (ou une liste de réseaux prédéfinis). Cela est parfait lorsqu’on envoie toujours les mails de chez soi, avec au besoin la possibilité d’envoyer un mail de n’importe où grâce au webmail.

Mais l’utilisation du SMTP à distance devient utile lorsqu’on veut envoyer un mail à partir de chez un ami avec son client mail (plus pratique pour les pièces jointes par exemple), et cela devient carrément indispensable lorsqu’on veut écrire des mails à partir de son téléphone de n’importe où (sans IP fixe).

Ne plus restreindre l’utilisation du SMTP au réseau local implique évidemment de rajouter une couche d’authentification…

Je vais donc décrire comment mettre en place une authentification SMTP-AUTH « en clair » (bien sûr encapsulée dans une connexion chiffrée TLS, déjà configurée si vous avez suivi le premier tuto) qui correspond au login et mot de passe de l’utilisateur système. Il a été écrit pour une installation sur Ubuntu Server 9.10, il faudra donc peut-être l’adapter légèrement si vous utilisez autre chose.

Configuration de SASL

Il faut installer le paquet sasl2-bin :

sudo apt-get install sasl2-bin

et ajouter l’utilisateur postfix au groupe sasl :

sudo adduser postfix sasl

Ouvrez ensuite /etc/default/saslauthd, remplacez :

START=no

par :

START=yes

et remplacez la dernière ligne par :

OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

Démarrez le service :

sudo /etc/init.d/saslauthd start

Configuration de postfix

À la fin de /etc/postfix/main.cf, rajoutez :

# SASL
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination

Dans ce même fichier, vous pouvez également supprimer le réseau 192.168.0.0/24 de la variable mynetworks (si vous l’aviez rajouté).

Créez le fichier /etc/postfix/sasl/smtpd.conf contenant :

pwcheck_method: saslauthd
mech_list: plain login

Rechargez la configuration de postfix :

sudo /etc/init.d/postfix reload

Voilà, tout est prêt.

Configuration du client mail

Dans votre client mail, indiquez que le serveur SMTP requiert une authentification, de type CLAIR (ou PLAIN), et précisez votre compte utilisateur à utiliser.

mardi, décembre 22 2009

Gravatar de CapofUbuntu Install Party a El-Jadida le programme via Capof's Space

Sous le thème « A la découverte du monde libre avec Ubuntu GNU/Linux » un install party aura lieu dans les locaux de l’école Pigier Maroc, pour fêter la sortie d’Ubuntu Karmic Koala 9.10, et aussi l’approuvation du groupe Ubuntu Maroc (Ubuntu Moroccan Users).

Programme :

10 h : Ouverture des portes

10 h 20 : « Mot d’introduction »

10 h 30 : « Présentation de Ubuntu Linux 9.10 Karmic Koala » par Bunix Tux

11 h 30 : Ouverture des Ateliers « A la découverte de Ubuntu Linux », « Zone Installation » et « A la découverte de Ubuntu Server »

11 h 40 : « Logiciels Libres : Quel opportunités pour les marocains ? » Par Khalid Allilli

12 h 40 : Pause Déjeuner

14 h : « Le Multimédia sur Ubuntu Linux » par Islam Abouelata

15 h : Table Ronde sur l’avenir de Ubuntu au Maroc

16 h : « Déploiement de solution Open Source en Entreprise » par Chadi Nanaa

18 h 00 : Fermeture des Portes

Pour plus d’informations sur cet évènement :

https://wiki.ubuntu.com/MoroccanTeam/ReleasePartyKarmic

Un grand merci pour Bunix Tux(Hamza Badih), et la direction de l’école Pigier :)

Share/Bookmark
dimanche, décembre 20 2009

Gravatar de Rom1Tricher dans les jeux en modifiant la mémoire à chaud via ®om

Il y a longtemps, sur la première PlayStation, j’avais acheté un Action Replay qui permettait de modifier la mémoire à chaud pour « tricher » ou changer le comportement d’un jeu.

Il est possible de faire la même chose sous GNU/Linux grâce à scanmem, qu’il faut installer :

sudo apt-get install scanmem

Nous allons le tester sur Gnometris (le Tetris-like intégré à Gnome) pour exploser le record.

Lançons le jeu, et récupérons son pid :

$ gnometris &
[1] 30814

Démarrons scanmem avec comme paramètre le pid de Gnometris :

sudo scanmem 30814

(oui, il faut être root pour lire et écrire la mémoire des autres programmes lancés, c’est plutôt rassurant)

On obtient un joli prompt :

0> 

Il va falloir tout d’abord trouver où se trouve en mémoire la variable à modifier (celle qui contient le score courant). Pour cela, c’est très simple, vu que le score est affiché à l’écran, il suffit d’indiquer à scanmem sa valeur. Pour l’instant, mon score est de 0, je rentre donc 0 :

0> 0
info: 01/126 searching   0x621000 -   0x623000...........ok
info: 02/126 searching  0x1f9d000 -  0x2f4e000...........ok
…
info: 125/126 searching 0xe83f9000 - 0xe83fa000.ok
info: 126/126 searching 0xdab4b000 - 0xdab67000.ok
info: we currently have 12352024 matches.
12352024> 

Il y a donc 12352024 variables dans la mémoire utilisée par Gnometris qui sont à 0 (pas étonnant).

Je joue un peu, histoire de faire évoluer le score… tac tac tac tac… Voilà, j’ai 100 points (j’ai fait 2 lignes), je tape donc 100 :

12352024> 100
info: we currently have 36 matches.
36> 

Il y a 36 variables qui étaient à 0 tout à l’heure et qui sont à 100 maintenant. Je rejoue, je fais 1 ligne, j’ai 140 points, je tape donc 140 :

36> 140
info: we currently have 1 matches.
info: match identified, use "set" to modify value.
info: enter "help" for other commands.

Voilà, j’ai trouvé la variable qui contient le score, maintenant je peux la modifier :

1> set 12345678
info: setting *0x22e38f0 to 0xbc614e...

Rien ne se passe dans le jeu, c’est normal : pour Gnometris, le score n’a pas pu changer, le label de l’interface graphique contenant le score n’a donc pas été rafraîchi. Il suffit de gagner quelques points pour s’apercevoir que la modification a bien été prise en compte :

Ça fonctionne bien évidemment sur tous les programmes, mais c’est plus intéressant pour les jeux :-)

vendredi, décembre 18 2009

Gravatar de NizarusOpen Source for Tunisia 2009 (suite) via Nizarus

Comme prévu la première rencontre Open Source for Tunisia (OST pour les intimes) a eu lieu le 16 décembre 2009 à Sousse. La journée a commencé par la conférence animée par M. Majed Khalfallah pour présenter les logiciels libres (historique, avantages, situation en Tunisie, etc…). Après une courte pause c’était au tours de professionnels de présenter leurs produits libres et/ou open source (voir le programme).

L’après midi c’était autour des tables rondes animées par les différents intervenants dans la journée. Notre LoCo, représentée par votre serviteur et Abdelmonam Kouka, a assurée l’animation de l’une de ces tables rondes. J’ai présenté au publique présent un bref aperçu de la distribution ubuntu et une présentation de la communauté ubuntu en Tunisie (historique, nos différentes activités, comment nous rejoindre, etc…). Ensuite Abdelmonam a présenté la distribution sabily dérivée de ubuntu.

L’album photo de la journée : http://ubuntu.nizarus.org/v/ost/

Open Source for Tunisia 2009 (suite) is a post from: Pourquoi pas !!