ubuntu-fr

Communauté francophone des utilisateurs d'Ubuntu

Planet Ubuntu-fr - Programmation

Fil des billets

dimanche, avril 20 2008

Gravatar de Asher256Annonce: Premier Concours Marocain de l’Open Source (à Casablanca) via Asher256

Concours Marocain de l'Open Source

L’AUSIM organise le premier Concours Marocain de l’Open Source (CMOS), dans lequel des étudiants devront développer des logiciels libres suivant un certain nombre de thèmes définis par le jury.

L’évènement se tiendra à l’EHTP (dans le centre de conférences) le 26 Avril 2008.

Le programme de la journée

  • 08h30 : accueil et inscription des participants
  • 09h00 : allocution de bienvenue du directeur de l’EHTP, du président de l’AUSIM, etc.
  • 09h30 : présentation des projets par les équipes candidates
  • 12h30 : déjeuner
  • 13h30 : annonce des résultats et remise des prix

Plus d’informations sur le site du CMOS.

Blogs qui en parlent

mercredi, avril 9 2008

Gravatar de RoozeecFaire une clé USB de sauvegarde sous Linux via Roozeec

Les appareils électroniques pouvant avoir des fois des migraines, et donc vous causer des migraines également, il est bon de sauvegarder de temps en temps vos données importantes. Aujourd’hui, je vais vous expliquer une des facons possibles pour celà. J’ai choisi la sauvegarde sur clé USB et d’y transférer les répertoires à sauvegarder à la main. Ceci est bien sur assez laborieux. Comme je suis un peu paresseux ;-) , j’ai voulu me simplifier la vie en me fixant les objectifs suivants :

  1. Une configuration simple et modifiable pour sauvegarder les fichiers et répertoires que je veux
  2. Dès l’insertion de la clé, la sauvegarde se lance

Première étape : La clé de sauvegarde

Cette clé possède un système de fichiers ext3. J’aurais pu choisir un système Windows pour pouvoir les lire (éventuellement) sous windows. Pour que la sauvegarde se fasse automatiquement, je me suis dit que le script qui allait lancer les sauvegardes devait reconnaître la clé prévue pour ca. En effet, en cas d’insertion de la mauvaise clé, rien ne se passera. Pour celà, j’ai donc utilisé la fonctionnalité LABEL d’un système de fichier. J’ai choisi le label : sauvegardes

Etant d’un naturel fan de la ligne de commande, j’ai dérogé à ce principe pour utiliser un logiciel graphique pour préparer mon système de sauvegarde. Tout d’abord je mets donc la clé USB sur le PC et je lance un gestionnaire de partitions de disques, par exemple qtarted.

Note : je lance Qtparted en tant qu’utilisateur, de cette facon, le programme verra uniquement ma clé. En effet, pour utiliser un programme de gestion de partition de disque, il faut généralement être root pour avoir la totalité des disques.

ATTENTION : Programme à utiliser avec précaution, sachez bien ce que vous faites !!

Au lancement, je choisi le périphérique de ma clé (ici sdb) :

Je choisi ensuite de formater ma clé et de lui définir un label. Ceci avec le menu contextuel sur la ligne décrivant la partition. Une fois cliqué sur Formatage , une boite de dialogue apparaît pour définir le système de fichier et le label :

Un fois ceci fait, on clique sur OK et on voit dans la description de la partition que c’est modifié. Cependant, tout ceci est en mémoire du programme, il faut valider ceci de facon à le faire physiquement sur la clé. Pour celà, un clic sur le deuxième icône (effectuer) de qtparted et c’est parti avec un message d’information :

Cliquer sur Yes pour valider les changements.

Voilà, maintenant la clé est prête pour sauvegarder, passons maintenant au script de sauvegarde.

Deuxième étape : le script de sauvegarde

Tout d’abord le principe :

