Archives mensuelles : mars 2008

Prism et Ubuntu Hardy Heron 8.04

Vous avez peut être entendu parler de Prism de la fondation Mozilla. Prims permet de faire fonctionner des applications web sans l’utilisation d’un navigateur. Il permet ainsi de créer des lanceurs d’applications vers GMail, Facebook, Google Docs par exemple afin d’accéder facilement à vos sites web les plus utilisés. Prism est basé sur firefox mais sans les menus, barre de navigation, …

Vous pouvez créer une application Prism (raccourci vers un site web) via l’interface de gestion de Prism soit via une extension firefox qui permet de créer facilement des applications Prism depuis Firefox.

Depuis la béta d’Ubuntu Hardy Heron, il est possible d’installer directement, via le gestionnaire de paquets, 9 applications Prism :

  • prism-facebook
  • prism-google-analytics
  • prism-google-calendar
  • prism-google-docs
  • prism-google-groups
  • prism-google-mail
  • prism-google-reader
  • prism-google-talk
  • prism-twitter

Prism-Synaptic

Ainsi, ces applications seront disponible depuis le menu application dans rubrique adéquate (Bureautique pour Google Docs, Internet pour Gtalk, …).

Prism-Gdoc

Voici l’interface de Google Docs dans Prism :

Google Docs avec Prism

J’imagine que d’autres applications web vont être rajoutés au fur et à mesures. Quelles sont, pour vous, les applications web qui devraient être disponible via le gestionnaire de paquets ?

Mes Plugins Firefox

Voici une petite liste de mes plugins Firefox, mon navigateur favori.

Better Gmail 2 : Compilation de script greasemonkey pour Gmail afin de rajouter quelques fonctionnalités ou de modifier l’apparence de Gmail.

Customize Google : Permet de configurer et améliorer les services de Google (suppression des pub, …)

Gmail Manager : Notifieur de mail sur mon compte gmail. Permet de gérer plusieurs comptes.

gTranslate : Permet de traduire du texte facilement en le sélectionnan. Utilise le traducteur de Google.

CuteMenus : Rajoute des petites icônes dans les menus. Inutile mais indispensable. 😀

Download Statusbar : Barre de gestion améliorée des téléchargements.

FireBug : Un ensemble d’outils indispensable(Navigateur DOM, debugger javascript, console d’erreur CSS et javascript, .. ) pour tout développeur web qui se respecte.

Web developer : Barre d’outils du développeur Web. Permet d’éditer du CSS en live, de mettre en évidence certains éléments HTML,effacer les cookies, de visualiser les informations de la page, de redimensionner firefox à une résolution précise, de désactiver CSS, Javascript, Java, … Le compagnon idéal de Firebug.

Html Validator : Permet de valider le code HTML d’une page. Indique les erreurs et comment les résoudre.

ColorZilla : Permet de récupérer une couleur via une pipette, de zoomer sur la page, …

ForecastFox : Permet d’obtenir les prévisions météo pour une ville donnée.

Foxmarks Bookmark synchronizer : Permet de synchroniser les marques pages via un site internet afin de retrouver facilement vos marques marques n’importe où.

Foxytunes : Permet de gérer quantité de lecteur de musique directement depuis Firefox.

IE Tab : Permet d’ouvrir une page en utilisant IE dans un onglet Firefox. (Ne fonctionne pas sous Linux).

Adblock Plus : Permet via des filtres de supprimer les publicités sur les sites. Indispensable !!!

Linkification : Transforme une adresse internet sous format texte en lien cliquable.

SwitchProxy : Permet d’enregistrer les configurations proxy et de passer très facilement d’une configuration réseau à une autre. Pratique dans le cas d’un portable.

Tab Catalog : Permet de visualiser ses onglets sous forme de vignette et de choisir un nouvel onglet courant.
Voici quelques sites où trouver des extensions :

Et pour vous ?

PackageKit

Un point assez énervant dans Linux et les distributions (mais c’est ce qui fait également son charme et sa force) est que chaque distribution utilise ses propres outils/logiciels. Ainsi on peut être totalement perdu lors d’un changement de distribution.

C’est le cas avec les interfaces des gestionnaires de paquet :

  • Ubuntu avec gnome-app-manager et update-manager
  • Fedora avec pirut et pup
  • ….

C’est là qu’intervient PackageKit, qui se veut être une interface de gestion de paquet unique pour toutes les distributions Linux. Il se base sur les gestionnaire de paquet de bas niveau que sont apt, yum, conary… afin de pouvoir s’adapter à chaque distribution. Il proposera une interface pour gérer et installer vos paquets, gérer les dépôts logiciels, gérer les mises à jour automatiques. C’est un mix de toutes les interfaces de gestion afin de ne garder le meilleur. L’interface est développé en GTK+ (GNOME) mais une version QT(KDE) est en cours. Une utilisation en ligne de commande est également possible pour les accrocs du terminal.

