Utilisation simple de LINQ avec C#

Introduit dans le Framework .NET 3.0, LINQ (Language Integrated Query) est utilisé pour récupérer ou modifier des données. LINQ introduit des modèles pour interroger un objet, une base de données, un fichier XML et les données ADO.NET. Ainsi, vous pouvez écrire des requêtes puissantes directement à partir du langage C#. Vous pouvez créer des requêtes de filtrage, de classement ou de regrouppement de données.

Exemple 1

L'exemple suivant permet de récupérer les données dans un Array de string.

string[] strMake = { "Acura", "Chevrolet", "Mazda", "Toyota", "Nissan", "Honda" };

var make = from x in strMake
           where x.Length > 5
           orderby x
           select x;

foreach (string s in make)
    Response.Write(s);

Le résultatest : ChevroletNissanToyota

Une requête LINQ retourne un résultat de type IEnumerabe. La valeur "T" équivaut au type de l'objet utilisé dans la requête. L'exemple ci-haut retourne un objet de type "string".

Exemple 2

LINQ propose une interface pour pouvoir faire des requêtes à partir d'un objet. Voici un exemple simple de son utilisation :

public class Car
{
    public string Make { get; set; }
    public string Model { get; set; }
    public int Year { get; set; }
}

IList lstCar = new List
                        {
                            new Car {Make = "Honda", Model = "Accord", Year = 2011},
                            new Car {Make = "Acura", Model = "TSX", Year = 2010},
                            new Car {Make = "Toyota", Model = "Camry", Year = 2009},
                            new Car {Make = "Honda", Model = "Civic", Year = 2007},
                            new Car {Make = "Mazda", Model = "6", Year = 2008},
                            new Car {Make = "Nissan", Model = "Sentra", Year = 2002}
                        };
var cars = from x in lstCar
            where x.Year >= 2008
            orderby x.Make, x.Model
            select x;

