Midilibre.fr
Tous les blogs | Alerter le modérateur| Envoyer à un ami | Créer un Blog

23/10/2009

[rails] - Un hello world en ruby on rails

rails.jpeg

Ruby on rails est un framework intéressant mais la documentation pour le débutant est délicate à trouver, et encore plus en français j'ai donc décidé de faire quelques billets sur ce framework. Pour ceux qui se demande se qu'est Ruby on Rails je les renvois a l'excellent wikipedia.

Nous allons voir le plus simple des exemples que l'on puisse creér en RoR : un petit programme qui va nous dire soit bonjour soit aurevoir.

Placer vous en ligne de commande et tapez :

rails bonjour_monde -d mysql
le denier argument est bien entendu à modifier si vous utiliser un autre type de base de donnée (sqlite3...)

Nous allons ensuite rentrer dans le répertoire que vient de nous créer rails, ne tenez pas compte du nombre de fichier. C'est un peu affolant au début mais ce que vous devez retenir pour aujourd'hui c'est qu'il à généré d'un coté les éléments de type code (ce que nous allons voir dans app/controllers) et les répertoires de vue qui seront ce que va nous afficher le navigateur (app/view).

cd bonjour_monde

modifiez ensuite config/database.yml en fonction de sa base de données MySql (attention sur mon poste localhost ne fonctionne pas il m'a fallut mettre 127.0.0.1. Autre point délicat respecter les espaces aprés les :

Créons la base de données :

rake db:create

voyons si tout fonctionne en lançant :

script/server

Avec votre navigateur connectez vous sur localhost:3000, vous devriez avoir ceci :

rails_c.jpg

C'est la page d'accueil qui nous indique que notre serveur fonctionne bien, et qu'il n'y a pour l'instant rien de configurer.
Nous allons créer notre premier controller pour afficher un message.

script/generate controller message

Dans le dossier app/controllers vous avez maintenant un nouveau fichier avec uniquement cette entrée :

class MessageController < ApplicationController
end


Comme nous voulons afficher un bonjour, nous allons définir une action bonjour et aurevoir, et envoyer une variable à la vue, modifier comme suis :

class MessageController < ApplicationController
def bonjour
@contenu = 'Bonjour le monde'

end
def aurevoir
@contenu = 'Au revoir le monde'
end

end


Il faut maintenant modifier la vue en créant app/view/layouts/application.html.erb qui est globalement le template de notre application, tout ce qui va émaner des actions (ici bonjour et aurevoir) passera dans le yield :

Que va tu nous dire ?:<br/>
<%= yield %>


Créons ensuite les fichiers lié aux actions, comme dans RoR tout est convention, il suffit de créer un fichier du nom de notre action : app/view/message/bonjour.html.erb et app/view/message/aurevoir.html.erb

<%= @contenu %>

Lancer votre navigateur sur http://localhost:3000/message/bonjour et sur http://localhost:3000/message/aurevoir, la magie opére. Nous allons rajouter un menu afin de naviguer dans ces actions controller Message :

<%= render :partial => 'menu' %>

on pourrait mettre deux fois la meme chose mais on va faire un systéme d'include : un rendu d'un partiel (un block). Placer le code ci dessous dans bonjour.html.erb et aurevoir.html.erb. Puis créez un fichier app/view/message/_menu.html.erb (tout partiel commence par un _, la convention RoR saura qu'il faut allez chercher le partiel dans ce fichier) et placez y :

<br/>
<%= link_to 'Je dis bonjour', :controller => "salutation/bonjour" %>
<%= link_to 'Je dis au revoir', :controller => "salutation/aurevoir" %>

le link_to nous permet de créer automatiquement des a href (html) avec son contenu et le lien vers un controller.

Dans message controller nous allons rajouter une action par défaut sur l'index
(de manière a appeller uniquement http://localhost:3000/message) :
def index
@contenu = 'Faites votre choix'
end


il nous faut donc maintenant créer une vue dans app/view/message/index.html.erb, procédez comme ci dessus plaçant le code :

<%= @contenu %>

Enfin nous voulons rajouter un retour à l'accueil / dans le _menu.html.erb des vues il suffit d'ajouter ce lien qui appelle l'action index du controller message :
<%= link_to 'Acceuil', :controller => "message/index" %>

Amusez vous à passer des variables, créer des partiel, et à modifier le fichier app/view/layout/application.html.erb pour améliorer cet exemple. Nous verrons la prochainne fois comment interagir avec une base de données.

15/10/2009

[axel] - Un wget vitaminé !

rejon_Network_Node_Cloud_Swarm.pngJe viens de découvrir un petit outil en ligne de commande trés sympathique, Axel :il accélere les transferts HTTP et FTP, en utilisant plusieurs connexion pour un seul fichier. Il est surtout possible de cumuler plusieurs miroirs et ainsi avoir une vitesse de téléchargement d'un ISO constant et au maximum de votre connexion. Autre particularité, le flux est stocké directement dans le fichier sans passer par un fichier temporaire (sortez vos MD5 tout de même).
Le principe de fonctionnement est simple : on passe un seul et unique argument le fichier que vous souhaitez télécharger. Si vous souhaitez utiliser plusieurs miroir vous pouvez lui passer plusieurs URL. Dans le cas ou vous ne connaîtriez pas de miroir pour votre fichier, pour pouvez utiliser l'option --search qui utilisera alors le moteur filesearching.com, vous pouvez même affiner en indiquant le nombre maximum de miroir a utiliser.

Et pour couronner le tout l'outil est léger et n'a pas de dépendance. Attention cependant : l'outil n'a pas de fonction résume.

13/10/2009

[PDF] - Imprimer 4 pages identiques dans un PDF

Anonymous_Scissors_2.pngJ'ai sur un portable la LTS 8.04 d'ubuntu, pour diverses raisons je ne souhaite pas le migrer tant que la prochaine LTS ne sera pas sortie. J'utilise donc certaines versions de logiciels qui sont un peu ancienne. Par contre j'ai voulu utiliser ce portable lorsque j'étais en déplacement pour faire PDF avec une mise en page issu de inkscape et ensuite faire un flyer réparti en 4 par page avec ce même PDF. Récit de mon petit parcours.

Tout d'abord j'ai crée mon document sous inkscape, une fois satisfait j'ai voulu imprimer le fichier en PDF avec l'option Fichier -> Imprimer et en utilisant la fonction PDF. Allez savoir pourquoi Inkscape m'a généré deux pages, une avec le document en question et l'autre une vide. J'ai donc sorti mon pdftk (paquet pdftk) :

pdftk source.pdf cat 1 output original.pdf

J'avais donc maintenant mon document avec uniquement la premiére page, restait donc a imprimer cette page en 4 fois sur une même page. Seul soucis c'est qu'il faut un document de 4 pages pour pouvoir remplir la page. J'ai donc encore une fois utilisé pdftk :

pdftk original.pdf original.pdf original.pdf original.pdf  output resultat_avec_4_pages.pdf

On prends 4 fois le fichier d'origine pour crée un document de 4 pages avec 4 fois le même document. Restait donc mettre le tout sur la même page et ce grace à pdfnup (dispnible dans le paquet pdfjam)

pdfnup resultat_avec_4_pages.pdf --nup 2x2 --outfile document_final.pdf

Note : le soucis d'impression de la page blanche a été résolu sur les versions ultérieur de inkscape.

10/10/2009

[vsftpd] - Monter son serveur ftp

Anonymous_Network.pngVsftpd est un serveur ftp, concu dans un but de sécurité, stabilité et de performance. Ce n'est pas pour rien que les serveurs ftp de freebsd, redhat openbsd ou suse l'utilise...  Il offre de nombreuses possibilités. Nous allons voir comment monter une configuration de base dans le cadre d'un réseau interne par exemple.

Installer le paquet Vsftpd

Vous pouvez dés à présent tester la validité du serveur en faisant un ftp localhost. Par défaut trés peu d'options sont disponible, en effet il n'est possible de se connecter qu'en anonyme, les accés sont en lecture seule. Nous allons voir comment régler tout ceci. Le fichier de configuration se trouve dans /etc/vsftpd.conf

En ouvrant le fichier on se rends compte que le tout est bougrement bien documenté. Et pour connaitre toutes les options disponible un man vsftpd.conf permet de voir le descriptif complet des options et leur signification. Du trés bon travail de documentation.

Donc pour notre serveur maison, nous allons interdire l'accés anonyme en mettant NO sur anonymous_enable. Nous voulons autoriser nos utilisateurs locaux à se connecter à leur compte, on décommente la ligne local_enable=YES et comme nous voulons permettre l'upload et donc l'écriture on décommente également write_enable=YES

et afin de ne pas permettre à tout les utilisateurs du poste de naviguer sur tout le systéme, nous réglons la variable chroot_local_user=YES

Enfin on redémarre le serveur en root avec /etc/init.d/vsftpd restart

Vous pouvez vous connecter avec les comptes disponible sur la machine. Il est également possible de régler des utilisateurs virtuels, de changer le port, et surtout de mettre en place SSL pour sécurisé le tout. Ce serveur est bien pensé, bien construit, bien documenté, stable fiable... et également trés simple à mettre en oeuvre. un must !

08/10/2009

[alpine] - Configurer plusieurs comptes IMAP (gmail)

alpine.jpgCela faisait un moment que je voulais passer à Mutt ou Alpine, et bien c'est chose faite. Je suis arrivé à migrer tout mes comptes de messagerie sur alpine, me voila CLI jusqu'au bout des ongles

. La seule chose qui m'a posé problème est la configuration des multiples profils, de manière a répondre avec le bon mail, et la configuration de la réception de mes deux comptes IMAP chez gmail. C'est pourquoi je résume ici mon installation, si cela peut servir à d'autres.

La première étape est la configuration de la réception de plusieurs comptes :

Allez dans Main -> Setup -> collection Lists -> Add (soit les touches MSLA)

Nickname : le nom de la boite
Server : imap.gmail.com/ssl/user=monmail@gmail.com

Ctrl + x pour sauvegarder

Add (la touche A) pour ajouter un boite, refaite autant de fois l'option que nécéssaire

Il nous faut maintenant définir les différentes identités associées à chacun des comptes :

Choisir Main -> Setup -> Rules et R (pour les rôles)
Chosir une Nickname (surnom) de votre choix
Dans Current folder Type, prendre specific, et dans l'option folder list en dessous appuyez sur CTRL+T pour choisir un dossier à partir duquel l'identité prendra la main (en général INBOX) la navigation dans les dossiers se fait avec < et >.

et dans Actions Begin Here, changer le champs avec votre mail : From (par ex : mon nom <monmail@mail.com>

Puis réglez le SMTP comme suit :

smtp.gmail.com:587/tls/user=username@gmail.com

Puis sélectionnez "compose use" -> With confirmation Ainsi alpine vous posera la question si vous souhaitez utilisez tel ou tel identité.

Revenez au menu principal, dans Setup -> Config et  [Advanced User Preferences] mettez Pruning Rule sur don’t rename, don’t delete

Astuce : pour trouvez rapidement une option, vous pouvez utilisez la touche W qui fera une recherche de mot clef.

Tri des dossiers :
Main -> Setup -> Config
sort key -> reverse Arrival

Cacher les Répertoires vide :
Main -> Setup -> Config -> Folder Preferences.
Hide empty directories

Ouvrir les liens avec Firefox :

Il faut ajouter plusieurs commandes dans URL-Viewers avec A

/usr/bin/firefox
"/usr/bin/firefox -remote 'openURL(_URL_,new-tab)'"
"/usr/bin/firefox _URL_ &"

Ainsi cela ouvre un nouvel onglet si firefox est ouvert, sinon il se lance en autonome

Mettez un peu de Couleur dans Alpine :

Main -> Setup -> Kolor -> use-termdef
et plus bas il est possible de définir ses propres couleurs

Déplacer des mails dans un autre dossier :

dans un message Save (touche S) et CTRL+T pour choisir le dossier de destination (la navigation dans les dossiers se fait toujours avec < et >)
autre méthode : Save et CTRL + N (pour chosir l'identité) et on peut taper directement le nom du dossier, les futurs sauvegarde se feront via CTRL + n et la flêche du haut

Vérifier les mails toutes les X minutes :
Main -> Setup -> Config ->  Mail Check Interval
ou pour récupérer manuellement : eXpunge avec la touche X

Alpine arrête de me demander si je veut partir :

Pas encore trouvé le moyen de lui faire comprendre ça... si quelqu'un à la solution, je suis preneur.

Prochaine étape, la configuration des signatures, l'intégration de pico & pilot,  il faut que je cherche comment se rendre plus rapidement dans les dossiers (en général on va dans INBOX, actuellement il faut que je fasse Folder list, que je choisisse le répertoire, puis INBOX) et surtout l'utilisation de la fonction configuration distante.

06/10/2009

XDG Base Directory Specification - French - Traduction Française

67-t256.pngVoici ma traduction de la spécification sur les répertoires de base de Freedesktop.org. Le but de ces spécifications n'est pas de standardiser les interfaces, mais d'harmoniser les échanges entre les différents environnement. Comme les procédures de copier/coller, raccourcis clavier..... tout est défini de manière à avoir une unification et des codes communs : une harmonisation de l'infrastructure. De nombreux programmes utilisent ces spécifications, gnome, kde, X.Org, mais également telepathy, gstreamer, .... Ci dessous la traduction de la partie sur les répertoires de base.

Version : 0.6
Source : http://standards.freedesktop.org/basedir-spec/latest/inde...
Auteur : Waldo Bastian
Traduction : Stéphane de la Linuxerie


Introduction

Plusieurs spécifications portent sur les fichiers et les formats de fichiers. Cette spécification précise où doivent se trouver ces fichiers en définissant un ou plusieurs répertoires référents où les fichiers devraient se trouver.

Les bases

La spécification XDG Base Directory Specification est basé sur les concepts suivants:

- Un seul répertoire relatif aux informations propre à l' utilisateur doit contenir ces fichiers. Il est défini par la variable  d'environnement  $XDG_DATA_HOME.

- Un seul répertoire pour les fichiers de configuration. Ce répertoire est défini par la variable  d'environnement  $XDG_CONFIG_HOME.

- Une liste de répertoire classé par ordre de préférence pour indiquer ou les fichiers de données doivent être cherché. Cette liste est définie par la variable   d'environnement  $XDG_DATA_DIRS.

- Une liste de répertoire classé par ordre de préférence pour indiquer ou les fichiers de configuration doivent être cherché. Cette liste est définie par la variable  d'environnement   $XDG_CONFIG_DIRS.

- Un seul répertoire pour indiquer l'endroit ou doivent se  trouver les informations non essentiel (caché) propre à l'utilisateur. Ce répertoire est défini par la variable d'environnement  $XDG_CACHE_HOME.

Les variables d'environnement

$XDG_DATA_HOME défini le répertoire où les fichiers de données de l'utilisateur doivent être stockés. Si cette variable est vide ou non rempli, un  répertoire par défaut équivalent à  $HOME/.local/share devra être utilisé.

$XDG_CONFIG_HOME défini le répertoire ou doivent se trouver les fichiers de configurations de l'utilisateur. Si cette variable est vide ou non rempli, un  répertoire équivalent à $HOME/.config devra être utilisé.

$XDG_DATA_DIRS défini une liste, par ordre de préférence, des répertoires qui peuvent contenir les fichiers de données de l'utilisateur en plus du répertoire $XDG_DATA_HOME. Les répertoires de cette variable doivent être séparé par deux points ":". Si cette variable est vide ou non rempli, une valeur égale à  /usr/local/share/:/usr/share/ devra être utilisé

$XDG_CONFIG_DIRS défini une liste, par ordre de préférence, des répertoires  qui peuvent contenir les fichiers de données de l'utilisateur en plus du répertoire $XDG_CONFIG_HOME. Les répertoires de cette variable doivent être séparé par deux points ":". Si cette variable est vide ou non rempli, une valeur égale à /etc/xdg devra être utilisé

L'ordre des répertoire reflète leur importance : le premier est le plus important. Quand la même information est définie dans plusieurs endroits, c'est la définition du répertoire le plus important qui prime. Le répertoire défini par $XDG_DATA_HOME est le plus important des répertoires définis dans $XDG_DATA_DIRS. Le répertoire défini par $XDG_CONFIG_HOME est le plus important des répertoires définis dans $XDG_CONFIG_DIRS..

$XDG_CACHE_HOME défini le répertoire ou doivent se trouver les fichiers de données non essentiel de l'utilisateur. Si cette variable est vide ou non rempli, un  répertoire équivalent à $HOME/.cache devra être utilisé.

Référencement de cette spécification

D'autres spécifications peuvent référencer cette spécification en spécifiant l'endroit d'un fichier de donnée comme $XDG_DATA_DIRS/repertoire/fichier

Ce qui implique :

- Un tel fichier devra être installé dans $datadir/repertoire/fichier avec /usr/share par défaut pour $datadir

- Une version spécifique de l'utilisateur d'un fichier de donnée peut être crée dans $XDG_DATA_HOME/repertoire/fichier en prenant les valeurs par défaut si $XDG_DATA_HOME n'est pas défini.

- Les recherches de fichiers de données devront se faire dans ./repertoire/fichier sur tout les répertoires indiqués dans $XDG_DATA_HOME et $XDG_DATA_DIRS. Si une des variables n'est pas rempli ou est vide, les variables par défaut comme défini par cette spécification pourront être utilisées.

D'autres spécifications peuvent référencer cette spécification en spécifiant l'endroit d'un fichier de donnée comme $XDG_CONFIG_DIRS/repertoire/fichier

Ce qui implique :

- Un tel fichier devra être installé dans $sysconfdir/repertoire/fichier avec /etc par défaut pour $sysconfdir

- Une version spécifique de l'utilisateur d'un fichier de donnée peut être crée dans $XDG_CONFIG_HOME/repertoire/fichier en prenant les valeurs par défaut si $XDG_CONFIG_HOME n'est pas défini.

- Les recherches de fichiers de données devront se faire dans ./repertoire/fichier sur tout les répertoires indiqués dans $XDG_CONFIG_HOME et $XDG_CONFIG_DIRS. Si une des variables n'est pas rempli ou est vide, les variables par défaut comme défini par cette spécification pourront être utilisées.

Dans le cas ou, lorsque l'on essaie d'écriture un fichier, le répertoire de destination n'existe pas, il devra être prévu une tentative de création avec les permissions à 0700. Si le répertoire existe les permissions ne doivent pas être changé. L'application doit tenir compte du fait que le fichier puisse ne pas être écrit, soit parce que le répertoire n'existe pas et ne peut être crée, soit pour tout autres raisons. Dans un tel cas, l'application pourra présenter un message d'erreur à l'utilisateur.

Dans le cas ou, lorsque l'on essaie de lire un fichier, pour n'importe quelle raison il n'est pas accéssible (par ex: lorsque le répertoire n'existe pas, le fichier n'existe pas ou l'utilisateur n'est pas autorisé à ouvrir le fichier) Alors le traitement de ce fichier devra être passé. Si le fichier n'est absolument pas accessible l'application pourra présenter un message d'erreur à l'utilisateur.

Une spécification qui se référe à  $XDG_DATA_DIRS ou $XDG_CONFIG_DIRS devra définir le comportement quand un fichier est trouvé dans plusieurs répertoires. Elle pourra, par exemple, définir que seul le fichier dans le plus important des répertoires soit utilisé, ou, autre exemple, elle pourra définir une fusion des informations issues des différents fichiers.

02/10/2009

[alchemy] - Du croquis à l'art expérimental

logo.pngLorsque l'on commence une création, quel soit 2d ou 3d on à souvent besoin de faire des croquis (des grabouilles j'allais dire). Qui n'a jamais par exemple fait quelques grigri sur un bout de post-it ? Et parfois émergeant de ces dessins aléatoires, une idée. C'est en gros ce que vous propose Alchemy, il se place à la fois comme aide au travail préparatoire mais en même temps comme nouvelle approche à un travail graphique, d'ou une insistance sur l'expérimentation, comme le dessin à base de son. Vous trouverez le logiciel sous licence GNU/GPL ici : http://al.chemy.org/download/

Il existe deux modes, le simple qui fixe une barre d'outil sur la gauche, et un mode standard non intrusif, qui apporte une barre qui descend lorsque l'on monte tout en haut de l'espace occupé par le logiciel.

alchemy2.png

Voyons en détail toutes les options présente (de gauche à droite et de haut en bas) :

Le zigzag (shapes): c'est le crayon standard soit vous faite des formes libres, soit des lignes droites
Le Micro (Mic shapes) : permet d'obtenir des images en fonction du son provenant de votre micro
La course (Speed shapes) : déplace le trait au delà de la position de votre souris, la vélocité de la souris augmente l'éloignement du trait
La boite (Pull shapes) : permet de placer des formes (des brosses) sur le dessin
le trait (scrawl shapes) : trace des traits aléatoires en suivant le déplacement de votre souris
la croix (X shapes) : permet de dessiner des formes droites ou douce selon la vélocité de la souris
les 3 traits (Median shapes) : dessine une ligne intermédiaire entre la derniére ligne et la ligne courante
les chevrons (pressure shapes) : permet de tracer un trait en simulant un effet de pression
la fleche (Inverse shape) : trace un trait sans pression du bouton, le clic maintenu permet de ne plus dessiner
le métronome (Type shapes) : prends une police de caractère au hasard et déforme le caractére
La colline (Trace shapes) : prends une image au hasard sur flicker et trace des traits selon les formes
La petite croix (Detach form) : permet de détacher le trait de l'emplacement de la souris

Chacune des ces options est bien entendu configurable. En globalité il est possible de définir la couleur, la transparence, l'épaisseur de ligne, ...

Mais surtout on peut gréffer sur chacun des ces outils des modules pour filtrer le tracé. Ainsi on retrouve :

Displace : change la géomtrie d'une forme en fonction du mouvement.
Gradient : permet d'affecter automatiquement un dégradé au tracé
Mirror : trace en miroir
Blindness : trace en aveugle, et ne vous montre le résultat qu'une fois le bouton relaché.
Random : modifie et change les formes (même celle existante)
Mic expand : utilise le micro pour déformer
Repeat : répete les formes tracé
Colour switcher : permet de changer de manière aléatoire les couleurs

Voici par exemple une de mes dernières utilisations d'alchemy pour un logo. Lorsque le croquis à été terminé je l'ai importé dans inkscape pour  le travailler comme calque de référence.

alchemy.png

Une fois la prise en main (rapide) du logiciel, on arrive facilement à des résultats étonnants, c'est un véritable support pour la création. Seul point négatif : le changement de couleur n'est pas évident.

Vous pouvez vous en servir pour créer vos tests de Rorschach également, reste à trouver un cobaye. Car on peut bien sur obtenir des résultats beaucoup plus expérimentaux :

Alchemy3.jpg

29/09/2009

[specto] - L'outil qui vous averti !

johnny_automatic_telescope.pngJe cherchais, pour un utilisateur sous gnome, un outil qui avertisse en cas de changement d'une page web (sans flux RSS bien sur). Je suis tombé sur plus intéressant encore : Specto

Un petit outil qui ne paie pas de mine, mais qui offre un nombre de possibilité assez incroyable. Il permet de placer des capteurs sur vos fichiers, répertoires, ftp, processus, page web, compte pop, imap, gmail, facebook.... Par exemple vous souhaitez contrôler un répertoire partagé sur un réseau toute les 10 minutes, dés qu'un autre utilisateur place un fichier ou le modifie, vous aurez un pop-up intégré dans votre Gnome qui vous avertira du changement. Il est même possible de lancer un commande lorsque le capteur a changé ou lorsqu'il est ouvert.

Specto à été conçu avec un idée d'intégration compléte à l'environnement de travail, il respecte donc les spécifications FreeDesktop, et la philosophie Gnome. Le tout à été écrit en Python.

specto.png

Sous ces abords simple, specto rends de grands services, et fait gagner du temps. Pour reprendre l'adage du logiciel: placer un capteur, oubliez le et soyez averti. Cela résume parfaitement Specto.

25/09/2009

[yeahconsole] - Un dropdown console léger

1168255408.jpgVous connaissez tous Tilda, Guake ou Yakuake, ces outils font apparaitre une console comme dans le jeu Quake. On ne présente plus ces outils, ils ont un intêret tout particulier : avoir toujours sous la main une console à disposition. Seulement voila, toujours en quête de l'outil le plus léger et le plus simple d'emploi, ces outils ne me convenaient pas (et encore moins sous mon wmii). Donc j'ai donné sa chance à yeahconsole (disponible dans les dépots). J'ai donc installé le paquet, ai rajouté un lancement automatique dans mon wmiirc. Et voila !

L'outil se lance avec CTRL + ALT + Y et s'efface lorsqu'il perds le focus ou que l'on appuie de nouveau sur ces touches. On peut également contrôler la hauteur du terminal en appuyant sur CTRL et la touche + ou - du pavé numérique. Également une option bien utile est le fait de pouvoir passer en plein écran avec ALT+F11. Il est possible de régler tout un tas de paramétres par défauts dans son .Xdefaults et notament le terminal que vous souhaitez utiliser (pour moi cela sera urxvt). Cela se fait simplement en plaçant le terme yeahconsole suivi d'une étoile (*) et l'option avec sa variable.

Ainsi si on veut changer la hauteur du terminal par défaut, il faut indiquer : yeahconsole*consoleHeight: 20

Pour avoir une liste des options il sufit de faire un man yeahconsole, tout est trés bien documenté. Opération minimalisme réussi et le tout dans 11k d'archive.

24/09/2009

[gnome] - Sortie de Gnome 2.28 et vue sur Gnome Shell

gnome-logo.thumbnail.jpgMême si je reste fidèle à wmii, je suis toujours avec attention l'évolution des autres bureaux, ne serais-ce parce que mes autres utilisateurs n'utilise pas (encore ..) Wmii. Et voila qu'hier sortait Gnome 2.28 une des dernières étapes avant la sortie de Gnome 3. Alors quoi de neuf pour cette version ? tout d'abord le changement le plus notable est l'intégration de GNOME bluetooth, qui permet la gestion des périphériques bluetooth (souris, claviers...) les éléments audio ne sont pas oublié également puisque ce module s'intégre avec Pulseaudio.

Hamster pour la gestion du temps se voit intégré par défaut, et Empathy intégre maintenant le plein écran pour les discussion audio/vidéo, la géolocalisation avec Geoclue et Cheese à été mis à jour avec notamment l'intégration pour les écrans de netbook et enfin Evince supporte maintenant l'ajout et la modification d'annotations textuelles. Côté web, Epiphany bascule de Gecko à Webkit.

Tout ceci nous laisse augurer d'un trés bon cru, mais ce qui à attiré mon attention sur cette version est surtout la possibilité d'installer Gnome Shell, cette application devrait être offerte par défaut dans la version 3.

Gnome Shell, nouvelle pierre au dispositif de remodelage de nos bureaux vieillissant. Il s'agit en fait d'un nouvelle interface exploitant les bureaux multiples, en facilitant l'ajout d'espace de travail, l'accés a ses applications, documents préférés et donc fréquement utilisés.

Gnome Shell le Kickoff de Gnome ? En général la première chose qu'on me demande lorsque un utilisateur passe de kde3 à kde 4, c'est le retour au menu traditionnel de Kde. Kickoff à ses avantages, mais je comprends que son utilisation puisse poser problème, que ce soit en terme d'accéssibilité ou en terme de navigation. Ce gnome shell suivra t'il le même chemin ? Rien n'est moins sur car suivant le principe de Gnome qui est de garder les choses simple. Cela peut être une application intéressante.

Comment s'organise ce Gnome Shell ? Il s'agit d'un bouton "Activités" qui permettra de dérouler un menu séparé en deux : les applications préférés et les documents récement utilisés. Une prévisualisation des documents est possible lors du survol avec un aperçu qui vient se placer a droite.

Ce bouton activité ne déroule pas uniquement ce menu,  il occupe la totalité de l'écran, al partie  droite restante permet de visualiser les espaces de travail.Car en effet l'ajout/suppression d'espace de travail est également au menu, et surtout le fait de pouvoir déplacer les applications entre les bureaux. Il sera par exemple possible de chercher une application et de la déplacer sur le bureau de son choix.

Gnome shell intégre également une fonction de capture vidéo du bureau (via Control+Shift+Alt+R)

Mais ce n'est pas tout car cela sera aussi le lieu pour les notifications et la gestion des contacts. Le but avoué de ce gnome shell est le remplacement de certaines fonctions dont s'occupe actuellement le panel de Gnome.

Côté technique il s'agit d'un outil développé en Javascript, Clutter et  des librairies Gnome.

Pour finir une capture d'écran :

Screenshots?action=AttachFile&do=get&target=Gnome-shell2.png