mercredi 5 novembre 2014

Diagnostic : Glimpse pour débugger

Glimpse

Glimpse est un outil de diagnostic à ajouter à Visual Studio.  Il analyse le trafic généré par votre site et inspecte les requêtes pour vous donner l'information en temps réel.

Il présente les temps d'exécution, permet de résoudre les problèmes de redirection « routing », de voir la configuration du serveur, les données qui ont transigé et plus encore. Les informations sont affichées à même votre navigateur, sans aucune modification de code à votre application.


Il s'installe aussi dans Visual Studio par l'intermédiaire de "NuGet".  Attention,  plusieurs librairies sont disponibles selon le type d'architecture de votre application soit MVC, ASP.NET, EntityFramework etc.




Lors de l'installation, une section <glimpse> s’ajoute au <web.config> qui permet de personnaliser son utilisation si la configuration de base ne vous satisfait pas. Il est accessible via l’adresse « localhost » de votre fureteur (ou à distance si vos politiques de sécurité le permettent), afin de l’activer ou/et le caractériser pour la session en cours.


Glimpse en quelque sorte une extension plus détaillé du mode « Développeur F-12 ».

mardi 2 septembre 2014

JavaScript : Contrôler la qualité de votre code

JSLint

Le JavaScript est omniprésent dans le développement Web.  Des librairies spécialisées sont de plus en plus populaires et deviennent des incontournables.  jQuery,  AngularJS, Node.js sont tous des éléments qui poussent le JavaScript plus loin encore.

Douglas Crockford, programmeur de renom, investit dans le développement du JavaScript et dans la popularisation du format de données JSON a décidé de nous aider à structurer et solidifier nos bases JS, simple fidèle que nous sommes.  Il créa donc JSLint afin que nous aussi, puissions coder comme la légende qu'il est.

JSLint est un outil de contrôle de la qualité du code qui permet de s'assurer d'une uniformité et d'une utilisation optimale du langage selon les bonnes pratiques.  Il parcourt vos fichiers sources à la recherche d'anomalies afin de vous exposer les problématiques. Il est possible de configurer les points de vérifications afin d'adapter les règles de validation à votre développement.

JSLint peut s'insérer à votre intégration continue afin d'inspecter votre solution avant son déploiement.  Selon les règles établit, la compilation peut lever des avertissements ou carrément bloquer et arrêter la livraison, pour vous permettre de prendre action.

Une extension est disponible pour Visual Studio afin de l'intégrer à votre outil de développement préféré JSLint.VS2012


Pour les Java-iste, il existe un plugiciel pour Eclipse, JsLint Eclipse. Pour les autres, les éditeurs les plus populaires, une recherche sur le Net vous permettra de trouvez ce que vous cherchez.  Finalement, si vraiment vous être pris au dépourvu, il y a toujours la solution en ligne pour les programmeurs de brousse, qui permet de vérifier votre code par "copier-coller".

Liens

jeudi 5 juin 2014

CSS : Design By the Grid

Bootstrap

Développeurs ne nous leurrons pas, n’est pas « designer » qui connaît le HTML.  C’est pourquoi, plusieurs y ont réfléchi et ont développé des librairies CSS afin de mettre en place des concepts de présentation qui permettent de structurer la disposition des pages web.

Un des concepts très populaire, est l’utilisation d’un positionnement par « grille ».  Ce type d’affichage existe depuis le début de l’édition d’impression.    Visuellement, la page est séparée par zone. De là, on contrôle l’affichage de chacune de celles-ci par CSS.  C’est très utile lors de l’utilisation de menu, d’un affichage par colonne,  l’affichage de message etc.

Les gens de Twitters (Bootstrap), ZURB (Fondation) et même le gouvernement Canadien (WET-BEOW) se sont penchés sur la question et ont développé des plateformes CSS pour standardiser la présentation de leur site.  L’avantage n’est pas seulement d’uniformiser l’affichage mais aussi de s’assurer du maintien de celle-ci selon la dimension de l’écran de l’utilisateur, que ce soit sur un mobile ou sur un écran d’ordinateur.  Ainsi, on assure la réactivité du site selon le médium utilisé pour accéder au site.

Dans le cas de Bootstrap l’écran est séparé en douze colonnes.  Les colonnes ont une largeur définie par la résolution du moniteur, variant de 60 pixels ou moins pour une tablette ou 95px pour un très large écran. Par la suite, il est possible de « fusionner » des cellules pour avoir, exemple, une ligne qui utilise 4 colonnes, chacune totalisera la largeur de trois cellules et ce, simplement en manipulant les classes CSS des éléments HTML.