foreach (Car c in cars)
    Response.Write(c.Make + " " + c.Model + " " + c.Year.ToString() + "
");

Résultat :
Acura TSX 2010
Honda Accord 2011
Mazda 6 2008
Toyota Camry 2009

Plus d'exemples seront disponibles plus tard...

Librairie pour analyser le code HTML

L'analyse d'un document XML est supporté par les objets XMLDocument et XPathDocument dans le Framework .NET. Si vous avez déjà analisé un document HTML, vous avez sans doute remarqué quelques similutides avec un document XML. Par contre, il n'existe aucun objet pour permettre de parser du code HTML. Vous pouvez analysé du HTML à l'aide de manipulation de string et/ou des expressions régulières. Cependant, il est très difficile d'obtenir de bons résultats avec ces méthodes.

Heureusement, il existe une librairie .NET (HTML Agility Pack) pour faire des manipulations HTML. Cette librairie permet de parser du code HTML et le structuré de façon à obtenir des objets similaires au langage XML.

Voici quelques exemples de l'utilisation de cette librairie.

Obtenir tous les liens d'une page WEB

HtmlWeb hw = new HtmlWeb();
HtmlDocument hd = hw.Load("http://www.billypepin.com");
HtmlNodeCollection hnc = hd.DocumentNode.SelectNodes("//a[@href]");

foreach (HtmlNode hn in hnc)
    Response.Write(hn.Attributes["href"].Value + "
");

Extraire les valeurs des tableaux d'une page WEB

L'exemple ci-dessous démontre l'utilisation de Linq to Objects.

HtmlWeb hw = new HtmlWeb();
HtmlDocument hd = hw.Load("http://www.billypepin.com");

var query = from table in hd.DocumentNode.SelectNodes("//table").Cast()
            from row in table.SelectNodes("tr").Cast()
            from cell in row.SelectNodes("th|td").Cast()
            select new {Table = table.Id, Value = cell.InnerText};

foreach(var c in query)
    Response.Write(String.Format("{0}: {1}", c.Table, c.Value));

En résumé, cette librairie permet de simplifier l'analyse du code HTML. De plus, vous pouvez créer des routines pour : modifier ou corriger le rendu HTML, extraire les liens ou images et extraire du contenu d'une page web.

12 exemples d'utilisation de la librairie jQuery 1.4.2

L'utilisation de jQuery permet de simplifier et d'accélérer le développement en Javascript. Le framework jQuery permet d'accéder et de mettre à jour le contenu d'une page. Comme la librairie est Open Source, on peut créer ou modifier des nouveaux modules Javascript.

Voici quelques trucs pour devenir un meilleur développeur Javascript (jQuery).

Vérifier si un élément contient une certaine classe

$("input").has(".adresse").addClass("icon_adresse"); 

Ajouter ou enlever une classe

Méthode standard

a.hasClass('actif') ? a.removeClass('actif') : a.addClass('actif');  

Méthode utilisant toggleClass

a.toggleClass('actif');  

Utilisation d'une fonction spécifique à Internet Explorer

if ($.browser.msie) { //Ajouter votre code ici }  

Lier une fonction à un événement

$('#bEnvoyer').bind('click', function() {  
	alert('Le bouton envoyer a été appuyé.');  
});  

Ajouter du contenu à un élément HTML

$('#divTexte').append('Texte à ajouter');  

Préchargement d'images

jQuery.preloadImages = function() { for(var i = 0; i').attr('src', arguments[i]); } };  

// Utilisation
$.preloadImages('/images/image1.jpg', '/images/image2.jpg', '/images/image3.jpg');  

Valider si un option est sélectionné

$('#radioList').find('option:selected');  

Cacher un élément HTML

$("#div").hide();  

Détection de navigateur avec jQuery

//Détection de Internet Explorer 6 et +
if ($.browser.msie && $.browser.version > 6)
{ votre code ici.. }

//Détection de Internet Explorer 6 et -
if ($.browser.msie && $.browser.version <= 6)
{ votre code ici.. }
  
//Détection de FireFox 2.0 et +
if ($.browser.mozilla && $.browser.version >= '1.8')
{ votre code ici.. }

//Détection de Safari
if( $.browser.safari) 
{ votre code ici.. }

Valider si un élément existe

if ($('#div').length) { //Élément existant }  

Cacher ou fermer automatiquement un élément après un certain temps

$("#div").delay(3000).hide('blind', {}, 300);  

Obtenir l'élément parent le plus près

$('#divBox').closest('div');   

Grâce aux exemples ci-haut, vous avez pu voir l'utilisation de la librairie jQuery 1.4.2.

Utilisation de jQuery pour consommer un Webservice ASP.NET JSON

Qu'est ce que JSON ?

JSON (Javascript Object Notation) est un format d'échange de données simple, rapide, facile à lire et à écrire pour l'humain ou la machine. L'utilisation d'un fichier JSON sert principalement à échanger des valeurs avec le serveur. Ainsi, le format d'échange de données JSON vous offre une alternative simple, rapide et efficace.

JSON est construit en deux structures :

  • Collection de nom / pair de valeur (enregistrement, objet, dictionnaire, ..)
  • Liste de valeurs (Liste, vecteur une séquence de valeur)
  • Exemple JSON:

    var jsonPersonne = { Personne: { Nom: "Billy Pépin", Genre: "Masculin", Age: 29 } };
    

    Personne : Objet avec propriété Nom, Genre et Age. jsonPersonne = Objet JSON

    Exemple Array (séquence):

    var jsonCouleur = ["Rouge", "Bleu", "Jaune", "Noir"];
    

    Exemple simple ASP.NET - JQuery

    Dans l'exemple suivant, nous allons voir comment il est simple de consommer un web service JSON à l'aide de ASP.NET.

    Premièrement, créer une nouvelle application ASP.NET 4.0 à l'aide de Visual Studio 2010 (Ou version antérieure).

    Création d'une classe simple

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace ASP.NET4_JSON
    {
        public class Employe
        {
            public string Prenom;
            public string Nom;
            public int Age;
            public string Genre;
            public string Pays;
        }
    }
    

    Dans cet exemple, j'utilise une classe "Employe". La classe permet d'afficher une liste de personne à l'aide d'un Web Service JSON.

    Création du Web Service JSON

    using System;
    using System.Web;
    using System.Web.Services;
    using System.Web.Services.Protocols;
    using System.Web.Script.Services;
    using System.Collections.Generic;
    using System.Linq;
    using ASP.NET4_JSON;
    
    /// 
    /// Summary description for CarService
    /// 
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ScriptService]
    public class EmployeService : WebService
    {
        List Employes = new List
        {
            new Employe{ Prenom = "Prénom 1", Nom = "Nom 1", Age = 20, Genre = "Masculin", Pays = "Canada" },
            new Employe{ Prenom = "Prénom 2", Nom = "Nom 2", Age = 22, Genre = "Féminin", Pays = "USA" },
            new Employe{ Prenom = "Prénom 3", Nom = "Nom 3", Age = 21, Genre = "Masculin", Pays = "Canada" },
            new Employe{ Prenom = "Prénom 4", Nom = "Nom 4", Age = 30, Genre = "Féminin", Pays = "USA" },
            new Employe{ Prenom = "Prénom 5", Nom = "Nom 5", Age = 24, Genre = "Masculin", Pays = "Canada" },
            new Employe{ Prenom = "Prénom 6", Nom = "Nom 6", Age = 22, Genre = "Masculin", Pays = "France" },
            new Employe{ Prenom = "Prénom 7", Nom = "Nom 7", Age = 50, Genre = "Féminin", Pays = "Mexique" },
            new Employe{ Prenom = "Prénom 8", Nom = "Nom 8", Age = 28, Genre = "Masculin", Pays = "France" },
            new Employe{ Prenom = "Prénom 9", Nom = "Nom 9", Age = 31, Genre = "Masculin", Pays = "Chine" },
            new Employe{ Prenom = "Prénom 10", Nom = "Nom 10", Age = 39, Genre = "Féminin", Pays = "France" },
            new Employe{ Prenom = "Prénom 11", Nom = "Nom 11", Age = 35, Genre = "Masculin", Pays = "Canada" }
        };
    
        [WebMethod]
        public List ListerTous()
        {
            return Employes;
        }
    
        [WebMethod]
        public List ListerParPays(string pays)
        {
            var employes = from e in Employes
                        where e.Pays.ToLower() == pays.ToLower()
                        select e;
    
            return employes.ToList();
        }
    }
    

    Il sera possible de questonner le Web Service selon 2 méthodes.

    • Liste de tous les employés
    • Liste des employés par pays

    Code Javascript

        <script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
    
        <script type="text/javascript">
            $(function () 
            {
                $('#Button1').click(AfficherEmployes);
            });
    
            $(function () {
                $('#Button2').click(AfficherEmployesParPays);
            });
    
            function AfficherEmployes() {
                $.ajax({
                    type: "POST",
                    url: "WebService1.asmx/ListerTous",
                    data: "{}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (response) {
                        var employes = response.d;
                        $('#contenu1').empty();
                        $.each(employes, function (index, employe) {
                            $('#contenu1').append('<p><strong>' + employe.Prenom + ' ' +
                                        employe.Nom + '</strong><br /> Age: ' +
                                        employe.Age + '<br />Genre: ' +
                                        employe.Genre + '<br />Pays: ' +
                                        employe.Pays + '</p>');
                        });
                    },
                    failure: function (msg) {
                        $('#contenu1').text(msg);
                    }
                });
            }
    
            function AfficherEmployesParPays() {
                $.ajax({
                    type: "POST",
                    url: "WebService1.asmx/ListerParPays",
                    data: "{pays: '" + $('#<%= tbPays.ClientID %>').val() + "' }",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (response) {
                        var employes = response.d;
                        $('#contenu2').empty();
                        $.each(employes, function (index, employe) {
                            $('#contenu2').append('<p><strong>' + employe.Prenom + ' ' +
                                        employe.Nom + '</strong><br /> Age: ' +
                                        employe.Age + '<br />Genre: ' +
                                        employe.Genre + '<br />Pays: ' +
                                        employe.Pays + '</p>');
                        });
                    },
                    failure: function (msg) {
                        $('#contenu2').text(msg);
                    }
                });
            }
        </script>
    

    Code HTML

        <h2>Utilisation JQuery et JSON</h2>
    
        <div style="float:left; width:300px;">
            <h2>Afficher les employés</h2>
            <input type="button" id="Button1" value="Afficher" />
            <div id="contenu1"></div>
        </div>
    
        <div style="float:left; width:300px;">
            <h2>Afficher les employés par pays</h2>
            <asp:TextBox runat="server" ID="tbPays"></asp:TextBox>
            <input type="button" id="Button2" value="Afficher" />
            <div id="contenu2"></div>
        </div>
    


    Télécharger l'exemple ci-haut (Visual Studio 2010 - ASP.NET 4.0).

    ASP.NET4-JSON.zip (76,51 kb)

     

    Le référencement dans les moteurs de recherche

    Les moteurs de recherche comme Google, Bing, Yahoo utilisent quelques principes fondamentales dont: indexer le contenu et calculer l'importance des résultats. Afin que votre page soit indexée dans ces moteurs, il est primordial que vous utilisiez du contenu en format HTML. Les images, animations Flash ou applets Java sont invisibles par les engins de recherche. La façon la plus simple, afin que ces types de contenu soient indexés, est de placer le texte en format HTML.

    Conseils d'indexation

    • Les images (jpg, gif, png) doivent contenir un attribut ALT avec une courte description.
    • Les fichiers Flash ou Java doivent avoir leur équivalent en format HTML dans la page.
    • Les fichiers vidéo et audio devrait être accompagnés d'une transcription HTML pour optimiser le référencement.

    Structure d'un site web

    La structure de votre site est un élément primordial. Pour faciliter le référencement, vous devez vous assurer que toutes les pages de votre site soient liées les unes aux autres.

    La structure optimale pour un site internet est sensiblement la même qu'une pyramide (la page d'accueil se trouve au dessus de la pyramide.). Cette hiérarchie est définie par les liens internes dans la page. Ceux-ci permettent de:

    • Aider l'utilisateur à naviguer sur le site
    • Établir une hiérarchie de site

    Structure de site WEB

    Utilisation de mots clés

    Les mots clés sont très importants pour le positionnement d'un site Internet. Les engins de recherche indexent le contenu de vos pages selon les mots clés retrouvés dans celles-ci. Si vous voulez être visible pour le mot "voiture", il est important d'utiliser ce mot dans vos pages.

    Voici quelques bonnes pratiques :

    • Utiliser des mots clés dans le titre de votre page (Conserver les mots importants le plus près possible dans le titre en incluant votre nom de commerce si possible).
    • Utiliser le tag H1 seulement 1 fois en incluant vos mots clés.
    • Utiliser les mots clés au moins quelques fois dans votre contenu. Comme par exemple, si vous utilisez le mot clé "voiture" : voiture neuve, voiture d'occasion, voiture usagée.
    • Utiliser les caractères gras sur certaines expressions importantes.
    • Utiliser l'attribut ALT et intégrer vos mots clés dans celui-ci.
    • Utiliser l'expression dans l'adresse URL (Exemple : http://www.monsite.com/voiture).

    Les tags Meta

    Le tag le plus important est sans aucun doute "Meta Descriptions". Ce tag permet à l'utilisateur d'avoir un bref aperçu du contenu de votre page lorsque celle-ci est affichée dans la recherche de Google, Bing ou Yahoo. Une fois de plus, l'utilisation de mots clés peut augmenter considérablement le taux de clique vers votre page.

    Le tag Keywords n'a plus vraiment d'importance aujourd'hui. Personnellement, je l'utilise encore, mais je n'y accorde pas vraiment d'importance.

    Ces conseils permettent d'optimiser votre positionnement dans les moteurs de recherche.

    ASP.NET MVC - Qu'est ce que c'est ?

    En résumé, MVC est un modèle de conception utilisant le modèles Model-View-Controller (MVC). Cette architecture n'est pas nouvelle et elle est utilisée depuis plusieurs années maintenant.

    Qu'est ce que MVC ?

    L'architecture Model-View-Controller utilise 3 couches :

    • Model : Représente les classes d'objets qui décrivent les données.
    • View : Représente les fichiers ASPX contenant le code HTML.
    • Controller : Il intéragit avec le Model et la View pour controller l'exécution de l'application

    Présentement, plusieurs développeurs débattent sur l'utilisation de ASP.NET Webform et ASP.NET MVC. Il y a plusieurs raisons de choisir ASP.NET MVC pour le nouveau développement :

    1. La simplicité
    2. Facilite la façon de développer une application web
    3. Facilite la maintenance
    4. Facilite l'implémentation de tests unitaires
    5. S'adapte bien au pratique de développement Agile

    Si vous développez à l'aide de ASP.NET Webform, il n'est pas nécessaire de se tourner immédiatement vers ASP.NET MVC.

    L'utilisation du Framework MVC est conseillé si votre application répond au critères suivants :

    • L'application est complexe et interactive
    • L'application doit évolué dans le temps
    • L'application doit être Web 2.0

    Dernièrement, j'ai fait quelques lectures à propos de l'utilisation de ASP.NET MVC et l'application de différentes solutions simples. Je dois admettre que je suis enthousiasme face aux possibilités qu'offre ce design pattern.

    Les techniques SEO de base pour développeur

    Pour que votre site internet soit "SEO Friendly", vous devez respecter certaines techniques de base.

    Les tags HTML importants

    Le Titre du document est un court résumé du contenu de la page en cours. Celui-ci doit être d'une longeur d'environ 75 caractères.

    <head>
    	<title>Titre du document | Compagnie</title>
    </head>
    

    L'utilisation des tags H1, H2, H3... etc.

    <h1>Plus important (Normalement, il est utilisé 1 fois par page)</h1>
    <h2>Deuxième en importance</h2>
    <h3>Troisième en importance</h3>
    <h4>Etc...</h4>
    

    L'utilisation des tags "gras".

    <b>Mots clés</b>
    <strong>Mots clés</strong>
    

    Les images

    <img src="/images/mot-cle.jpg" width="125" height="125" alt="mots clés" />
    

    Liens vers le contenu

    <a href="http://www.monsite.com/page" title="mots clés">mots clés</a>
    

    Le tag Meta Descriptions n'est pas le plus important, mais il permet à l'utilisateur d'avoir un aperçu rapide du contenu de la page. Pour cette raison, je considère que chaque page doit avoir une description unique.

    <meta name="Description" content="Résumé du contenu de la page. Vous pouvez ainsi inclure vos mots clés dans cette description." />
    

    Installer une redirection 301

    Il est conseillé d'installer une redirection 301 vers votre domaine favori. Comme par exemple, votre page d'accueil est accessible par les adresses suivantes :

    • http://www.monsite.com
    • http://monsite.com
    • http://www.monsite.com/accueil.html
    • http://monsite.com/accueil.html

    Placer une redirection de sorte que votre domaine principal sera : http://www.monsite.com. De cette façon, votre site sera accessible seulement par une adresse. Il est important de faire cette mise à jour, car Google voit les adresses ci-haut comme des sites différents. Ainsi, le fait de combiner celles-ci permet d'augmenter votre PageRank.

    Vous avez maintenant quelques astuces importants pour bien débuter votre référencement.

     

     

    Le Url Routing avec ASP.NET WebForm

    Le routing en .NET a débuté avec la sortie de ASP.NET MVC (Model View Controller). L'utilisation de l'engin de routing en ASP.NET requiert Microsoft Framework .NET 3.5 SP1.

    Qu'est ce que le Url Routing ?

    Le perfectionnement des moteurs de recherche comme Google, Yahoo ou Bing fait en sorte qu'il est important d'utiliser les dernières techniques pour s'assurer d'un bon positionnement. L'engin Url Routing d'ASP.NET vous permet de créer des liens plus attrayants. Vous pouvez ainsi inclure des mots clés ou termes spécifique directement dans vos liens.

    Exemple

    Imaginon que vous avec un formulaire ASP.NET standard : produit.aspx dans votre application. L'approche classique pour visionner cette page est de pointer une adresse directement sur l'emplacement physique de la page sur le serveur. Comme par exemple : http://www.monsite.com/produit.aspx?c=10&i=5, ou la valeur 10 représente la catégorie et la valeur 5 représente la clé primaire de l'item dans la base de données des produits.

    Le Routing permet de décomposer l'adresse en plusieurs points. Le résultat final ne représente plus un fichier physique sur le disque, mais plutôt un chemin virtuel. Pour reprendre l'exemple ci-haut, le résultat sera : http://www.monsite.com/hockey/patins-reebok.

    Le résultat que nous obtenons avec cette méthode n'est pas seulement plus propre, mais il permet d'inclure des mots clés important comme le nom de la catégorie en cours et le nom de l'item.

    Utilisation

    Ajoutez une référence : System.Web.Routing à votre projet.

    Pour l'utilisation avec IIS 6, vous devez ajouté une instruction httpModules dans le fichier Web.Config

    <httpModules>     
        <add name="RoutingModule"
        type="System.Web.Routing.UrlRoutingModule,
        System.Web.Routing,
        Version=3.5.0.0, Culture=neutral,
        PublicKeyToken=31bf3856ad364e35"/>
    </httpModules>
    

    Pour l'utilisation avec IIS 7, vous devez ajouté 2 entrées dans le fichier Web.Config

       
    <system.webServer>
       <modules runAllManagedModulesForAllRequests="true">
    
          <add name="UrlRoutingModule"
                 type="System.Web.Routing.UrlRoutingModule, 
                       System.Web.Routing, Version=3.5.0.0, 
                       Culture=neutral, 
                       PublicKeyToken=31BF3856AD364E35" />
        </modules>
        <handlers>
    
          <add name="UrlRoutingHandler"
                preCondition="integratedMode"
                verb="*" path="UrlRouting.axd"
                type="System.Web.HttpForbiddenHandler, 
                      System.Web, Version=2.0.0.0, Culture=neutral, 
                      PublicKeyToken=b03f5f7f11d50a3a" />
        </handlers>
    </system.webServer>
    

    Utilisation du module de Url Routing : http://haacked.com/archive/2008/03/11/using-routing-with-webforms.aspx.

    Exemple d'utilisation dans Visual Studio

    L'initialisation et la définition des modèles de URL se fait dans le fichier Global.asax. Voici un exemple :

        
        void Application_Start(object sender, EventArgs e)
        {
            RegisterRoutes(RouteTable.Routes);
        }    
        
        void RegisterRoutes(RouteCollection routes)
        {
            Route r = null;        
    
            routes.Add(new Route("favicon.ico", new StopRoutingHandler()));        
            routes.Add(new Route("{resource}.axd/{*pathInfo}", new StopRoutingHandler()));        
            routes.Add(new Route("{service}.asmx/{*path}", new StopRoutingHandler())); 
               
            r = new Route("{Culture}/evenements", new PageRouteHandler("~/evenement-liste.aspx"));        
            r.Constraints = new RouteValueDictionary { { "Culture", "[a-z]{2}" } };        
            routes.Add("evenement-liste", r);        
            
            r = new Route("{Culture}/evenements/{Annee}", new PageRouteHandler("~/evenement-liste.aspx"));        
            r.Constraints = new RouteValueDictionary { { "Culture", "[a-z]{2}" }, { "Annee", @"\d{4}" } };        
            routes.Add("evenement-annee", r);        
            
            r = new Route("{Culture}/evenements/{Annee}/{Mois}", new PageRouteHandler("~/evenement-liste.aspx"));        
            r.Constraints = new RouteValueDictionary { { "Culture", "[a-z]{2}" }, { "Annee", @"\d{4}" }, { "Mois", @"\d{2}" } };  
            routes.Add("evenement-annee-mois", r);
        }
    

    Construction de l'adresse URL
    Pour créer un lien, nous utilisons la collection de modèle générée lors de l'application startup (Global.asax).

    VirtualPathData pathData = 
        RouteTable.Routes.GetVirtualPath(
                      null,
                      "evenement-liste",
                      new RouteValueDictionary { { "Culture", "fr" } });
    
    return pathData.VirtualPath;
    

    Google Image Search pour générer des visites

    L'une des techniques les plus simple pour générer des visites sur son site Internet est l'optimisation d'images pour Google Image Search. Voici quelques petits conseils pour optimiser correctement une image.

    Utilisez des noms de fichier représentatif

    Assurez-vous d'utiliser un mot ou une courte phrase pour décrire l'image. Lorsque l'on utilise un apareil numérique pour prendre des photos, celui-ci donne automatiquement un nom à une photo : DSC000001.jpg. Comme par exemple : Si la photo en question est un téléviseur sharp LCD, renommer la photo comme suit : téléviseur-sharp-lcd.jpg (L'extension JPG est utilisé à titre d'exemple seulement). Je recommande l'utilisation des tirets "-" pour séparer chaque mot clé, car Google Image perçoit les tirets comme des espaces. Voilà une façon simple et très efficace de renommer vos images.

    Utilisez le tag ALT

    Le tag ALT permet de décrire d'avantage votre fichier photo à l'aide d'une courte phrase. Notez que le tag ALT est affiché par Google Image.

    Voici un exemple de code HTML optimisé :

    <img src="/images/televiseur-sharp-lcd.jpg" alt="Téléviseur LCD Sharp à vendre" à vendre" width="640" height="480" />

    Spécifiez la dimension

    Google Image Search propose plusieurs critères de recherche dont les dimensions de l'image. Pour augmenter les visites sur son site, il est primordial d'indiquer les dimensions de notre image. Utilisez les propriétés "width" et "height" comme dans l'exemple ci-haut.

    Ces étapes vous aiderons à obtenir un bon positionnement.

    À propos

    Je suis un développeur web. Je m'intéresse également à l'optimisation de site pour les moteurs de recherche (SEO). Sur ce site, vous trouverez des trucs, conseils, tutoriels pour vous aider à développer  des applications web à l'aide de : ASP.NET, ASP.NET MVC, jQuery, Javascript et plus. De plus, je vous tiendrai au courant des nouveautés sur le web.

    Pages