Archive for the 'Programmation' Category

Un réducteur d’URL de plus …

Roozeec octobre 30th, 2009

Si vous êtes un adepte de twitter , vous utilisez surement un réducteur d’url qui vous permet de raccourcir une adresse web de facon conséquente et donc de ne pas remplir le buffer twitter limité à 140 caractères. Il y a une liste assez conséquente de ce genre de service sur internet. Par exemple, vous pouvez consulter un liste ici : http://e.roozeec.fr/tinylike. Si vous cliquez sur ce lien, vous tomberez sur la page http://www.logiste.be/blog/155-raccourcisseurs-durl-tinyurl-like/, c’est donc bien plus facile a communiquer sur twitter ou encore par mail ou autre.

Donc vous l’avez bien compris, j’ai aussi pour ma part ajouté un réducteur d’URL sur Roozeec.fr. Je voulais voir comment çà fonctionnait et au final c’est pas très compliqué à mettre en place sur un serveur à partir du moment où on utilise des choses qui ont été développées par des contributeurs du libre. Car , je n’ose même pas imaginer partir de zéro pour en créer un … J’ai donc trouvé ici (http://e.roozeec.fr/osurls) toute un liste de scripts (en php majoritairement) qui permettent d’installer ceci sur votre serveur.

Mon choix s’est porté sur Yourls , un ensemble bien complet de scripts PHP avec un peu d’ajax , et après quelques traductions et personnalisations, on y arrive assez facilement à partir du moment où on connait un peu le HTML,CSS et PHP. Voici donc un nouveau venu E.ROOZEEC.FR . C’est sûr le nom n’est pas très court comparé à bit.ly … mais c’est un peu pour le fun et c’est fonctionnel en plus !

Un réducteur durl de plus ...

A vous donc les URL réduites !

Faire une clé USB de sauvegarde sous Linux

Roozeec avril 9th, 2008

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 !

tagphoto : script Nautilus pour mettre date et heure sur vos photos

Roozeec septembre 5th, 2007

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…

dvzeec-dvd version 1.0 disponible

Roozeec août 20th, 2007

Nouvelle version de dvzeec-dvd : 1.0

Au programme des corrections :

  • Les fichiers DV sont concaténés maintenant avant la conversion en MPEG. En effet, à la lecture du DVD, entre chaque scène un bruit désagréble et bref apparaissait.
  • Les chapitres lors de la lecture du DV sont de ce fait générés dans le fichier de DVDauthor, ce qui permet aussi d’éviter un plantage de DVDauthor si il y a trop de scènes pour une date.
  • Suppression de l’utilisation de transcode
  • Les fichiers d’images des menus sont pris à partir des fichiers Mpeg au lieu des fichiers DV
  • Correction de l’alignement des vignettes pour la couverture

dvzeec-dvd.png

Webrick : un petit serveur http tres simple en ruby

Roozeec juillet 6th, 2007

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….

Dvzeec-DVD aux Trophées du libre

Roozeec juin 20th, 2007

Mon petit programme DVZEEC-DVD a été accepté et est inscrit au trophées du libre (catégories jeux/multimédia) qui se déroulera à la fin de l’année.

  • Clôture des candidatures : 1er octobre 2007
  • Annonce des nominés :1er novembre 2007
  • Délibération et cérémonie de remise des prix : 29 novembre 2007

“Ce concours intéresse tout d’abord les projets libres, puisqu’au-delà des prix qu’ il leur permet de gagner, il leur apporte une notoriété aussi bien auprès de contributeurs potentiels que d’un grand public d’utilisateurs.
Car les Trophées du libre s’adressent également à un public très large d’utilisateurs, pour qui ce concours est un moyen privilégié de prendre conscience de la vitalité et de la qualité des logiciels libres, en découvrant les projets les plus prometteurs dans des domaines aussi variés que la sécurité, les logiciels scientifiques ou les jeux et le multimédia.”

Site officiel : Trophées du libre

J’avais déjà proposé mon autre programme de photos numériques l’année dernière.

On verra bien cette année ……

Ce qui manque à ce programme est une interface graphique inconstestablement, mais je ne suis pas un pros de la programmation des “GUI”. De plus, je n’ai pas beaucoup de retour des personnes l’ayant testé …. snif … :-(

Trophées du Libre

Next »

online pharmacy