Exemple Bootstrap :

Bootstrap

Le « GridSystem » est un élément majeur supporté par cette librairie mais d’autres éléments ont été normalisé tel que, le texte, l’utilisation des polices de caractères, la présentation des formulaires, les boutons, les images etc. Ces outils sont de distribution libre et peuvent être incorporés à toutes les solutions web, de Java à .Net ou simplement Javascript.

Liens

jeudi 1 mai 2014

Périphériques : Ayez du Beat avec une Pill

PILL 2.0

J'ai récemment acquis ou plutôt reçu le mini-haut-parleur Beats.  Le Pill 2.0.  C’est la deuxième fois qu’un emballage m’impressionne.  La première était un produit Apple.  Tout est pensé pour que l’expérience utilisateur comme dès le moment où nous touchons à la boîte.


Voici comment Apple commente cet objet sur leur site:

"Totalement portative, l’enceinte Pill de Beats est si légère que vous pouvez l’emporter et l’installer n’importe où. Sa taille réduite vous permet de la glisser dans tout sac que vous prenez avec vous. Vous pourrez donc profiter d’un son de haute qualité où que vous soyez."

VRAI, le son est excellent pour une caisse de cette taille,  mon bémol va  à sa résistance aux chocs où la grille se cabosse facilement lors de manipulations, disons, malencontreuses.

"Deux enceintes valent mieux qu’une. Synchronisez deux enceintes Pill en les faisant se toucher pour qu’elles fassent la lecture de la même chanson. …  …Le nouveau son ambiophonique. Faites se toucher deux enceintes Pill à deux reprises pour que l’une devienne la sortie de gauche et l’autre la sortie de droite."

Je n'ai pas essayé cette fonctionnalité.  Par contre, comme le prix de ce petit bidule est assez élevé, si vous êtes rendu à vouloir investir autant de sous,  le nouveau « Beats Pill XL » serait peut-être plus indiqué.

"Recharge d’appareils : servez-vous de l’enceinte Pill pour recharger votre iPhone ou tout appareil USB externe"

Un bonbon, mais c'est une belle attention et une approche très intéressante.  Finalement, c'est une pile qui joue aussi de la musique, pourquoi pas!

"Jumelage rapide et facile à tout appareil Bluetooth ou à une autre enceinte Pill"

VRAI,  mon iPad 3, Nexus 7, cellulaire MOTO G n'ont aucun problème à se jumeler.  Dans le cas des appareils qui ne sont pas équipés de NFC ou de Bluetooth, une entrée auxiliaire à laquelle on peut brancher un fil est disponible.

De plus si votre Pill est synchronisé sur un téléphone, le micro intégré aux Beats vous permet de prendre les appels en mode main libre.

Quatre boutons sont accessibles sur le Beat.  Power, Volume+ Volume- et le signe Beat lumineux placé au centre, le « B button ».  Avec ce seul bouton "Beats" il est possible de contrôler le flux musical.  Une simple pression fait une pause ou reprend  alors qu'une double pression passe à la suivante, une triple à la précédente et ainsi de suite (si suite il y a).  Toujours avec le même bouton, on gère aussi la prise d'appel téléphonique.

Avec toutes ces gymnastiques de cliques, il est possible que vous ayez plus souvent le Pill dans vos mains qu'à distance, surtout si vous êtes un "pitonneux" compulsif et que vous vous rappelez des séquences adéquatement.  Le mieux est encore d’utiliser l’appareil accouplé pour contrôler notre expérience d’écoute.

Liens

New Features in ASP.NET and Web Tools for Visual Studio 2013

lundi 30 décembre 2013

CSS : Mise en forme avec Formalize CSS

Formalize CSS

Vous avez peut-être pris la résolution de vous mettre physiquement en forme en 2014. Je vous encourage à persévérer et faire de cette résolution un accomplissement. Vous pouvez le faire aussi pour vos formulaires Web, et pratiquement sans effort. Nous avons tous remarqué que l'affichage des champs des formulaires diffère selon les fureteurs. La présentation varie selon le système d'exploitation et/ou du navigateur utilisé. Vos maux seront bientôt qu'un souvenir, car quelqu'un c'est penché sur ce problème et a écrit une librairie pour résoudre ce casse-tête. Elle se nomme "Formalize".