Le projet est assez récent et est en cours de développement. On peut voir l’avancement du projet concernant chaque gestionnaire de paquets et apt n’est malheureusement pas encore très avancé.

Il sera inclus dans la prochaine version de Fedora, Fedora 9. Pas mal de distributions se sont dites intéressées par le projet dont Ubuntu, openSUSE, Mandriva, openSolaris…

Je pense personnellement qu’un peu d’uniformisation peut permettre à Linux de se démocratiser et facilité son adoption par le grand public.

Gnome Cheese

Gnome vient de passer en version 2.22. Celle ci apporte pas mal de nouveautés dont vous trouvez la liste ici.

Dans les nouveautés, on peut trouver un nouveau logiciel, Cheese.

Cheese est un logiciel qui s’apparente à Photo Booth d’Apple. Il vous permet de prendre des photos et d’enregistrer des vidéos à partir de votre Webcam. Il comporte également un palette d’effets applicables et cumulables sur vos photos ou vidéos (Noir/Blanc, Saturation, Hulk, Inversion verticale, Inversion horizontale, …). De plus il est très bien intégré a Gnome. On peut envoyer les photos/vidéos par mail, changer sa photo de compte utilisateur Gnome, les ouvrir avec F-Spot.

Je vous encourage à allez jetez un oeil sur les screenshots qui sont assez parlant.

Cheese est un projet très récent (2007) mais très prometteur dont le cycle de développement est rapide.

Concernant son utilisation sous Ubuntu, sous Gutsy, il faut activer le dépôt universe et installer le paquet cheese.

Sous hardy, le paquet ne devrait pas être installé par défaut mais disponible dans les dépôts.

Reste maintenant à améliorer le support des webcams …

C#, Replace, Javascript et quote

Il est courant de devoir appeler une fonction javascript contenant une quote. Il faut alors échapper cet apostrophe (quote) par un antislash.

alert('Vous êtes sur le Royto\'s Blog');

En asp.net, on peut lancer un script après le chargement d’une page via la méthode Page.ClientScript.RegisterStartupScript.

this.ClientScript.RegisterStartupScript(this.GetType(), ScriptName, »<script>alert(‘Vous êtes sur le Royto\’s Blog’);</script> »);

Mon problème était que je construit mon message d’erreur dynamiquement et je voulait remplacer tous les apostrophe (‘) de mon message par antislash apostrophe (/’).

Facile me dirait vous.

Il suffit de faire :

msg.Replace("'", "\'");//-> Vous êtes sur le Royto's Blog

mais cela ne fonctionne pas car est également le caractère d’échappement en C#.

Bon il suffit alors de faire

msg.Replace("'", "\\\'");//-> Vous êtes sur le Royto\'s Blog

mais cela ne fonctionne pas non plus.

L’astuce vient du fait d’utiliser x27 qui est le code hexadécimale de l’apostrophe. Cela donne donc :
this.ClientScript.RegisterStartupScript(this.GetType(), ScriptName,<script>alert(‘ » + msg.Replace(« ‘ », « \x27 »)+ « ‘);</script>);

Les fonctions utilitaires de Prototype

Je vous ai déjà parlé de la librairie prototype précédemment. J’avais évoqué les fonctions utilitaires de celle ci.

Examinons les de manières plus précises.

La fonction $()

C’est une fonction raccourcis de la fonction DOM document.getElementById(). Elle retournera l’élément dont vous lui avez passé l’ID en paramètre.

on remplacera donc

document.getElementById('foo');

par

$('foo');

Avouez que c’est quand même plus simple et plus rapide.

Mais ce n’est pas tout. La fonction $() accepte plusieurs IDs. Ainsi les éléments seront retournés dans un tableau.

var fooArray = $('foo1', 'foo2', 'foo3');

La fonction $$()

Cette fonction permet de récupérer des éléments via un sélecteur CSS

$$('#contents a[rel]');
// -> Récupère tous les liens avec un attribut rel contenus dans l'élément d'ID "

$$('a[href="#"]');
// -> Récupère tous les liens avec un attribut href valant  "#

$$('#navbar a', '#sidebar a');
// -> Récupère tous les liens contenus dans les éléments ayant pour ID "navbar" ou "sidebar"

La fonction $F()

La fonction $F() est un autre raccourci appréciable. Elle retourne la valeur de n’importe quel contrôle de saisie, tel que input type=’text’ ou select. La fonction accepte indifféremment en argument l’id de l’élément ou l’élément lui-même.

on remplacera donc

document.getElementById('name').value;

par

$F('name');

La fonction $w()

Elle permet de spliter un chaine en tableau avec comme séparateur l’espace.

$w('pommes bananes kiwis')
// -> ['pommes', 'bananes', 'kiwis']

La fonction $A()

Prototype définit une classe Array qui étend les tableaux javascript natifs avec d’autres méthodes. $A() permet d’instancier un Array eb lui passant en paramètre un tableau (un NodeList ou un HTMLCollection).

var paras = $A(document.getElementsByTagName('p'));

La fonction $R()

