|
Comment bien construire une page web pour le référencement ? Publication : 03 septembre 2011 Afin d’optimiser le référencement de votre site internet voici quelques conseils SEO à appliquer sur vos pages et dans votre contenu web. Vous allez ainsi découvrir les bases d’un bon référencement naturel et gratuit. |
|
Pourquoi le contenu d’un site est-il si important ?
Avant tout chose, il est important de comprendre le fonctionnement des moteurs de recherche. Ces derniers utilisent des programmes de navigation, dit crawler, pour visiter les pages de votre site en vue d’indexer leurs contenus. Les mots-clés vont ainsi être identifiés en fonction de leur occurrence et du taux de densité (Nombre d’occurrence d’un mot/Nombre total de mots).
Le contenu d’un site, principalement le contenu textuel, est dorénavant l’un des principaux facteurs de succès d’un site web. Il va permettre à vos pages d’être bien positionnées dans les moteurs de recherche.
Pas conséquent, vous devez arriver à construire le contenu de votre site en utilisant les mots-clés potentiellement tapés par les internautes pour vous trouver.
Par où commencer pour améliorer le positionnement de ces pages web ?
Pour bien référencer son site internet, il est inévitable de passer par une phase d’optimisation de ses pages web. Et le travail doit être effectué sur les pages courantes, et particulièrement sur les pages profondes, sans se focaliser uniquement sur la page d’accueil du site web (généralement déjà bien référencée).
Il va donc falloir dans un premier temps établir une liste répertoriant les mots-clés et expressions stratégiques sur lesquels vous désirez être bien positionnés dans les moteurs de recherches. Il vous suffira ensuite de les insérer de façon cohérente dans le corps du texte.
Vous pouvez éventuellement commencer par les pages les plus stratégiques de votre site internet. Cela permettra à ce que le travail d’optimisation de vos pages ne soit pas trop chronophage.
Comment travailler sur la structure des pages ?
Voici quelques règles d’optimisation ‘on page’ à suivre pour bien positionner vos pages :
- Balise Title. Dans cette balise, décrivez précisément ce qui se trouve dans la page en utilisant les mots clés de votre liste. Etant souvent reprise par les moteurs de recherche pour identifier la page, essayez de formuler votre titre de telle sorte qu’il alimente la curiosité du visiteur et lui donner envie de visiter votre page.
- Balise H1. Tout comme la balise Title, la balise H1 (mais aussi H2, H3…) est particulièrement importante pour le référencement de vos pages. Il s’agit d’un titre éditorial qui va résumer le paragraphe qui suit. Chose utile pour les internautes mais aussi pour les moteurs de recherche qui vont accorder plus de poids aux mots-clés présents dans vos titres qu’au reste du contenu.
- Le contenu éditorial devra être correctement rédigé en intégrant vos mots-clés, avec le plus de variations possible. Positionner les mots-clés les plus importants en haut de page et/ou les mettre en relief grâce au gras, à l’italique...
- Des liens internes et externes peuvent également être intégrés au cœur du contenu en fonction de leurs pertinences.