Illustration: Extrait du site formalize.me. Présentation des fureteurs sans formalizes.
Il est presque gênant que j'ai à écrire autant pour expliquer une extension qui s'intègre aussi simplement. Pour appliquer la librairie à nos pages il s'agit d'ajouter ces quelques lignes et le tour est joué.


<head>
<link rel="stylesheet" href="formalize.css" />
<script src="jquery.js"></script>
<script src="jquery.formalize.js"></script>
</head>


Ainsi, vous aurez maintenant un rendu uniforme et une expérience utilisateur similaire peu importe la plate-forme utilisée par vos usagers.


Liens



mercredi 20 novembre 2013

CSS : Faire plus avec LESS

LESS

Le concept de préprocesseur est à la mode. Nous n'avons qu'à penser à TypeScript et CoffeeScript pour le Javascript. Haml pour le HTML et son équivalent pour le CSS, nommé SASS. LESS en est un pour le CSS, inspiré de SASS. Contrairement à celui-ci, LESS est de source et syntaxe Javascript plutôt que Ruby. Chaque ligne de code est interprétée et transformée en CSS régulier.

Plutôt que d'écrire des CSS statiques, LESS étend les fonctionnalités du CSS, en lui ajoutant des notions dynamiques, ce qui allège la code source et simplifier la compréhension. Il peut être roulé sur le serveur, un préprocesseur logiciel doit être installé, ou directement sur le poste client.

Afin de développer des feuilles de style efficacement, LESS ajoute de la structure et des notions de programmations ce qui accélère la réalisation et la maintenance du rendu visuel des applications. On peu ainsi, créer des variables, des fonctions et utiliser des références à des fonctions existantes de la plateforme.

Un exemple d'utilisation de variables :
Avant lors de l’édition
@color: #4D926F;
#header {
  color: @color;
}
h2 {
  color: @color;
}


Après,  lorsque compilé
#header {
  color: #4D926F;
}
h2 {
  color: #4D926F;
}


Des extensions pour LESS sont disponibles pour la majorité des éditeurs populaires afin faciliter sont utilisations.  Pour vous amuser, il y a un éditeur en ligne disponible : http://less2css.org/

Liens




lundi 28 octobre 2013

ZenCoding : Accélérer votre développement

ZenCoding

Le Zen Coding (maintenant appelé Emmet) est un ensemble d'extensions pour les éditeurs de texte HTML qui permet d'accélérer la saisie de la syntaxe de programmation. Plusieurs outils supportent cette méthode d'entrée, tel que Visual Studio, Eclipse et Sublime text. C'est comme si "l'intelli-sence" avait eu une "date" avec les expressions régulières.

Par exemple, avec l'ajout du module "Web Essentials" dans Visual Studio, il est possible d'avoir un échantillon de texte simplement en tapant "Lorem" suivi de la touche de tabulation, suite à cette action trente mots apparaîtront pour remplir l'espace.

Par contre, si je désire un texte un peu plus court. Je peux taper "Lorem10", et dix mots s'afficheront. Avec une simple liste de commandes je peux générer des structures HTML et CSS très rapidement.


Par exemple, je peux créer un élément "div" avec comme titre "MLA3" et un identifiant "01"

Commande: div[Title="MLA3"][id="01"] + TAB

Résultat : <div title="MLA3" id="01"></div>

Avec une expression un peu plus complexe telle que :

ul>li*5>lorem3

J'obtiens un bloc complet d'une énumération en HTML.

<ul>
    <li>Lorem ipsum dolor.</li>
    <li>Sit amet, consectetur.</li>
    <li>Adipiscing elit fusce.</li>
    <li>Vel sapien elit.</li>
    <li>In malesuada semper.</li>
</ul>


N'est-ce pas "Wonderful"?  Il vaut la peine de maitriser cette syntaxe puisqu'elle est pratiquement identique d'un logiciel à l'autre, pour ceux qui la supportent. Elle nous fait sauver un temps précieux à écrire, mais aussi à chercher et corriger les erreurs de syntaxe HTML/CSS que nous aurions pu faire si nous l'avions tapé du <début> à la </fin>! De plus, vous aurez l'air d'un disciple de Bruce Lee, au sommet de son art!

En voici une dernière juste pour vous pratiquez!

Liens

vendredi 20 septembre 2013

SignalR : Le Web en temps réel

SignalR

En ASP.NET, si on veut une mise à jour de la page on doit rafraichir l'affichage, pour voir les nouvelles données. Évidemment, nous pouvons par "gymnastique" dynamiser le rendu pour produire un affichage en temps réel.