La clé lorsqu’elle sera connectée sur le PC sera monté pour Ubuntu sous media/sauvegardes. En effet, sauvegardes etant le label, la clé est montée avec ce nom. De ce fait le script devra attendre que ce répertoire soit présent. Si le répertoire n’est pas présent, il se met en pause (commande sleep) et ensuite se réveille pour vérifier et ainsi de suite. Pour savoir, ce qu’il a à faire, le script a besoin d’un fichier de configuration. Ce fichier de configuration se trouvera dans le répertoire HOME de l’utilisateur. Une fois la sauvegarde, terminé la clé est démontée (affichage d’une boite de dialogue gksudo)

Le fichier de configuration contient des mots-clés pour indiquer si il s’agit d’un répertoire ou d’un fichier a sauvegarder. Par exemple :

FILES /home/roozeec/Documents/*.odt
FILES /home/roozeec/Documents/*.xls
DIRS /media/hdc7/SAUVEGARDE/documents/roozeec
DIRS /home/roozeec/Projects/*

Pas besoin d’explication, ca coule de source (enfin je pense …)

Note : Dans le fichier de configuration, il faut écrire les chemins en entier , sans variables d’environnement : HOME, etc … Pour vous dire franchement, j’ai fait ca vite fait, et sans trop de perfection. Ce que je veux c’est le résultat, après l’esthétisme ….De nombreuses améliorations sont donc a faire.

Troisième étape : Installation et lancement

Maintenant, que tout est prêt , il faut trouver une méthode pour lancer ca rapidement, propre net et sans bavure … Un moyen très simple : les lanceurs Gnome.
En cliquant droit sur le tableau de bord Gnome , un menu apparaît et on sélectionne Ajouter au tableau de bord:

Ensuite, on sélectionne : Lanceur d’applications personnalisé

Et on le configure :

Type : Application dans un terminal (important car il permet de voir si la sauvegarde s’est bien passée)
Nom : ZeecAutoSave
Commande : REPERTOIREDUSCRIPT/zeecautosave-bin
Commentaire : Si vous voulez

Maintenant, on peut faire la même chose pour l’édition du fichier de configuration : .zeecautosave.cfg avec l’éditeur de fichier : gedit

Vous avez donc maintenant, dans votre tableau de bord :

Quatrième étape : Sauvegarde sur la clé

Il suffit donc de cliquer sur le premier icône précédemment défini et un terminal se lance avec l’affichage suivant :

# ——————————————- #
# Attente de la clé : /media/sauvegardes
# ——————————————- #

Il suffit d’insérer la clé, et des messages du type suivant apparaissent :

-> Sauvegarde des répertoires : /home/roozeec/Projects/roozeec.fr
-> Sauvegarde des fichiers : /home/roozeec/Documents/Capture-Ubuntu.png

Pour terminer, il suffit de fermer le terminal ou de taper CTRL+C

Ce petit programme est appelé : zeecautosave
Vous trouverez le script et un fichier de config ici : ZEECAUTOSAVE

Attention : il est défini pour fonctionner sous l’environnement Gnome (gksudo)

Très simple petit programme, bien utile. J’espère qu’il vous le sera également.

CONCLUSION : c’est ca que j’aime sur Linux, pouvoir faire ce que l’on veut, comme on veut , rapidement et sans contrainte !

mercredi, septembre 5 2007

Gravatar de admintagphoto : script Nautilus pour mettre date et heure sur vos photos via Yann Hamon

Les scripts Nautilus c’est vraiment génial pour peu que l’on aime un peu programmer. Le principe est simple : il suffit d’écrire un programme avec n’importe quel langage (généralement c’est le bash ou le perl) et de le placer dans répertoire ~/.gnome2/nautilus-scripts

Une fois ceci fait, avec le navigateur Nautilus , il suffit de cliquer (bouton droit) dans un répertoire avec des fichiers de facon à avoir le menu du type suivant :

sc1.png

Les fichiers se trouvant dans le répertoire décrit ci-dessus et étant exécutables seront présent dans ce menu comme par exemple ci-dessous :

sc2.png

Maintenant parlons un peu de tagPhoto : Ce petit programme permet de modifier une photo numérique afin d’y ajouter discrètement en bas à droite, la date et l’heure de la prise de vue. ce programme nécessite d’autre pour pouvoir fonctionner : jhead , zenity et imagemagick

Sous Ubuntu , l’installation se fait tout simplement : sudo apt-get install jhead imagemagick

Comment fonctionne-t-il ? Très simple, vous téléchargez le programme : tagPhoto , et vous le mettez dans le répertoire : ~/.gnome2/nautilus-scripts

Maintenant, il suffit d’aller dans un répertoire de photos et de sélectionner une ou plusieurs photos et de faire un clic droit . Comme expliqué ci-dessus, un menu apparait :

sc3.png

 Sur la capture précédente, j’ai donc sélectionné 6 image. Je clique donc sur tagphoto présent dans le menu :

sc2.png

 Le script démarre l’insertion des dates et heures dans les images :

sc4.png

Dans nautilus un nouveau répertoire est créé : tagphoto , indiquant ici 6 elements qui correspondent à mes 6 images précédemment sélectionnées.

sc5.png

Et ca donne quoi au final ?

Voici une capture du coin droit d’une photo :

sc6.png

J’ai fait développé des photos modifiées de cette facon par un laboratoire photo, et le résultat est impeccable, c’est bien pratique d’avoir ces informations sur les photos de facon très discrète.

C’est bien pratique !

Gravatar de Roozeectagphoto : script Nautilus pour mettre date et heure sur vos photos via Roozeec

Les scripts Nautilus c’est vraiment génial pour peu que l’on aime un peu programmer. Le principe est simple : il suffit d’écrire un programme avec n’importe quel langage (généralement c’est le bash ou le perl) et de le placer dans répertoire ~/.gnome2/nautilus-scripts

Une fois ceci fait, avec le navigateur Nautilus , il suffit de cliquer (bouton droit) dans un répertoire avec des fichiers de facon à avoir le menu du type suivant :

sc1.png

Les fichiers se trouvant dans le répertoire décrit ci-dessus et étant exécutables seront présent dans ce menu comme par exemple ci-dessous :

sc2.png

Maintenant parlons un peu de tagPhoto : Ce petit programme permet de modifier une photo numérique afin d’y ajouter discrètement en bas à droite, la date et l’heure de la prise de vue. ce programme nécessite d’autre pour pouvoir fonctionner : jhead , zenity et imagemagick

Sous Ubuntu , l’installation se fait tout simplement : sudo apt-get install jhead imagemagick

Comment fonctionne-t-il ? Très simple, vous téléchargez le programme : tagPhoto , et vous le mettez dans le répertoire : ~/.gnome2/nautilus-scripts

Maintenant, il suffit d’aller dans un répertoire de photos et de sélectionner une ou plusieurs photos et de faire un clic droit . Comme expliqué ci-dessus, un menu apparait :

sc3.png

Sur la capture précédente, j’ai donc sélectionné 6 image. Je clique donc sur tagphoto présent dans le menu :

sc2.png

Le script démarre l’insertion des dates et heures dans les images :

sc4.png

Dans nautilus un nouveau répertoire est créé : tagphoto , indiquant ici 6 elements qui correspondent à mes 6 images précédemment sélectionnées.

sc5.png

Et ca donne quoi au final ?

Voici une capture du coin droit d’une photo :

sc6.png

J’ai fait développé des photos modifiées de cette facon par un laboratoire photo, et le résultat est impeccable, c’est bien pratique d’avoir ces informations sur les photos de facon très discrète.

C’est bien pratique !

Mise à jour du 8 Septembre : améliorations des fonctionnalités :

Maintenant le script peut faire plusieurs petites choses :

  • Insérer la Date et l’heure de la prise de vue
  • Insérer un texte personnalisé (avec options de date ou date et heure)
  • Insérer un cadre epais ou cadre fin

sc7.png

Note pour l’insertion d’un texte personnalisé en plus de la date et heure il suffit de mettre les codes suivants :

  • %d = Date seule
  • %D = Date et heure

Par exemple : Eté 2007 - %D

sc8.png

Donnera ceci au final (gros zoom sur le tag) :

sc8-bis.png

Bien sur d’autres fonctionnailités sont possibles suivant l’imagination. Si vous avez des idées…

vendredi, juillet 6 2007

Gravatar de adminWebrick : un petit serveur http tres simple en ruby via Yann Hamon

J’ai toujours aimé programmer et j’aime toujours programmer… En ce moment je suis dans une phase de programmation en ruby. Ce langage est vraiment sympa, de plus un ensemble de scripts (framework) basé sur ce langage est vraiment à la mode en ce moment pour les applications web : Ruby On rails . Cependant je ne vais pas parler ici de ruby on rails mais plutôt monter comment se créer un petit serveur WEB à soi sans grande configuration comme le nécessite Apache. Bien sur l’utilisation ne sera pas la même et ne supportera pas une trop grande charge. A noter que Webrick fait partie intégrante de rub On rails pour tester une application WEB.

Sur Linux, il existe une librairie en Ruby toute prête pour faire un serveur HTTP : webrick

Webrick est donc une librairie ruby pour programmer des serveurs HTTP (serveurs web). C’est très simple d’installation , il faut les paquets suivants :

  • Ruby : le langage lui-lême
  • libwebrick-ruby : La librairie

Les sites sur lequels j’ai trouve l’information sont les suivants :

Je passe sur l’installation rapidement, sur ubuntu vous utilisez synaptic ou bien la ligne de commande : sudo apt-get install ruby libwebrick-ruby

Et maintenant ca se passe comment ? Très simple, il suffit d’écrire un petit fichier texte. Bien sur , il va sans dire qu’il faut connaitre un peu le ruby, le html et des connaissances en programmation.

Voici un premier exemple de serveur web dans le fichier : mon_serveur.rb



#!/usr/bin/ruby
require ‘webrick’
include WEBrick

class AccueilServlet < HTTPServlet::AbstractServlet
def do_GET(req, res)
res.body = “<html><body>Bonjour David !</body></html>”
res[’Content-Type’] = “text/html”
end
end

# ———————————————–
# Demarrage et configuration du serveur
# ———————————————–
s = HTTPServer.new( :Port => 2000 )
s.mount(”/”, AccueilServlet)
trap(”INT”){ s.shutdown }
s.start

Explication :

  • En rouge : Indication du langage et inclusion de la librarie webrick
  • En bleu : La page d’accueil
  • En orange : le démarrage du serveur

Pour démarrer le serveur , tout d’abord il faut autoriser l’exécution du fichier avec la commande : chmod u+x mon_serveur.rb et ensuite lancer le script : ./mon_serveur.rb. A ce moment, des messages apparaissent indiquant que le serveur s’est bien lancé :

[2007-07-05 22:46:06] INFO WEBrick 1.3.1
[2007-07-05 22:46:06] INFO ruby 1.8.5 (2006-08-25) [i486-linux]
[2007-07-05 22:46:11] INFO WEBrick::HTTPServer#start: pid=4755 port=2000

Le port du serveur à utiliser est 2000 (ceci a été configuré sur la première ligne en orange). Donc maintenant pour avoir la page web, il suffit de lancer votre navigateur et de pointer sur : http://localhost:2000 . Et à ce moment Bonjour David! Apparait. Et voilà c’est simple non ?

Informations :

1.) Si par exemple maintenant, on veut pointer vers une adresse du type : http://localhost:2000/rebonjour , comment faut-il faire ? En fait ici c’est là définition d’une nouvelle page. Ceci se fait avec la commande mount de la même manière que /. On ecrira donc :

s.mount(”/rebonjour”,RebonjourServlet)

Et dans RebonjourServelet on écrira la page ou on fera appel à un fichier HTML pur par exemple.

2.) Comment faire pour récupérer des informations de formulaires ? Très simple aussi. Imaginons un formulaire avec le champ suivant : texte1. Celui ci est défini avec la formule html : input type=”text” name=”text1″. Pour récupérer sa valeur après la soumission du formulaire, il suffit de définir une variable per exemple : montexte1 = req.query[’text1′]

Par exemple :

class Texte1Servlet < HTTPServlet::AbstractServlet
def do_POST(req, res)
if req.query[’texte1′] == ’salut’
message = ‘coucou’
else
message = ‘bonjour’
end
res.body = message
res[’Content-Type’] = “text/html”
end
end

Voilà une autre vue de serveur WEB en un autre langage que le commun et populaire PHP. Il y a aussi le langage python et karrigell que j’avais détaillé aussi il y a quelques temps. C’est sympa de découvrir d’autres possibilités que apache + php….

dimanche, avril 8 2007

Gravatar de SplitschRendre amsn 0.97RC1 beau, automatiquement, via l’anti-aliasing (mise à jour) via Splitsch

logo d'amsn

[mise à jour du 8 avril]

Nouveau script, avec de nouveau paramètres (regardez le code) et une nouvelles traduction. Celle-ci ne s’attache qu’à la partie “impression à l’écran” et non pas aux commentaires du développeur!)

[/mise à jour]

Bonjour à tous!

Vous connaissez tous Amsn, le logiciel de messagerie instantanée qui utilise le protocole d’MSN. Il est performant, multi-plateforme, libre…mais la version sous linux est trèèèèèès moche! Malgré les skins, l’écriture et le rendu restent, selon moi, dépassés et font trop “archaïque”.

Pour le rendre plus beau, diverses méthodes sont proposées sur le wiki d’ubuntu-fr, mais semblent ardue pour le novice. Ce temps est désormais révolu: j’ai trouvé un petit script bien sympa, sur http://www.ubuntuforums.org.

Il s’agit d’un script qui “désaliase” amsn, automatiquement: “it just works” :p

Voici un petit screenshot, pour donner l’eau à la bouche:
Free Image Hosting at www.ImageShack.us

Pour arriver à ce résultat, il faut télécharger et exécuter le script que voici:
http://www.pastanque.be/splitsch;/fichiers/beau_amsn.sh;beau_amsn.sh;
La version originale de ce script, en anglais, est disponible ici:

amsn désaliasé

La version que je vous propose a été testée, traduite et modifiée par moi-même. (Notez que je n’ai pas gardé la longue explication présente dans le script original).

[Mise à jour du 2 juin 2007: installez aMSN 0.97RC1]

Bishop a modifié ce script pour installer la version 0.97RC1 de aMSN (encore merci à lui:))

Vous trouverez ce script à cette adresse:
http://www.pastanque.be/splitsch;/fichiers/beau_amsn.sh;beau_amsn.sh;

L’installation est exactement la même !

Veuillez donner vos retours d’expérience à cette adresse.

[/edition]

Pour exécuter le script, une fois téléchargé, faites, en console
bash beau_msn.sh

Vous devrez rentrer votre mot de passe sudo, et ensuite, le script s’active pendant environ 5 minutes. De nombreuses lignes seront écrites, ce n’est pas grave. Au terme de l’opération, amsn est installé et anti-aliasé (=désaliasé) :)

Il ne vous reste alors plus qu’à installer le skin “Amsn live!” disponible ici:

http://www.amsn-project.net/skins.php#26.

Téléchargez-le, décompressez-le et placez-le ici:

~/.amsn/skins

Et voila le travail: vous disposez maintenant d’un amsn désaliasé…beaucoup plus beau, quoi! :)

ps: je précise et souligne encore une fois que le travail initial est fait par Vuen (que je remercie). Je n’ai fait que traduire, essayé et (très légèrement) modifié le script initial.

N’hésitez pas à poster un feedback…on ne sait jamais que j’ai laissé des fautes d’orthographe, ou des fautes de frappes, rendant le script inutilisable.

[Licence du script] Ce script a été originellement distribué sous la licence Creative Commons Attribution 2.5. Elle est redistribuée sous cette même licence.[/licence]