La fonction $R() est simplement un raccourci pour new ObjectRange(limitebasse,limitehaute, exclurelimites).

var indice = $R(10, 20, false);
// ->indice est un tableau d'entier de 10 à 20.

$R() accepte les numériques, texte ou tout autre type supporté sémantiquement par Range.

$A($R('aa', 'ah')).join(', ')
// -> 'aa, ab, ac, ad, ae, af, ag, ah'

La fonction $H()

C’est une fonction raccourcis de création de la classe Hash, qui peut être vue comme un tableau associatif.

var objetHash = $H(a);

La fonction Try.these()

Cette fonction accepte plusieurs fonctions en paramètre et les appelle l’une après l’autre dans l’ordre jusqu’à ce que l’une d’entre elles fonctionne, elle retourne alors le résultat de la fonction dont l’appel à été fructueux.

Cela peut être utile en AJAX par exemple pour initialiser un objet XMLHttpRequest, qui diffère selon le navigateur.

Try.these(
function() { return new XMLHttpRequest() },
function() { return new ActiveXObject('Msxml2.XMLHTTP') },
function() { return new ActiveXObject('Microsoft.XMLHTTP') }
)

Voila un petit tour d’horizon des fonctions utilitaires de Prototype, qui je l’espère vous convaincra de l’utilité de l’utilisation cette librairie javascript très puissante.

Un guide de passage de Microsoft Office à OpenOffice.org

Malgré la suprématie de la suite Office de Microsoft (Word, Excel, PowerPoint, …), OpenOffice.org, la suite bureautique alternative et libre, séduit un plus grand nombre de personnes. Mais les habitudes et réflexes liés à la suite Office sont parfois tenaces. Où se trouve ce menu? Comment faire cela ?

Ce sont à toutes ces questions qu’essayent de répondre Changer pour OpenOffice, Un guide de passage de Microsoft Office à OpenOffice.org.

Changer pour OpenOffice

Ce livre est disponible chez Framabook. Le projet Framabook vise à créer une collection de livres libres sur le logiciel libre (et son état d’esprit). Une collection que tout le monde pourrait reproduire, distribuer, communiquer, modifier et vendre librement. Une collection qui arriverait malgré tout à faire gagner un peu de sous à ses auteurs. Ces livres peuvent être téléchargés sur leur site aux formats PDF et OpenOffice Texte (ODT) ou au format LATEX ou bien encore achetés sous forme de livre au format 10×15 auprès de leur éditeur partenaire, InLibroVerita.

Vous pouvez soutenir le projet en achetant le livre au format papier, en faisant un don ou en en parlant autour de vous ! Un autre moyen de les aider est d’écrire et de publier un livre sur un logiciel libre afin de compléter la collection.

Actuellement, 4 ouvrages sont disponibles :

Et en plus, la qualité est au rendez-vous, alors n’hésitez plus !!!

Des Nouvelles d’Ubuntu Tweak

La version 0.2.7 d’Ubuntu Tweak devait être la dernière de la série des 0.2.x. Mais entre temps, une version 0.2.8 a vu le jour n’apportant rien d’exceptionnel (Traduction des documents modèles, quelques améliorations graphiques et corrections orthographiques, …).

Une nouvelle version 0.2.10 est en préparation (une erreur de gestion de version pour la 0.2.8 a utilisé le numéro de version 0.2.9). Celle ci proposera la gestion des « Power Scripts ». Cela ne vous dira rien, ceci étant une invention de TualatriX, l’auteur d’Ubuntu Tweak. Ce sont en fait des scripts nautilus (petit script en bash) améliorés afin de pouvoir voir l’état ou la progression d’un script par exemple. Une interface dans le même style que celle de la gestion des modèles de document sera incluse.

Les scripts seront ainsi accessible via un clic droit -> Scripts.

Pour l’instant, TualatriX n’a écrit que quelques scripts mais cette liste devrait rapidement grandir avec l’aide de la communauté ;).

Les scripts nautilus devraient fonctionner (à vérifier lors de la sortie de la version 0.2.10).

Pour ceux que les script nautilus intéressent, ce site en regroupe pas mal. 😀

Ubuntu Brainstorm

Après Dell, Ubuntu viens de lancer un site participatif d’idées : Ubuntu Brainstorm.

Le principe est de proposer des idées d’amélioration concernant Ubuntu. Chacun peut ensuite voter pour les idées qu’il juge intéressante. On peut espérer ainsi qu’Ubuntu évoluera dans le sens des idées les plus populaires.

Si il vous manque quelque chose, vous souhaiteriez voir améliorer une autre, inscrivez vous et apportez votre pierre à l’édifice du libre. Cette initiative montre que la communauté Ubuntu ne manque pas d’idées et est très active.

Je trouve pour ma part que ce genre de site est une très bonne idée. Il n’y a qu’a voir le résultat sur celui de Dell. On peut à présent acheter un ordinateur avec Ubuntu pré installé.

NB : Le site est en anglais.