SignalR est un API librement distribué, qui persiste la connexion entre le client et le serveur. Avec cette librairie, le serveur est en mesure d'appeler des fonctions Javascript dans le fureteur du client (Remote procedure calls-RPC) de façon asynchrone. Ceci diffère du fonctionnement habituel du protocole HTTP classique qui est basé sur un modèle de "requête-réponse" où le serveur doit attendre que le client demande l'information pour lui envoyer.

SignalR permet de créer des applications de "chat", l'affichage de résultat sportif en temps réel, des jeux, l'affichage de données en continu. Il est en mesure d'utiliser plusieurs types de protocoles de transport et d'utiliser le plus efficace, selon le fureteur du client. Sa préférence est de communiquer par HTML5 mais si ce n'est pas possible il tentera d'utiliser d'autre processus moins efficace mais adapté au fureteur.

Voici un exemple de "Chat" en quelque ligne seulement :

Fichier HTML Client:
var chat = $.connection.chat;
chat.name = prompt("What's your name?", "");

chat.receive = function(name, message)
{
    $("#messages").append(name + ": " + message);
}

$("#send-button").click(function()
{
    chat.distribute($("#text-input").val());
});

Fichier Serveur:
public class Chat : Hub
{
    public void Distribute(string message)
    {
        Clients.receive(Caller.name, message);
    }
}


Microsoft a incorporé SignalR dans Visual Studio 2012 et la plateforme .Net 4.0+. Voilà une solution alternative à Node.JS intéressante.

mardi 23 juillet 2013

Choisir un moniteur TN ou IPS

Moniteurs : TN ou IPS

Pourquoi le prix de certains moniteurs de même dimension peut varier de plusieurs centaines de dollars?  Évidemment on parle de qualité des composantes, de son « look », des options disponibles.  Par-dessus tout, la qualité d’un moniteur provient de sa dalle d’affichage.

Il existe plusieurs grandes familles de dalles : Plasma, LCD, OLED. Dans le cas des moniteurs d’ordinateurs le plasma ne peut pas être considéré puisqu'il n’est pas disponible sous une diagonale de « 35’’» pouces et moins.

Dans le cas présent, je ne parlerai pas des écrans OLED (organic light-emitting diode) qui deviendront sans aucun doute la référence, mais pour l’instant, trop onéreuse.  Plusieurs grands manufacturiers ont annoncé des modèles OLED pour le marché des consommateurs dans les mois à venir.

Ce qui nous laisse les moniteurs LCD, surement comme celui avec lequel vous lisez ceci.

Deux grandes sous-catégories et leurs hybrides se sont popularisés.  Soit les « Twisted nematic (TN) » qui sont les  écrans LCD classique ou les « In-plane switching (IPS) », utilisés dans les produits Apple, par exemple. Chacune peut être rétroéclairée par des « néons » ou des « LEDs ».  

IPS vs LCD TN:
Caractéristique
LCD TN
IPS (e-IPS, s-IPS…)
Angle de visionnement
Moyenne
Très grande
Qualité d’image
Moyenne / Bonne
Très bonne
Justesse des couleurs
6bit
8bit
Taux de réponse
2ms
5ms
Prix
Abordable
Dispendieux
*Ces caractéristiques peuvent varier d’un constructeur à l’autre.


Les constructeurs ont développé des sous-types de dalles IPS afin de diminuer les coûts de production.  Il est possible de trouver un écran « e-IPS » pour environ 300$. À noter que si vous comparez  des moniteurs, assurez-vous de le faire sous la même résolution.
  •          HD : Connu aussi sous 720p, résolution de 1280x720 pixels
  •          Full HD (FHD): 1080p, résolution de 1920x1080 pixels
  •          Ultra HD (UHD): 4k, résolution de 3840x2160, 4 fois le nombre de pixels de la FHD.
Ce sont les trois résolutions les plus connues, car elles sont aussi utilisées par les téléviseurs, mais les moniteurs d’ordinateurs ont un plus grand éventail de sélection.

Les joueurs préféreront un écran "TN" car ils ont un taux de rafraîchissement élevé. Alors que les concepteurs graphiques et/ou développeurs préféreront un moniteur IPS, dû aux couleurs plus précises et aux meilleurs angles de visionnement.

Liens

TN, PS Explained (Très détaillés)
Not All LCD Panels Are Created Equal
LCD
TFT LCD
IPS
Résolution