Archives de catégorie : Non classé

Glimpse : Debugger votre application ASP.NET

Je vais présenter aujourd’hui Glimpse, un outil qui va vous permettre de debugger votre application ASP.NET (MVC ou WebForms) plus facilement.

Installation

Glimpse s’installe facilement via NuGet. Pour cela, faire clic droit sur votre projet ASP.NET et cliquer sur Gérer les packages NuGet … . Sélectionner En Ligne et rechercher Glimpse. Il existe une version de Glimpse pour chaque version de MVC et pour WebForms.

Glimpse - Installation

Installez la version en fonction de votre application web.

Utilisation

Lors de l’ajout de Glimpse via NuGet, Glimpse rajoute automatiquement une section permettant de configurer Glimpse dans votre web.config.

Par défaut, glimpse est activé coté serveur seulement en local via la ligne suivante rajoutée dans le web.config :

<glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd">

Vous pouvez désactiver complétement Glimpse en passant defaultRuntimePolicy à Off. Il est également possible de configurer plus finement Glimpse. Pour cela, je vous renvoie vers la documentation concernant la configuration.

Par défaut, Glimpse n’est pas activé coté client. Lancer votre application web et aller à l’adresse racine de votre application et ajouter Glimpse.axd (http://localhost:portname/Glimpse.axd).

Cette page permet de configurer Glimpse et de l’activer. L’activation se fait via les boutons Turn Glimpse On et Turn Glimpse Off (ces boutons sont des bookmarklets qui vous pouvez glisser / déposer dans votre barre d’adresse pour une activation/désactivation rapide). Cette page permet également de gérer les onglets qui seront affichés dans Glimpse.

Glimpse - Configuration

(en vert dans la barre d’addresse, les bookmarklets permettant l’activation/désactivation rapide).

Vous pouvez maintenant retourner sur votre application. Une fois activée, vous verrez en bas à droite de votre écran la barre Glimpse.Cette barre affiche les informations relative à la page courante :

  • HTTP : temps de réponse, …
  • Host : Information Serveur (Controller/Action, Vue, …)
  • Ajax : le nombre de requêtes AJAX.

Glimpse - Mode Reduit
Au survol d’une zone, on affiche un volet afin plus d’information :

Glimpse - Information Http
Au clic sur le g (en bas à droite), on passe en mode avancé avec un système d’onglet comme on peut l’avoir avec une barre d’outils comme Firebug.

Voici quelques onglets présent dans cette vue avancée :

L’onglet Configuration permet de consulter la configuration (web.config) de l’application :

Glimpse - Configuration

L’onglet Timeline présente l’exécution de la requête dans le temps

Glimpse - Onglet TimeLine

L’onglet Request présente les informations de la requête :

Glimpse - Onglet Requete

L’onglet Route présente la résolution de la route :

Glimpse - Onglet Route

L’onglet Trace permet d’afficher les messages écrit via System.Diagnostics.Trace et Debug

public ActionResult Index()
{
    System.Diagnostics.Trace.Write("Je suis une trace");
    System.Diagnostics.Debug.Write("Je suis un debug");
    return View();
}

Glimpse - Trace

Plugins

Glimpse supporte des extensions, à installer via NuGet, qui permettent de rajouter un onglet contenant les informations relatives à l’extension. Il existe notamment :

  • une extension pour Entity Framework (comme pour ASP.NET veillez à installer le package lié à la version d’EF que vous utilisez), qui permet d’afficher les requêtes effectuées ainsi que leur temps d’exécution.
  • une extension pour Log4Net qui permet de voir les entrées de Log4Net

Liens

Utiliser Firebug pour déterminer le temps d’exécution d’un code Javascript

Firebug est une extension Firefox pour les développeurs. Nous allons voir comment utiliser les fonctionnalité de celle ci afin de déterminer le temps d’exécution de fonction/code JavaScript.

Utilisation de le fonction Profiler

Si vous ne souhaitez connaître que le temps d’exécution de fonction complète et non une partie de code, la fonctionnalité Profiler est parfaite. L’activation se fait via la fenêtre Firebug dans l’onglet Console. Un premier clic sur Profiler va lancer la fonctionnalité. Firebug va alors calculer le temps de traitement de chaque fonction appelée. Un deuxième clic va arrêter la fonctionnalité et afficher un tableau  récapitulatif des fonctions appelées avec le nombre d’appel, le temps d’exécution global, moyen, minimum, maximum …

Utilisation de l’API de Firebug

Firebug fournit un ensemble de fonction afin d’écrire dans la console dont notamment 2 fonctions qui permet de déterminer facilement le temps d’exécution d’une partie de code JavaScript : time et timeEnd.

Ces 2 fonctions sont à placer avant et après la partie de code dont vous souhaitez connaître la durée.

function test(){
    console.time('fonctionTest');
    var sum = 0;
    for ( var i = 0; i < 100; i += 1) {
        sum += i;
    }
    console.info('somme des entiers de 1 à 100 %d', sum);
    console.timeEnd('fonctionTest');
}
test();

Affichage du temps d'exécution d'un code javascript avec l'API de Firebug

Autres Navigateurs

Attention, si vous laissez dans vos scripts l’appel aux fonctions de la console, les autres navigateurs généreront une erreur !!

Afin de pouvoir utiliser la console dans d’autres navigateurs, un Firebug Lite est disponible sous la forme d’un fichier JavaScript à inclure dans votre page.

A noter également une extension pour Google Chrome disponible ici.

Gnome Shell

je pense que la plus part d’entre vous a entendu parler de la future version de Gnome, 2.32 qui sera renommée Gnome 3.0. Une des principales nouveautés sera l’utilisation de GTK+ 3.0. L’accent de cette nouvelle version sera également porté sur l’expérience utilisateur. 2 projets sont assez avancez concernant ce sujet :

  • Gnome Shell qui vise à repenser le menu de Gnome
  • Zeitgeist qui est un explorateur de fichier non plus en fonction de répertoire mais de tags et date de mise à jour.

Voyons de plus prêt Gnome Shell.

Installation

Gnome-shell est directement disponible dans les dépôts pour Lucid Lynx. Cliquer ici ou tapez la commande suivante pour l’installer :

sudo apt-get install gnome-shell

L’installation sur Karmic est possible via le PPA suivant :

deb http://ppa.launchpad.net/ubuntu-desktop/ppa/ubuntu

Ajoutez la clé du dépôt :

gpg --keyserver hkp://keyserver.ubuntu.com:11371 --recv-key A1231595 gpg -a --export A1231595 | sudo apt-key add -

L’installation sous Jaunty est possible mais il faut compiler à la main. Vous pouvez trouver la procédure d’installation sur le site de Gnome Shell

Utilisation

Le lancement de Gnome Shell se fait par la commande suivante :

gnome-shell --replace

Les menus Applications, Raccourcis et Système ainsi que vos raccourcis ont disparus. Un seul panneau est visible en haut de l’écran avec une entrée de menu unique Activités. La liste des applications lancées n’est plus visible mais seulement l’application en cours d’utilisation.

Panneau unique de Gnome Shell

Le but de Gnome Shell est de raisonner en activités. Ainsi la notion de bureau est étendu. Vous n’êtes plus limité en nombre de bureaux mais vous pouvez en ajoutez autant que vous le souhaitez. Un bureau étant en principe dédié à une activité (internet, musique, vidéos, …)

Un clic sur le bouton Activités permet d’accéder rapidement aux applications, raccourcis et documents récents via la barre latérale de gauche.

Menu Activités de Gnome Shell

Dans la partie applications, quelques applications sont affichés, l’ensemble de vos applications étant disponible en cliquant sur la flèche à droite d’applications. A noter que les applications déjà lancées possèdent un halo bleu.

Applications dans Gnome Shell

De la même façon, un clic sur la flèche à coté de documents récents vous permet d’ouvrir un des documents récemment utilisés.

La barre de recherche permet d’effectuer une recherche aussi bien dans les applications que dans vos documents. On peut ainsi accéder aux applications de paramétrages (menu Système de Gnome 2) qui ne sont pas accessible dans la liste des applications !!!

Recherche dans Gnome Shell

Sur la droite, vos espaces d’activités sont affichés. Il est possible d’ajouter/supprimer des espaces (via le bouton + en bas d’écran, sur le bouton – d’un espace lorsque celui ci est vide), de déplacer des applications d’un espace à l’autre, de fermer des applications.

Plusieurs "espace de travail" dans Gnome Shell

Voici une petite vidéo de Gnome Shell :

Conclusion

Gnome Shell est une nouvelle façon de gérer ses activités totalement différente de qu’on a pu voir jusqu’à maintenant. Gnome Shell est ergonomique, facile à comprendre et à prendre en main. Cependant Il manque, à mon goût, encore pas mal de chose pour être totalement exploitable (listes des applications lancées, barres des notifications inexistante, difficultés d’accéder aux applications de paramétrages (menu Système), …). Gnome Shell qui devrait être le bureau par défaut de Gnome pour la prochaine version, ne sera d’ailleurs pas le bureau par défaut d’Ubuntu 10.10 Maverick Meerkat.

A noter que Compiz n’est pas compatible avec Gnome Shell.

Et vous, Que pensez vous de Gnome Shell ?

Améliorer le rendu de vos polices sous Linux

Vous n’êtes peut être pas satisfait du rendu de vos polices sous Linux. Voici un moyen simple d’en améliorer le rendu.

Une des première chose à faire d’aller dans le menu de configuration des polices : Système -> Préférences -> Apparence et de choisir l’onglet Polices. Si vous utiliser un écran LCD, choissiser l’option de rendu Lissage souspixel (LCD). Cliquez sur Détails … pour accéder aux options avancées. Jouez avec les paramètres pour obtenir le résultat souhaité.

Beaucoup d’autres options sont accessibles avec un fichier de configuration .fonts.conf. Voici un fichier qui permet d’améliorer le rendu de vos polices.




  
    
      true
    
  

Copier/ Coller ce texte ci dessus dans un fichier et sauvegarder le dans votre dossier personnel en tant que  .fonts.conf (Le fichier va être caché). Déconnecter vous pour que les changement soient pris en compte.

Vous pourrez trouvez d’autres fichier .fonts.conf plus complexe afin d’améliorer encore le rendu de vos police comme celui disponible ici.

Pour ma part, j’utilise le fichier le fichier ci-dessus.

Sources : Cet article est inspiré d’un article paru sur Tombuntu.com, site que je vous conseille de lire si vous êtes à l’aise avec l’anglais.

Ecran de connexion trop grand sous Hardy Heron

Un autre problème que j’ai rencontré lors de mon passage sous Hardy Heron a été que la fenêtre de connexion (GDM), celle où on vous demande votre login/mot de passe, était trop gande (seulement la partie haut gauche). Je n’avais pas accès au menu et je ne voyais pas la textbox de login mot de passe.

Voyons comment résoudre ce problème. Celui ci vient de votre fichier xorg.conf qui définit les paramètres d’affichage. Ce fichier se trouve sous /etc/X11. La première chose à faire est de faire une copie de sauvegarde du fichier.

sudo cp xorg.conf xorg.conf.save

On paut maintenant éditer notre fichier sans crainte.

gksudo gedit xorg.conf

Il faut d’abord vérifier que la résolution que vous utilisez est présente dans la section Monitor. Dans mon cas, la résolution que j’utilise est 1440×900. Celle ci n’étant pas présente, j’ai rajouté ces 2 lignes correspondant à ma résolution :

modeline  « 1440×900@75 » 136.49 1440 1536 1688 1936 900 901 904 940 -hsync +vsync
modeline  « 1440×900@60 » 106.47 1440 1520 1672 1904 900 901 904 932 -hsync +vsync

(Une petite recherche sur votre moteur de recherche préféré vous permettra de récupérer la ligne de configuration de votre résolution).

Il faut ensuite aller dans la section Screen et rajouter les modeline dans la section mode comme ceci

Section « Screen »
Identifier    « Default Screen »
Device        « nVidia Corporation G80 [GeForce 8500 GT] »
Monitor        « Écran générique »
Defaultdepth    24
SubSection « Display »
Depth    24
Virtual    2048    1536
Modes        « 1440×900@60 »    « 1440×900@75 » « 1400×1050@75 »    « 1600×1200@65 »    « 1400×1050@60 »    « 1600×1200@60 »    « 1280×960@75 »    « 1600×1200@75 »    « 1280×1024@60 »    « 1600×1200@70 »    « 1280×1024@85 »    « 1600×1200@85 »    « 1280×960@85 »    « 1792×1344@75 »    « 1280×960@60 »    « 1792×1344@60 »    « 1280×1024@75 »    « 1856×1392@60 »    « 1152×864@75 »    « 1920×1440@60 »    « 1024×768@60 »    « 2048×1536@60 »    « 1024×768@70 »    « 1024×768@75 »    « 1024×768@85 »    « 832×624@75 »    « 800×600@60 »    « 800×600@85 »    « 800×600@75 »    « 800×600@72 »    « 800×600@56 »
EndSubSection
EndSection

Vous pouvez remarquer que la section Virtual est configuré avec une résolution assez haute. C’est cette résolution qui est utilsé par le gdm. Remplacer la résolution par celle voulue.

Virtual    1440   900

Vous pouvez maintenant sauvegarder le fichier. Au prochain démarrage du serveur graphique, vous devriez avoir votre écran de connexion avec la bonne résolution.

En cas de problème, vous pouvez toujours restaurez la copie de sauvegarde de votre fichier de configuration

sudo cp sorg.cong.save xorg.conf

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.

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 !!!