Faut-il tout référencer? Et comment empêcher l’indexation de certains contenus ?
Par défaut, les moteurs de recherche indexent l’ensemble des pages et documents d’un site internet. Toutes ces données sont donc visibles dans les résultats des moteurs à l’issus de la requête d’un internaute.
Si vous souhaitez exclure une ou plusieurs pages ou documents de l'indexation, il vous suffit d’ajouter à la racine du site un fichier intitulé robots.txt. Ce fichier, contenant des commandes à destination des robots des moteurs de recherche, permettra d’interdire le crawl de certaines pages ou documents.
Finalement...
Il ne vous restera plus qu’à entretenir régulièrement votre contenu pour garder un bon ranking de vos pages. Garder à l’esprit que le contenu doit être pertinent (c’est-à-dire en rapport avec le thème du site), de qualité et régulièrement mise à jour.
Barbara
|
Entreprises : Comment aborder l’internet mobile ? Publication : 06 juin 2011 Je vous propose de décrire en quelques lignes le marché mobile et les différentes applications pour entreprises. |
|
Quelques repères
Les Smartphones
Ce marché est segmenté par les systèmes d’exploitation (ou OS) de ses terminaux intelligents : iOS d’Apple, Android de Google, Windows 7 de Microsoft, Blackberry OS de RIM et Symbian de Nokia (qui va passer d’ici 2015 sur l’OS de Microsoft).
Le parc mobile installé tourne autour de 3 acteurs au niveau mondial :
- Apple 29%
- Android 26%
- Blackberry 26%
- Autres 19%
Les marchés d’applications
Ces magasins d’applications sont devenus l’élément central du secteur.
Les mobinautes sont très friands des applications et de leurs nombreuses utilisations (utilitaires, jeux, presse, réseaux sociaux…).
Le leader est Apple avec son App Store composé de plus 250 000 applications et qui a dépassé en janvier 2011 la barre des 10 milliards d’applications téléchargés.
Son plus gros challenger est Android Market de Google avec 150 000 applications et un rythme de développement très rapide. Windows et Blackberry possèdent également leurs marchés d’applications mais ils restent pour le moment moins exhaustifs.
Les tablettes une composante à ne pas ignorer !
C’est un marché en pleine croissance d’ici 3 ans, 300 millions de tablettes devraient être vendus.
Sur ce secteur, nous retrouvons les deux mêmes acteurs, Apple qui a pour le moment une domination très importante (75% de part de marché) grâce aux ventes de l’iPad 1 & 2 et Google qui équipe les tablettes tactiles de Samsung (Galaxy Tab) ou Motorola (Xoom) par exemple (22% de part de marché pour Android au dernier trimestre 2010).
Quelles applications pour les professionnels ?
Aide à la vente :
Pour les commerciaux itinérants des applications sur tablette :
- Présentation/ catalogue interactifs
- Prise de commandes
- Votre site e-commerce sur smartphone ou tablette
Renfort de la notoriété :
Application événementiel, jeux, outil pratique.
Valorisation des publications :
Webzine, rapport annuel, communication financière, livre numérique.
Aide à la formation :
E-learning, Serious game, Quizz d’évaluation.
Comment débuter ?
Il est d’abord très important de bien réfléchir à vos besoins et de ne pas hésiter à solliciter des agences conseil.
Les principales questions à se poser :
- Quelle est ma cible et comment est-elle équipée ? (Apple, Android, ...)
- Quels sont mes objectifs ? (ventes, fidélisation, notoriété ...)
- Comment vais-je gérer la maintenance ? (Quels coûts peuvent être engendrés par l’évolution des terminaux ?)
En conclusion
L’internet mobile est un marché à fort potentiel, le comportement des internautes est de plus en plus nomade. Il peut être intéressant de s’y lancer mais une réflexion en amont est nécessaire pour bien aborder ce secteur qui évolue très rapidement.
Alexandre
|
Des applets signées dans vos pages web... Publication : 12 décembre 2010 Les bases pour créer et utiliser efficacement des applets dans vos pages web. |
|
Qu'est-ce qu'une applet ?
C'est un programme Java destiné à être téléchargé et exécuté par le navigateur de l'internaute.-
Intérêts
- Accès à l'ordinateur de l'internaute
- Pas besoin d'un serveur Java
- Appel direct depuis JavaScript sans forcément afficher l'applet
- Présentation en HTML / CSS / JavaScript
- Intelligence métier en Java
-
Inconvénients
- Exécution sur le poste client
- temps de téléchargement avant exécution
- lenteur d'exécution
- le plugin Java doit être installé
- Pas indexé par Google
- Exécution sur le poste client
Construction :
Une applet est une classe dérivant de java.applet.Applet
-
Cette classe dérivant de java.awt.Panel, on peut afficher l'applet grâce à AWT ou Swing:
public class MyApplet extends Applet {
public void paint(Graphics g) {
setLayout(new BorderLayout());
add(new JLabel("Hello World"), BorderLayout.NORTH);
}
}
-
Mais ce code étant long et compliqué à mettre en place, on peut appeler les méthodes Java depuis le javascript et looker la page en HTML/CSS:
Code Java:
public class MyApplet extends Applet {
public boolean createFile(String filename, String content) {
...
}
}
Code Javascript:
<script src="http://www.java.com/js/deployJava.js"></script>
<script>
var attributes = {id:'ap2cu', code:'com.ap2cu.applets.MyApplet', width:1, height:1};
var parameters = {jnlp_href:'ap2cu-applets.jnlp'};
deployJava.runApplet(attributes, parameters, '1.6');
var myApplet = document.getElementById('ap2cu');
myApplet.createFile('C:/test.txt', 'Content of the test file');
var myDate = new myApplet.Packages.java.util.Date();
alert(myDate.getTime());
</script>
-
On peut aussi appeler du Javascript depuis le Java (il faut ajouter le paramètre MAYSCRIPT dans la délcaration de l'applet):
public class MyApplet extends Applet {
public void executeJavascript(String command) {
JSObject win = (JSObject) JSObject.getWindow(this);
win.eval(command);
}
}
-
Pour faire intéragir Java et Javascript, il faut un descripteur d'applet JNLP (Java Network Launching Protocol):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jnlp spec="1.0 " codebase="http://ap2cu.com/tools/applets" href="ap2cu-applets.jnlp">
<information>
<title>AP2cu Applets</title>
<vendor>Antoine PINEAU</vendor>
</information>
<resources>
<j2se version="1.6 " href="http://java.sun.com/products/autodl/j2se"/>
<jar href="ap2cu-applets.jar" version="1.0.0" main="true"/>
<jar href="dom4j-1.6.1.jar" version="1.6.1" main="false"/>
</resources>
<applet-desc name="ap2cu" main-class="com.ap2cu.applets.AP2cuApplet" width="1" height="1"/>
<update check="background"/>
</jnlp>
Et la sécurité dans tout ça ?
Le système de sécurité des applets Java interdit totalement aux applets d'accéder au ressources de la machine (disque dur, base de registre) et au réseau (l'applet ne peut communiquer qu'avec son serveur d'origine)
Signer un jar numériquement permet de demander à l'internaute s'il autorise l'applet à outrepasser cette sécurité
On peut signer un jar de 2 manières différentes:
-
En ligne de commande, par les commandes fournies avec la JDK:
-
jdk-home/bin# keytool -genkey -alias votreNomdAlias
On répond ensuite normalement aux questions posées (et on note les mots de passe choisis!)
-
jdk-home/bin# jarsigner -verbose /chemin/vers/la/librairie/ma-librairie.jar votreNomdAlias
On utilise le mote de passe de la clé cryptographique générée précedemment
-
jdk-home/bin# keytool -genkey -alias votreNomdAlias
-
Avec un script Ant:
<!-- =================================
S I G N - J A R
================================= -->
<target name="SignJar" description="Sign the Jar file" depends="Jar">
<delete file="MyKeyStore" />
<genkey alias="MyAlias" storepass="MyPassword" keystore="MyKeyStore" validity="365">
<dname>
<param name="CN" value="Antoine PINEAU" />
<param name="OU" value="DEV" />
<param name="O" value="Eurelis" />
<param name="C" value="FR" />
</dname>
</genkey>
<signjar jar="ma-librairie.jar" alias="MyAlias" storepass="MyPassword" keystore="MyKeyStore" />
</target>
Pour passer la sécurité, il faut également faire usage du package java.security
Exemple de création de fichier sur le disque dur de l'internaute:
public static void createFile(final String fileName, final String content) {
java.security.AccessController.doPrivileged(new java.security.PrivilegedAction<String>() {
public String run() {
try {
File file = new File(fileName);
if (!new File(file.getParent()).isDirectory())
new File(file.getParent()).mkdirs();
FileOutputStream output = new FileOutputStream(file);
output.write(content.getBytes());
output.close();
return fileName " created";
}
catch (Exception e) {
return fileName " could not been created: " e.getMessage();
}
}
});
}
Bibliographie :
- Introduction aux applets :
- Applets sur le site officiel de Sun :
- JNLP file syntax :
- Recommandations du W3C pour l'intégration des applets dans une page web :
- Signer une applet :
- Intéractions Applet / Javascript :
-
Exemples d'utilisation en ligne :
- POST / GET parameters to an URL :
- Nombres premiers :
- Le Compte est Bon :
Antoine
|
jQuery Publication : 03 septembre 2010 Découvrez jQuery, une librairie JavaScript très appréciée des développeurs web. |
|
Découvrez jQuery :
JQuery est une librairie javascript opensource qui simplifie l'exploration DOM, la gestion d'évènements, de requètes Ajax et d'effets visuels, à l'instar de Dojo, Mootools, Prototype ou Mochikit.
Son paradigme est de rendre le code portable entre les navigateurs, plus concis et plus agréable à lire.
Elle est facile à prendre en main et à intégrer sur un site existant.
Son ancienneté (la première version date de 2006) et le dynamisme de son équipe, en font un outil stable, utilisable en environnement de production.
De nombreux plugins libres sont développés par la communauté, et répondent à la majorité des besoins fonctionnels ; à défaut ils rendront votre interface client moins rigide.
L'essentiel :
L'exploration des documents xml est sa première fonctionnalité.
Elle permet de consulter/modifier des données de manière dynamique. Le construction DOM prend en paramètre le chemin de(s) élément(s) à retourner, à la manière d'une requète xpath. La syntaxe utilisée ressemble beaucoup aux sélecteurs CSS3 :
- $('h1') : retourne tous les titres de premier niveau
- $('div#content') : permet de sélectionner un élément par son id
- $('div.class') : ou par sa classe
- $('div#docs-content pre:contains('.title'):eq(1)') : il est également possible de parcourir en profondeur l'arbre DOM
Une des forces de jQuery est de nous forcer à revoir notre manière de coder pour y intégrer par exemple le concept objet (implémenté mais si rarement utilisé en javascript).
- $dom = $('
') : construit un lecteur DOM à partir d'une chaine de caractères représentant du xml - $('div').html() : retourne le contenu innerHTML interprété
- $('div').css('color', 'red') : permet la manipulation (get/set) des attributs css
- $('div').attr('value', 'true') : permet la manipulation de n'importe quel attribut xml
- $('h1').each(function() {
alert($(this).html() + ' a pour classe : ' + $(this).attr('class'));
});
Pour aller plus loin :
La gestion des évènements fonctionne d'une manière assez similaire à ce que l'on peut trouver en Java ou C++. Pour associer une méthode ( handler() ) à un évènement ( trigger() ) ; on va créer un listener qui va se charger de rapporter tout déclenchement sur un élément donné.
> $('a').click(function() { alert('vous avez cliqué sur le lien ' + $(this).html()); return false; });
La méthode ci-dessus permet par exemple d'intercepter les clics sur les liens, mais on peut imaginer des scénarios plus complexes ; comme la prévarication d'un formulaire par exemple :
> $('form input[type="submit"]').click(function() { $form = $(this).parents('form:first'); if(validate_entries($form)) { $(form).submit(); } else { return false; } });
Il est à noter que chaque lien évènement/méthode s'ajoute à ceux déjà définis. Si l'évènement est déclenché, elles seront toutes exécutées dans l'ordre des déclarations.
jQuery offre des méthodes simplifiées de gestion d'appels asynchrones. La librairie permet de gérer la plupart des formats de réponse (texte, html, xml, json). Les appels client/serveurs doivent être locaux afin de limiter les possibilités de cross-site-scripting (XSS). Si l'on souhaite utiliser un service externe, il faudra implémenter le dialogue serveur/serveur. Voici les deux méthodes principales :
- $.get(uriServlet, {param1:"value1", param2:"value2"}, callback(data)) : lance une requête asynchrone, avec une fonction callback synchronisée au retour
- $('div.destination').load(uriServlet) : permet de charger la rΘponse d'une servlet dans un objet DOM
Il est fortement conseillé de consulter la documentation relative aux méthodes Ajax tant celles-ci peuvent être paramètres.
Etendre jQuery :
jQueryUI est le pendant graphique de la librairie. Les deux librairies ont été séparées car la seconde nécessite un ensemble de dépendances médias. Ainsi on pourra se contenter de jQuery seul si l'on souhaite gagner en performances, ou jQuery+jQueryUi pour enrichir les templates clients. On y trouve entre autres :
- boites de dialogues
- drag'n drop
- calendrier
- barre de chargement
- affichage divers : carrousel, accordéon, ...
Chaque thème est personnalisable rapidement afin de mieux coller à la charte graphique.
Il existe aussi de nombreux modules fonctionnels (plusieurs centaines). Aussi il y en aura certainement un qui correspondra à vos besoins. L'installation d'un module se résume à l'ajout du fichier librairie et de ses dépendances. Parmi les plus populaires, on pourra citer :
- "Autocomplete" pour l'auto-complétion
- "Simple WYSWYG" comme éditeur rich text
- "Chart" pour la création de graphiques javascript à partir de tableaux de données
- "Quicksearch" pour le tri rapide dans une liste données
- "Galleria" pour les galleries d'images
L'installation de nombreuses extensions peut rapidement poser un problème de poids. Il est donc conseillé d'utiliser un compresseur javascript/css comme YUICompressor afin d'améliorer les performances.
Conclusion :
jQuery n'implémente rien de nouveau mais permet de gagner :
- de la lisibilité, avec une syntaxe non-obfuscastrice qui remet l'objet à l'honneur
- de la robustesse, en s'appuyant par ce qui a déjà été codé, testé et approuvé
- du temps, qu'on aurait perdu en codant des hacks de portabilité inter-navigateurs
Bibliographie :
- Site officiel : http://jquery.com
- Documentation API : http://docs.jquery.com
- Dépôt officiel de plugins : http://plugins.jquery.com
- Librairie ihm : http://jqueryui.com
Arnaud
|
Google Buzz Publication : 14 février 2010 Le web social selon Google débarque dans Gmail. |
|
Le web social compte désormais un nouvel acteur, et pas n’importe lequel : Google !
Le géant américain lance en effet son propre service de partage d’informations : Buzz.
Réponse directe à Facebook et Twitter, cette nouvelle plateforme accessible depuis Gmail doit permettre à chacun de partager des informations, des liens, des photos, … de manière publique ou privée avec sa communauté de contact Gmail.
A nouvelle plateforme, nouvelles fonctionnalités… Google Buzz ne permet pas seulement de partager, mais également de commenter, et de recommander une information. Ainsi les « buzz » plus intéressants ressortiront-ils en fonction des appréciations reçues.
Google Buzz s’intègre également à d’autres services tels que, Google Reader, Picasa, Flickr, Twitter, Youtube, Blogger pour faciliter la génération d’actualités.
L’univers mobile n’a pas été oublié, avec la possibilité de buzzer depuis un smartphone. L’information peut être ainsi géolocalisée et reprise dans Google Map.
Pour en savoir plus sur Buzz, Google nous propose 2 vidéos :
Google Buzz propose bien évidement avec une API permettant de connecter sites internet et applications pour générer des buzz.
Et il y a fort à parier que nous allons voir fleurir des boutons ‘Share it on Buzz’.
Vincent
|
Google Wave et l’entreprise 2.0 Publication : 30 janvier 2010 Que faut-il attendre de cette plateforme de collaboration ? |
|
Présentée officiellement mi-2009 et annoncée pour fin 2010, Google Wave matérialise la vision du géant du web Google concernant les outils collaboratifs. La promesse de cet outil n’est rien de moins que de répondre à la question suivante : à quoi ressembleraient les emails s’ils avaient été « inventés » aujourd’hui ? En effet, même si des progrès ont été réalisés depuis, les emails ont vu le jour au début des années 70, bien avant internet… La question est donc légitime !
La réponse proposée prend la forme d’une plateforme collaborative temps réel en ligne, un pur produit web 2.0.
Alliant les qualités de l’email d’un forum et d’une messagerie instantanée, cet outil favorise le partage d’informations en facilitant l’échange d’idées et de documents.
La promesse était tellement séduisante, il fallait la confronter à la réalité de l’entreprise. Nous avons donc expérimenté (et nous expérimentons encore…) chez Eurelis cet outil dans les domaines suivants :
- la gestion des projets,
- la collaboration interne,
- l’animation de communauté autour de nos contributions Open Sources.
Les résultats ont été très rapides et les promesses tenues. L’information est effectivement mieux partagée au sein des équipes, la collaboration avec nos partenaires est facilitée. Le concept de « hosted conversation » favorise l’émergence de silos d’informations accessibles à la communauté concernée et facilement modifiable.
Quel avenir pour Google Wave ?
La plateforme Wave est complètement ouverte. Elle expose des API très riches pour la réalisation d’extensions afin d’intégrer celle-ci avec d’autres services. A croire l’éditeur SAP avec sa proposition d’application Gravity. Cette ouverture va permettre une réelle émergence de services à valeur ajoutée tirant parti des qualités intrinsèques de la solution proposée par Google.
En conclusion, même si Google Wave présente encore beaucoup de défauts de jeunesse (il ne faut pas oublier que la plateforme est encore en version preview), elle propose une synthèse intéressante des différents outils collaboratifs aujourd'hui disponibles. C'est, en cela, une réponse pertinente aux enjeux de mutation des entreprises vers le 2.0.
Vincent
|
Expressions Régulières Publication : 26 janvier 2010 Ce qu'il faut savoir pour s'en sortir... |
|
Définition : C'est une chaîne de caractères qui permet de décrire un modèle (ou pattern) de chaîne de caractères. Ce modèle est décrit à l'aide d'opérateurs, de valeurs et de variables. Des options sont disponibles pour simplifier l'écriture de la REGEX.
Intérêt :
MATCH : A vérifier qu'une chaîne de caractères vérifie un pattern donné : la REGEX (Est-ce que ma chaîne commence / finit par … , contient / ne contient pas …, correspond à une adresse e-mail / web … ?)
EXTRACT : A extraire une partie d'une chaîne de caractère : un groupe (Je veux les paramètres param1 et param3 de l'URL … parser une page web …)
SUBSTITUTE : A remplacer une partie d'une chaîne de caractères par une autre (Modifier massivement le format d'un fichier CSV, SQL … Transformer un CSV en SQL…)
Syntaxe :
Caractères simples :
xsatisait le caractère x\tsatisait le caractère « tabulation »\nsatisait le caractère « nouvelle ligne »\rsatisait le caractère « retour charriot »
Caractères de limite :
^caractérise le début de la ligne quand il est au début de l'expression régulière$caractérise la fin de la ligne quand il est à la fin de l'expression régulière\bcaractérise une coupure de mot (des caractères au début ou à la fin d'un mot)\beursatisfaiteurelismais pasagitateur(mot qui commence par eur)eur\bsatisfaitagitateurmais paseurelis(mot qui finit par eur)
- \B caractérise les caractères à l'intérieur d'un mot (ni au début, ni à la fin)
\Bisatisfaitgitetci(mot qui ne commence pas par i)i\Bsatisfaitgitmais pasci(mot qui ne finit pas par i)
Classes de caractères :
- Classes simples
[abc]satisfait a, b ou c. Equivalent àa|b|c
- Négation
[^abc]satisfait tout sauf a, b ou c
- Intervalle
[a-z]satisfait tous les caractères de a à z[A-Z0-9]satisfait tous les caractères de A à Z et de 0 à 9
- Union
[a-d[c-p]]est l'équivalent de[a-p]
- Intersection
[b-p&&[a-d]]est l'équivalent de[b-d]
- Soustraction
[a-z&&[^bc]]est l'équivalent de[ad-z][a-z&&[^m-p]]est l'équivalent de[a-lq-z]
Classes abrégées :
.satisfait tous les caractères\dest un chiffre ("digit"). Equivalent à[0-9]\Dest un non-numérique. Equivalent à[^0-9]ou[^\d]\sest un espacement ("whitespace"). Equivalent à [\t\n\f\r]\Sest un non-espacement. Equivalent à[^\s]\west un alphanumérique ("word"). Equivalent à[a-zA-Z_0-9]\West un non-alphanumérique. Equivalent à[^\w]
Opérateurs logiques :
XYsatisfait le caractère X suivi du caractère YX|Ysatisfait le caractère X ou le caractère Y(?:X)satisfait une chaîne contenant X (sans capturer X)X(?!Y)satisfait une chaîne contenant X non-suivi de Y (sans capturer Y)
Groupes :
Un groupe permet de définir un sous-motif dans une expression régulière.
- capturer le caractère X :
(X) - récupérer le nième groupe capturé en référence arrière (dans la regex):
\n - récupérer le nième groupe capturé en substitution (hors de la regex):
$n
Conseil: toujours suivre l'ordre des parenthèses ouvrantes
Drapeaux :
Les drapeaux sont les options de l'expression régulière.
- c : au cas où une erreur survient, ne pas réinitialiser la position de la recherche
- g : rechercher globalement, c'est-à-dire trouver toutes les occurrences
- i : ignorer la casse
- m : multiple lines, la chaîne de caractères peut comporter plusieurs lignes
- o : once, n'appliquer le modèle de recherche qu'une seule fois
- s : single line, considérer la chaîne de caractères comme une ligne distincte
- x : extended, utiliser la syntaxe étendue
Quantificateurs :
- Quantificateurs gourmands ou avides (greedy) : cherchent le nombre maximal de répétitions qui autorisent le succès de la recherche.
X?satisfait le caractère X, 0 ou 1 foisX*satisfait le caractère X, 0 ou plusieurs foisX+satisfait le caractère X, 1 ou plusieurs fois. Equivalent à XX*X{n}satisfait le caractère X, exactement n foisX{n,}satisfait le caractère X, au moins n foisX{n,p}satisfait le caractère X, au moins n fois, mais pas plus de p fois
- Quantificateurs réticents ou paresseux (reluctant) : cherchent le nombre minimal de répétitions qui autorisent le succès de la recherche
- C'est l'exacte même syntaxe que les quantificateurs « gourmands » à laquelle on ajoute ?
- Quantificateurs possessifs (possessive): cherchent le nombre maximal de répétition mais sans assurer le succès de la recherche (sans regarder si la suite de l'expression est satisfaite dans la chaîne)
- C'est l'exacte même syntaxe que les quantificateurs « gourmands » à laquelle on ajoute +
Exemples à réutiliser :
- Code Postal en France
\b[0-9]{5}\b
- Numéro de téléphone en France
\b0[1-689]([-. ]?\d{2}){4}\b
- Adresse E-mail
\b[\w.%+-]+@[a-zA-Z\d.-]+\.[A-Za-z]{2,4}\b
- URL
\b[a-zA-Z\d]+://(\w+:\w+@)?([a-zA-Z\d.-]+\.[A-Za-z]{2,4})(:\d+)?(/.*)?\b
- Adresse IP v4
\b((25[0-5]|2[0-4]\d|[01]?\d{1,2})\.){3}25[0-5]|(2[0-4]\d|[01]?\d{1,2})\b
Conclusion :
Une bonne expression régulière est une expression régulière:
Concise : Ecrire le strict minimum pour que cette expression régulière soit nécessaire et suffisante.
Claire : Être capable de comprendre facilement cette expression régulière, même en la regardant longtemps après.
Qui correspond précisément au besoin :Bien définir le besoin (les règles), pas d'erreur possible en fonction de différentes chaînes de caractères en entrée.
Bibliographie :
- Test en ligne d'expressions régulières :
- Cours et exemples d'expressions régulières :
- Expressions régulières avancées :
- Expression régulières en Java :
- Expressions régulières en PHP :
- Expressions régulières en Perl :
- Expressions régulières en Javascript :
- Expressions Régulières sous vi :
Antoine
|
Annonceurs et internet Publication : 14 décembre 2009 Communication : avec la crise, les annonceurs favorisent Internet. |
|
La nouvelle édition du Baromètre Digitas vient de confirmer une tendance déjà observée en début d’année : Internet est le seul support média à ne pas avoir souffert, en 2009, du ralentissement des investissements en matière de communication, à contre-courant des autres secteurs tels que la radio, la télévision, le mailing papier, l’affichage,… 36% des annonceurs déclarent même les avoir revus à la hausse entre le 1er et le 2ème semestre, le Web étant par ailleurs considéré (pour 56% des sondés) comme le média le plus à même de bénéficier des fameux reports de budgets de fin d’année.
Les trois principales raisons invoquées : la réactivité du Web, le ROI et le "coût intrinsèque" des investissements.
Selon ce même baromètre, les leviers favoris des annonceurs pour communiquer sur Internet demeurent (depuis 2008) et demeureront en 2010 l’emailing, la conception de sites et, dans une moindre mesure, la création de contenus.
Une nouveauté cependant : l’innovation, désormais élément majeur dans le choix du média online pour10% des personnes interrogées.
Sandrine
|
Le syndrome de la page blanche sous Safari 4 Publication : 10 décembre 2009 Une page blanche ou partiellement chargée sur Safari 4 ? |
|
Safari 4 (de la version 4.0.1 à la version 4.0.4, dernière sortie à ce jour) présente sur de nombreux sites un problème de rafraichissement allant d'un fonctionnement à peu près normal à une navigation impossible (pages blanches, images manquantes, CSS partielles....).
Tout réside ici (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) : the client did not produce a request within the time that the server was prepared to wait. The client MAY repeat the request without modifications at any later time.
dans la section "408 Request Timeout"
Safari 4 applique à la lettre le "may repeat...or may not" et ne renvoie pas sa requête au site en cas de timeout. Pas de requête, pas de réponse, pas de réponse, pas de page.
La solution consiste à rajouter dans la configuration Apache (httpd.conf) la ligne suivante :
BrowserMatch ".*Safari.*" nokeepalive force-response-1.0
qui force une réponse HTTP 1.0 et pas de keepAlive pour les navigateurs Safari (cette règle est surement à affiner, mais ce problème surgissant généralement quand vous ne l'attendez pas, c'est une bonne solution d'urgence).
Julien
|
OpenCms@Eurelis Publication : 29 novembre 2009 Retrouvez nos contributions sur Google Project. |
|
En tant qu'acteur reconnu de la communauté OpenCms, Eurelis contribue activement à l'évolution de la solution.
Notre première contribution a été la traduction en français du back-office. Celle-ci a rapidement été suivie par un guide utilisateur également en français. Nous proposons par ailleur une tâche ANT permettant la construction d'un module directement depuis un atelier de développement. Notre module de workflow intègre le moteur OSWorkflow et lui ajoute une interface utilisateur complètement intégrée au back-office.
Ces modules sont disponibles au téléchargement sur notre site depuis leurs sorties officielles. Depuis peu, nous avons créé des projets sur la plateforme Google Projects.
Prochaine étape : initialisation des référentiels SVN pour une complète mise à disposition des codes sources...
En attendant, enjoy our contributions !
Vincent
|
Sélection - Novembre 2009 Publication : 16 novembre 2009 Une sélection de sites à voir. |
|
Pour tester son MOJO :
http://www.the711club.com/
jeu interactif video
Pour ceux qui veulent passer à la vitesse supérieure :
http://panamera.com
Pour les sportifs…spécial dédicace aux volleyeurs !!
http://www.puma.jp/tribes/
Pour l’expérimentation auditive et intéractive :
http://www.glitchscape.com/
Pour la simplicité de navigation et l’efficacité éditoriale :
http://lbiatlanta.com/
Pour les amateurs de picto et gros boutons :
http://www.cubic.com.br
…avec des études de cas assez efficaces
Bonnes visites,
Stéphane
|
Chiffres internet - Septembre 2009 Publication : 06 novembre 2009 33,6 millions d’internautes en France en septembre 2009. |
|
Après les sites les plus consultés, le nombre d’internautes en France, toujours plus important : nous étions ainsi 33,6 millions en septembre 2009 (chiffres Médiamétrie / NetRatings et l'Observatoire des usages Internet) soit 62,8% de la population et une progression de 5% par rapport à la même période en 2008. 95,3% des internautes tricolores se connectent via le haut débit comme le câble ou l'ADSL.
Attention, si vous êtes un surfeur de moins de 11 ans vous n’avez pas été comptabilisé. Oui, je sais, c’est dur… ;-)
Sandrine
|
Fréquentation - Septembre 2009 Publication : 02 octobre 2009 Les sites français les plus visités au cours du mois de septembre 2009. |
|
L’OJD (Office de Justification de la Diffusion), unique organisme de certification des données de fréquentation de l’Internet en France, vient de publier son classement des sites français les plus visités au cours du mois de septembre 2009, à découvrir ici : http://www.ojd-internet.com/chiffres.
Ce classement ne concernant que les sites abonnés au service, je vous invite également à consulter celui de Médiamétrie (abonnés seulement, là aussi) où n’apparaissent plus ni Lemonde.fr ni Lefigaro.fr mais où Lequipe.fr et surtout Skyrock.com - soupir soupir…lâchez vos com’s... ;-)... - tiennent encore le haut du pavé
Sandrine
|
Sélection Sites Flash - Août 2009 Publication : 01 septembre 2009 On a aimé... |
|

Pour les Morfal !!!!
http://www.cheeseandburger.com

Attention navigation un brin experimentale !
http://www.nike.com/sportswear/collections/fall09/

Pour se faire une p’tit shoot

Pour l’anim et les illustrations
http://sc.landsend.com/packland/

Pour les pro du tunning
http://www.fordvehicles.com/the2010mustang/

Pour se rincer l’œil ?!

Russe et radioactif
Stéphane
|
Portail ou portail ? Publication : 29 juin 2009 Entre besoin fonctionnel et définition technique. |
|
En matière de réalisation de sites internet, la notion de portail présente une ambigüité dans la mesure où elle représente : pour le business un besoin fonctionnel et pour les techniciens une exigence technique. Pour que tout le monde se comprenne bien, un éclaircissement est sans doute nécessaire !
Du point de vue fonctionnel on utilise le terme de portail pour exprimer le besoin de point d’accès centralisé à l’information.
Ainsi, parlera-t-on d’une page d’accueil portail sur un site institutionnel pour traduire le besoin de voir apparaître sur celle-ci de l’information issue de l’ensemble des rubriques majeures du site. On parle également de pages multithématiques. Une page ainsi conçue permet au visiteur d’avoir un aperçu synthétique des informations disponibles et de pouvoir rapidement y accéder.
Cette notion peut également être déclinée sur les pages d’entrée de chaque rubrique et sur des landing pages spécifiques.
On parlera également de portail pour évoquer un point d’entrée unique vers une collection de services et de ressources.
Pour les techniciens, un portail est une plateforme technique permettant l’intégration d’applications en proposant des services transversaux tels que la gestion des utilisateurs et le contrôle d’accès.
Il existe 2 grandes familles de portails :
- Java/J2EE avec la spécification JSR 168 définissant la notion de portlets sensés permettre l’intégration d’applications dans n’importe quel serveur compatible.
- Microsoft SharePoint avec ses WebPart, contrôle ASP .Net intégrable par l’utilisateur dans n’importe quelle page.
Alors portail ou portail ?
On retrouve les portails techniques principalement en environnement intranet, où les besoins d’intégration d’applications sont les plus forts. Il faut néanmoins noter que des solutions basées sur un CMS et un mécanisme SSO présentent des alternatives séduisantes de par leur légèreté.
Coté site internet, les CMS de dernière génération (Drupal, Typo3, OpenCms, ...) proposent des solutions très flexibles, susceptibles de répondre à la plupart des problématiques.
Alors à vos cahiers de charges...
Vincent
|
SEO SEO SEO... Publication : 16 mai 2009 Search engine optimization, le nouveau graal du web français ? |
|
Ce qui hier encore n’était qu’un souhait devient en ces temps de crise un objectif majeur pour tous les marketteurs… ROI oblige !
Pourquoi chercher à améliorer le référencement d’un site internet ?
La réponse est simple : pour améliorer sa fréquentation et donc les revenus générés sans investissement promotionnel.
Mais il y a également une autre raison : occuper les premières places face à la concurrence. Un site qui n’est pas présent dans les premiers résultats donnés par un moteur de recherche est un site qui n’existe tout simplement pas pour l’internaute.
Alors comment faire ?
Là encore, la réponse est simple : faire ce que Google attend (Google totalise à lui seul plus de 90% de parts de marchés en 2008). C'est-à-dire, mis à part quelques ajustements techniques visant à améliorer l’accessibilité des contenus :
- développer le contenu pour améliorer la notoriété du site,
- pratiquer l’échange de liens pour améliorer la popularité des pages,
- et utiliser un maximum de supports (YouTude, Wikipédia, …) dans une stratégie d’occupation d’espace.
Voila, vous savez ce qu’il vous reste à faire.
Et surtout, le référencement d’un site ne s’améliore que si l’on s’en préoccupe !
Vincent
|
Tendances 2009 Publication : 27 mars 2009 Chiffres et tendances 2009 |
|
Le net concerne de plus en plus de monde
22 % de la population mondiale sera connectée en 2011, soit 36 % de plus qu'en 2006 où le nombre d'internautes connectés est estimé à 1,1 milliard par l'institut d'études Jupiter Research.
Cette croissance sera essentiellement nourrie par quatre pays : le Brésil, la Russie, l'Inde et la Chine. A contrario, elle sera ralentie par quatre marchés arrivés, eux, à maturité : Le Canada, le Japon, les Etats-Unis et l'Europe occidentale.
La crise est-elle virtuelle ?
Etats-Unis : croissance des investissements pour les publicités vidéo sur Internet en 2009 : 1.500 millions contre 640 millions en 2007.
La crea au coeur de la préoccupation des internautes
42 % des internautes trouvent mal conçu 1 site sur 3.
Les sites Web français ont encore des progrès à faire en matière d'ergonomie, à en croire une étude de Benchmark Group (éditeur du Journal du Net) auprès de 824 internautes. 75 % des personnes interrogées trouvent "mal réalisé" au moins un site sur cinq (19 % disent "plus d'un sur trois"). Seuls 8 % pensent que seulement un site sur dix est mal conçu.
Stéphane
|
Eurelis ouvre son blog Publication : 03 février 2009 Découvrez le blog Eurelis. |
|
Pourquoi un blog ?
Parce que le web est fait de tendances, certaines passent aussi vite qu'elles sont arrivées, d'autre restent et s'inscrivent dans un mouvement de fond. Ce blog se présente comme une tribune offerte à nos collaborateurs pour s'exprimer sur les sujets qui nous passionnent et font l'actualité de notre métier.
Qu'ils soient économiques, marketing ou technologiques, les points de vue tenus dans cet espace se présentent comme des billets sans prétention d’exhaustivité.
Alors souhaitons la bienvenue et une longue vie à ce nouveau blog !
Qu’il vous apporte un éclairage différent sur le monde (informatique) qui nous entoure.
Vincent