Astuces de Webmaster

Author Archive

Nouveau format d’image compressé : WEBP

by Rom's on 07 oct 2010, under Développement Web

A lire sur Alsacreations.com : Google introduit le WebP, un nouveau format d’image et en anglais sur http://blog.chromium.org/2010/09/webp-new-image-format-for-web.html

A noter :
- Les JPG + GIF constituent 65% du poids des pages web
- des gains entre 10 et 60% par rapport à JPG !
- Galerie de démonstration de leurs performances : http://code.google.com/intl/fr/speed/webp/gallery.html

2 Comments :, , , , , , , Lien Permanent

MySQLDump – Sauvegarder sa base MySQL dans un fichier (Debian ou autre)

by Rom's on 06 oct 2010, under Architecture

MySQL est une des bases de données les plus utilisées sur Linux aujourd’hui, et une des problématiques les plus récurrentes est d’exporter sa base pour une raison ou une autre (exports sur d’autres serveurs, sauvegardes,…)

Une bonne commande pour faire cela est mysqldump, Pour faire cela, vous devez utiliser le shell (via putty par exemple) pour vous connecter sur votre serveur dédié ou sur votre poste de travail sous linux. Si vous êtes sur un serveur mutualisé, il faut que vous voyez avec votre hébergeur, pourquoi pas dans votre interface d’administration si vous en avez une.

MySQLDump prépare le script pour (re-)créer les tables et le contenu de celles-ci, prêt à être importé plus tard.

La commande au plus simple :

mysqldump -u [nomUtilisateur] -p [motDePasse] -B [nomBDD] > [fichierSauvegarde].dump

Si vous ne saisissez pas le mot de passe mais laissez -p il vous demandera de donner le mot de passe. Si vous souhaitez éviter de dévoiler le mot de passe dans l’historique, c’est mieux.

Vous pouvez également ajouter une option pour optimiser la requête.

mysqldump –opt -u [nomUtilisateur] -p [nomBDD] > [fichierSauvegarde].dump

Ceci permettra de supprimer les tables (DROP) avant qu’elles ne soient recréées puis remplies de leur contenu.

Pour des raisons évidentes de taille de base de données, il est parfois bien de compresser (gzipper) le fichier extrait :

mysqldump –opt -u [nomUtilisateur] -p [nomBDD] | gzip > [fichierSauvegarde].dump.gz

Le jour où vous souhaitez réimporter votre base, il suffit d’inverser la flèche. (Attention à dézipper le fichier au préalable – gunzip – s’il était gzippé)

mysql [nomBDD] < [fichierSauvegarde].dump

Pour savoir où sont les fichiers : commande pwd pour voir où vous êtes

La documentation Man de MysqlDump avec toutes les options :

http://www.manpagez.com/man/1/mysqldump/

6 Comments :, , , , , Lien Permanent

Optimiser sa base de données MySQL

by Rom's on 04 oct 2010, under Architecture

Je viens de tomber sur un petit recueil d’astuces pour optimiser ses requêtes et sa base de données MySQL que j’aimerais partager avec vous.

Tout est ici : http://www.lephpfacile.com/manuel-mysql/mysql-optimization.php#tips

- vérifier les index / créés vs qui devraient exister
- types de tables (MyISAM,…)
- éviter les varchar et blob pour ce qui est régulièrement modifié
- pas forcément utile de scinder les grosses tables en plus petites
-…

Une petite check-list à se faire de temps en temps !

Laisser un commentaire :, , , Lien Permanent

ETL Kettle – Découverte de l’outil d’ETL de Pentaho Data Integration

by Rom's on 24 août 2010, under Architecture, Astuces, Développement Web

Kettle est un outil d’ETL (Extract, Transform, Load) de la suite BI de Pentaho Data Integration. Son principal intérêt est de récupérer diverses sources dans divers formats, de les traiter, de les transformer, et de former un résultat puis d’exporter dans le format souhaité vers une destination souhaitée.

Tout ceci se fait de façon visuelle en créant des étapes et en éditant le détail de chaque étape. (je sais, ça dépasse.. mais comme ça on peut tout voir ;-) )

Visuel de la préparation de scripts avec Kettle

Il est possible de faire des scripts personnalisés sous forme de script java (javascript)

Exemples de sources et exports possibles :

  • Bases de données (37 bases de données disponibles dont MySQL, Oracle, SQLite, PostgreSQL, MS Access, MS SQL Server, Sybase, Firebird SQL, AS/400,…)
  • Fichiers (XML, TXT, CSV, PSV, TSV ou autres séparateurs, instructions SQL dans fichier,
  • Flux SOAP, REST
  • Récupération ou envoi depuis ou vers des FTP/SFTP/FTPS/over SSH2
  • Possibilité de dézipper ou zipper des fichiers en entrée ou en sortie
  • Envoi / récupération depuis ou vers des e-mails / courriels (suivant sensibilité)

Comme les exemples sont souvent plus parlants, je vais vous donner quelques exemples bien pratiques de choses que l’on peut faire avec un ETL :

  • récupérer un fichier XML à 10 niveaux de données depuis un FTP, l’aplatir sous forme de tableau, mettre à jour les données dans une table MySQL puis l’exporter sous forme de fichier CSV et l’envoyer par e-mail
  • joindre trois fichiers excel (format XLS) et les entrées en base de données en comparant les sources, en dédoublonnant, et en faisant un fichier par type d’erreur possible
  • prendre tout simplement un fichier, renommer des colonnes, en rajouter, normaliser la longueur des champs et le nombre de décimales, enlever les espaces vides et réexporter le tout dans un format souhaité

Les scripts réalisés visuellement sont exportables et installables comme tâches planifiées sur un serveur.

Bon, pour tout ça, je vous conseille de télécharger la version Pentaho Data Integration Spoon 4.0 (http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=spoon+4.0)

Je vous mets ici bientôt quelques exemples de scripts que vous puissiez jouer avec.

8 Comments :, , Lien Permanent

PHP : Distance en KM grâce à Google Maps API Directions

by Rom's on 21 août 2010, under Développement Web

Petite fonction pour calculer la distance entre un point A et un point B grâce à l’API de Google Maps qui a été récemment ouverte pour les itinéraires (Google Maps API Directions).

Vous pouvez ainsi récupérer la distance d’un trajet, sa durée (temps de trajet), les étapes et l’adresse convertie de départ et d’arrivée (permet de récupérer une adresse postale par rapport à des coordonnées)

Vous avez ainsi la distance réelle en kilomètres par la route et non à vol d’oiseau !

function getDistance($adresse1,$adresse2) {
$url='http://maps.google.com/maps/api/directions/xml?language=fr&origin='.$adresse1.'&destination='.$adresse2.'&sensor=false';
$xml=file_get_contents($url);
$root = simplexml_load_string($xml);
$distance=$root->route->leg->distance->value;
$duree=$root->route->leg->duration->value;
$etapes=$root->route->leg->step;
return array(
'distanceEnMetres'=>$distance,
'dureeEnSecondes'=>$duree,
'etapes'=>$etapes,
'adresseDepart'=>$root->route->leg->start_address,
'adresseArrivee'=>$root->route->leg->end_address
);
}

Le guide from Google est par là : http://code.google.com/intl/fr-FR/apis/maps/documentation/directions/

ATTENTION : GOOGLE ACCEPTE UN NOMBRE LIMITE DE REQUETES (sous peine d’un status : OVER_QUERY_LIMIT). Si vous souhaitez récupérer plusieurs résultats à la suite, Il faut donc soit temporiser les requêtes et en faire une toutes les 100ms (100 millisecondes soit 100000 microsecondes, source : un script exemple de google utilise ce délai), soit suivre une méthode que je vous proposer bientôt ici même (mise en cache). Il est important de le faire dès le départ, j’en ai fait l’amère expérience, mon IP personnelle est blacklistée de façon permanente apparemment.. (suite à deux fois une dizaine de requêtes simultanées, il ne faut pas grand chose…)

30 Comments :, , , , , , Lien Permanent

Icones Facebook, Twitter et autres réseaux sociaux dessinées à la main (icones libres de droit)

by Rom's on 19 août 2010, under Marketing

icones réseaux sociaux dessinées à la main Un peu de style pour vos icônes que diable ! Si vous souhaitez que vos icones de réseaux sociaux (facebook, twitter,…) aient un peu d’allure, le style dessiné à la main est plutôt sympa dans le genre.

Deux liens pour cela :
http://theg-force.deviantart.com/art/Social-Icons-hand-drawned-109467069 (le lien de téléchargement format *.rar se trouve sur la droite de la page)
http://www.jankoatwarpspeed.com/post/2008/10/20/handycons-a-free-hand-drawn-social-media-icon-set.aspx

Pour l’exemple, vous pouvez aller sur http://52sorties.fr par exemple et aller sur une des « fiches produit ». (visuel ci-dessus)

Ces icones sont toutes libres de droits et gratuites évidemment.

Laisser un commentaire :, , , Lien Permanent

Itinéraire et Distance via HTTP (PHP par ex) : l’API de Google Maps a évolué !

by Rom's on 20 mai 2010, under Architecture, Développement Web, DSI

L’exemple en PHP est ici : PHP : distance en kilomètres, durée et étapes du trajet grâce à Google Maps API Directions

Il était amusant de voir que cette fonctionnalité était possible mais qu’elle était juste refusée au niveau de la requête par Google : si vous lisiez via le navigateur le flux JSON, vous y voyiez des informations intéressantes telles que la distance et l’itinéraire pour aller d’un point A à un point B, qu’on aurait tout à fait pu parser. Mais Google le refusait.

Cette annonce n’a l’air de rien : http://googlegeodevelopers.blogspot.com/2010/05/directions-web-service-arrives-at.html mais c’est une révolution pour ceux qui souhaitent intégrer des calculs de distance, ou faire des PDF avec des itinéraires ou ce genre de choses.

Concrètement, le flux que vous recevez ressemble à ceci :

{
« status »: « OK »,
« routes »: [ {
« summary »: « Massachusetts Ave, Massachusetts 2A W et Lexington Rd »,
« legs »: [ {
« steps »: [ {
« travel_mode »: « DRIVING »,
« start_location »: {
« lat »: 42.3585300,
« lng »: -71.0600700
},
« end_location »: {
« lat »: 42.3580200,
« lng »: -71.0604300
},
« polyline »: {
« points »: « ycpaGl|upLdBfA »,
« levels »: « BB »
},
« duration »: {
« value »: 4,
« text »: « 1 minute »
},
(…)

(http://maps.google.com/maps/api/directions/json?origin=Boston,MA&destination=Concord,MA&waypoints=Charlestown,MA|Lexington,MA&sensor=false
Enjoy !

Source : https://mail.google.com/mail/?hl=fr&shva=1#inbox/128b3a8d28ec3fd6
Autres API qui viennent de sortir : http://www.zorgloob.com/2010-05/google-fait-le-plein-dapi/

Le script PHP permettant de calculer l’itinéraire est ici : PHP : distance en kilomètres, durée et étapes du trajet grâce à Google Maps API Directions

2 Comments :, , , , , , , Lien Permanent

Outils pour les webmestres

by Rom's on 16 avr 2010, under Astuces, DSI, Logiciels

Tout responsable de boutique e-commerce a pour responsabilité de s’assurer de la continuité du service. Pour cela, il dispose de nombreux outils gratuits un peu partout, le tout étant d’utiliser les bons outils et de les utiliser régulièrement.

Je me propose ici d’en faire une liste et d’en décrire l’utilisation que j’en fais. Si vous le voulez bien, je vous demanderai votre avis et nous ferons évoluer cette liste afin d’avoir une check-list la plus exhaustive possible.

A faire circuler évidemment ;)

Le premier des outils, Google >Analytics

Quel meilleur outil de gestion au quotidien que Google Analytics. Pensez notamment à

- Configurer votre tableau de bord.
Suivant ce que vous cherchez à optimiser sur le moment, un bouton « ajouter au tableau de bord » apparaît en haut à gauche de chaque rubrique dans le bandeau gris ; cela garde les paramètres en cours ;

- Définir vos objectifs
Les objectifs, c’est lorsque vous tirez quelque chose de votre internaute. La plupart des sites marchands définissent les objectifs suivant : formulaire de contact, demande de devis, achat avec paiement à confirmer (chèques, virements,…), achat avec paiement confirmé (CB).
L’entonnoir de conversion est le fait de ramener l’ensemble des internautes qui se trouvent sur l’ensemble des pages (haut de l’entonnoir) vers l’unique page qui vous intéresse pour un entonnoir donné. Un entonnoir = Un objectif. Pensez à prévoir des pages (avec URLs spécifiques après conversion, ex. /contact/merci)

- Créer des alertes (non pas via le deuxième lien du menu, mais via l’encart « mes personnalisations »)
Il est plutôt intéressant d’être prévenu à la minute où « quelque chose se trame », les alertes (Bêta ;o)) permettent de définir des indicateurs intéressants. Pour ma part, j’ai paramétré des alertes regardant les évolutions d’une semaine sur l’autre pour être averti s’il y a

o  Baisse significative du nombre de visites versus même jour de la semaine précédente (si baisse > 40%)

o  Hausse significative du taux de rebond (si hausse > 20%)

o  Temps moyen passé sur le site baisse (baisse > 30%)

Suivant les habitudes, et suivant si l’on est habitué à plus ou moins de fluctuations, on peut (on doit) évidemment moduler ces pourcentages.

- Consulter les alertes automatiques (rubrique Alertes en deuxième position du menu cette fois) qui mettent automatiquement en exergue des moments notables de la vie de votre site.

Google Sitemaps

Fonctionnalités principales de sitemaps (si vous connaissez, relisez quand même cette liste, on redécouvre toujours l’outil)

- Pages introuvables sur le site

- Impressions (= affichages de vos liens sur Google) versus nombre de clics

- Performances du site (rubrique « labos/performances du site » et « diagnostic/statistiques sur l’exploration » – permet notamment de voir le temps de téléchargement d’une page sur Google qui est nouvellement devenu un critère de positionnement http://googlewebmestrecentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html)

- Gestion de vos sites links (liens qui apparaissent sous votre résultat dans Google)

- Abonnés via Google Reader (« votre site sur le web / statistiques sur les abonnés »)

- Etat du sitemap. Souvent laissés de côté, les >sitemaps ne sont pas là que pour faire joli, ils montrent notamment à Google le niveau d’importance des différentes pages et leur hiérarchie telle que souhaitée par le webmestre.

Pour mesurer les performances au fil du temps, et être averti des éventuelles baisses de régime, vous pouvez utiliser Woozweb, un outil de Smile qui teste un contenu donné sur une page donné régulièrement, vous fait des graphiques sur les temps d’exécution, vous donne les moyennes, et surtout vous prévient par e-mail lorsque le temps d’exécution dépasse un seuil défini. http://www.woozweb.com/homeview

Google trends / websites

Magnifique outil s’il en est, Google Trends vous permet de comparer deux mots clés et de savoir si c’est « ordinateur » le plus recherché, ou « ordinateurs » (http://www.google.com/trends?q=ordinateur,ordinateurs) ou encore de voir les préoccupations des gens et l’évolution de leurs recherches sur certains mots clés (http://www.google.com/trends?q=attentats) et ce pays par pays, et éventuellement ville par ville. Ces résultats sont exportables sous Excel au format CSV (Cf. lien de bas de page)

Quoi de mieux pour l’étude de la concurrence que Google Trends Websites. Bien que réservé à des sites à fort trafic (à l’exception de Google qui s’est auto-exclu..), qu’un comparateur de sites Internet. Vous pourrez voir l’évolution site Internet par site Internet depuis 2006 (Google le faisait avant, mais mal donc ils ont réduit les possibilités au niveau des dates) et comparer plusieurs sites Internet. Exemple pour quelques sites E-commerce français : http://www.google.com/trends?q=rueducommerce.fr,pixmania.fr,discounteo.com,amazon.fr&date=all&geo=fra&ctab=0&sort=0&sa=N

Générateur de mots clés >Adwords

Comme son nom l’indique, le générateur de mots clés de Google >Adwords sert à générer des mots clés, vous entrez une thématiques vous cochez « synonymes », et l’outil vous propose un ensemble de mots clés (ciblage « exact », « large » ou « expression ») en indiquant pour chaque le niveau de concurrence qui fait rage sur Google >Adwords et le volume de recherche. Pratique !

Suivre les actualités

Détail qui n’en est pas un : être au courant de ce qui se passe ailleurs, être au courant des tendances pour apprendre à les anticiper ! Le meilleur moyen à mon sens : Google Reader, vous affichez vos flux en liste étendue (« >expanded »), et vous défilez l’ensemble des news avec la touche espace. Ça va vite, c’est agréable. Vous avez même l’extension Google Chrome qui vous dit combien d’éléments sont en attente de lecture, ça vous évite d’y aller pour rien.

Pour suivre les actualités de votre domaine, il y a une fonctionnalité méconnue de Google News : l’export d’un flux de news en RSS. Allez dans Google News, tapez la requête qui va bien en prenant soin d’exclure les éventuels sujets qui ne vous intéressent pas (exemple : « DSI –nintendo » en ce qui me concerne), trouvez le lien « RSS » en pied de page et faites-vous plaisir. Exemple de flux : http://news.google.fr/news/search?pz=1&cf=all&ned=fr&hl=fr&q=DSI+-nintendo

A noter que Google Reader accepte aussi que vous vous abonniez à une page (et donc pas un flux), et il vous montre les différences et nouveautés sur cette page dès que détectées ! (utile quand les sites ne proposent pas de flux ! exemple plus bas avec les extensions)

Suivi du client !

Trop souvent oublié, le client doit être très écouté, en permanence mais surtout les premiers temps. Pour cela, tout est bon :

- Sondage « que recherchez-vous ? » dans la colonne de droite pour identifier les désirs initiaux de vos visiteurs ;

- Formulaire de contact toujours disponible aux endroits attendus (pied de page, en haut à droite, près du panier) ;

- Numéro de téléphone toujours en évidence et les personnes qui répondent qualifient les appels (formulaire construit en deux minutes grâce à Google Docs ?) ;

- E-mails épluchés et qualifiés ;

- Retours sur les forums sur le web ;

-…

Extensions des navigateurs

De nouvelles extensions sortent tous les jours et elles apportent leur lot de surprises ! Pour Firefox comme pour Google Chrome, il y en a énormément mais les extensions réellement utiles sont beaucoup moins nombreuses. Je me tiens à Google Chrome car la rapidité de ce navigateur et l’indépendance de ses onglets me plaisent particulièrement (lorsqu’un onglet plante, ce n’est pas tout le navigateur qui plante).

Tout d’abord, ajoutez carrément la page dans Google Reader pour être au courant des nouveautés : https://chrome.google.com/extensions/list/newest?hl=fr

Quelques extensions intéressantes pour vous :

- Capture de pages web : https://chrome.google.com/extensions/detail/ckibcdccnfeookdmbahgiakhnjcddpki

- Abonnement RSS comme sur Firefox : https://chrome.google.com/extensions/detail/nlbjncdgjeocebhnmkbbbdekmmmcbfjd

- Google Alerter vous dit combien de news et de mails vous avez https://chrome.google.com/extensions/detail/ikefielkhonlbnjjfhcjmepanaeajkbh

- La même chose mais avec Google Reader uniquement https://chrome.google.com/extensions/detail/jnmalhpnifcgaicdjnacljombhmgagin

- Web Developer vous permet de désactiver les feuilles de styles, d’afficher les mots de passe, d’afficher les identifiants des balises, très utile pour les webmestres https://chrome.google.com/extensions/detail/bfbameneiokkgbdmiekhjnmfkcnldhhm

- Bouton « partager » (twitter, facebook, >gmail, viadeo,…) https://chrome.google.com/extensions/detail/idaeealfhcijmeigljaopafdapgijdcb

- SEO (informations SEO sur la page et le domaine concerné) https://chrome.google.com/extensions/detail/oangcciaeihlfmhppegpdceadpfaoclj

- Google maps dans une bulle (j’adore ! très utile au quotidien) https://chrome.google.com/extensions/detail/oeahddlmhbcabnnojadgimmiaaplfpfo

Les scenarios, très important dans la vie d’un site

Lorsque vous faites développer un site ou des fonctionnalités, vous passez votre temps ensuite à tester différentes façons d’aller à vos objectifs définis (voir plus haut) pour vérifier que tout va bien. Il existe une extension >firefox dans laquelle vous enregistrez, vous faites vos clics une fois, vous stoppez. Vous lisez et ça refait la séquence pour vous en vous affichant les pages une à une et en suivant les mêmes liens. Pratique, rapide ! http://seleniumhq.org/projects/ide/

Envoyer des SMS via une requête HTTP…

J’en rêvais, Orange l’a fait : une simple requête du type http://orange.fr/?numero=33679241181&message=bonjour&marchand=3958093&cle=9835 (lien simplifié à l’extrême mais c’est l’idée) qui vous permette d’envoyer un SMS ? Si vous ne connaissiez pas, vous entrevoyez déjà un tas d’applications ! Prévenir les clients du départ de leurs colis (leur faire payer pourquoi pas ?), rappeler aux mauvais payeurs que vous attendez de leurs nouvelles, indiquer à un partenaire qui bouge tout le temps qu’un sujet mérite son attention sur son interface,… (Les mailings SMS ne sont pas indiqués par ce biais, des entreprises le font très bien avec gestion des désabonnements, etc.) http://api.orange.com/fr/api/sms-api,3

Vérifier l’ensemble des liens de votre site

Vous vous amusez souvent à cliquer sur tous les liens possibles et imaginables sur votre site qui contient plusieurs centaines de milliers de pages ? Des outils le font pour vous et vous font un rapport sur les pages introuvables (404), et sur quelles pages pointaient vers elles ! (utile lorsque l’on crée un lien avec un espace en plein milieu qui mène vers une 404, j’en sais quelque chose !). Cet outil, c’est Xenu, il est pas tout récent, il est pas très beau, mais il est efficace. http://www.google.fr/search?sourceid=chrome&ie=UTF-8&q=telecharger+xenu

Chassez le duplicate content !

Comment ça c’est quoi le duplicate content ? Bon, déjà lisez ça : http://www.google.com/support/webmasters/bin/answer.py?hl=fr&answer=66359

Ensuite, allez là : http://www.webconfs.com/similar-page-checker.php

Je vous rappelle que deux pages différentes, c’est deux URLs différentes (URL = partie avant l’ancre, donc avant un dièse – # – éventuel).

D’autres outils utiles dans cette idée sont disponibles ici : http://www.iwebtool.com/tools/

Vérifiez que votre e-mail n’est pas considéré comme spammeur !

Un lien pour cela : http://www.mxtoolbox.com/blacklists.aspx

Laisser un commentaire :, , Lien Permanent

50 conseils e-commerce

by Rom's on 18 mar 2010, under Développement Web

http://www.info-ecommerce.fr/183/50-conseils-pour-optimiser-votre-taux-de-conversion-e-commerce/taux-de-conversion/

50 conseils e-commerce à (re)découvrir sur ce post

# Présentez vos produits dès la homepage
# Rassurer vos internautes sur toutes les pages
# Votre numéro de téléphone doit être bien visible
# …

Laisser un commentaire : Lien Permanent

Sharding : Partitionner vos données les rend plus rapides d’accès

by Rom's on 27 jan 2010, under Développement Web

Le principe est simple : pour une montée linéaire du nombre de requêtes sur une table, le temps de réponse monte exponentiellement…

A partir de ce simple constat, vous avez compris qu’il est préférable de partitionner vos données soit en faisant plusieurs bases de données, soit en faisant plusieurs tables.

Tous les poids lourds des données utilisent cette méthode : le sharding.

Après cette petite introduction, voici quelques liens :

http://decrypt.ysance.com/2009/05/sharding-partitionnement-optimisation-acces-aux-donnees/
http://www.codefutures.com/database-sharding/
http://highscalability.com/unorthodox-approach-database-design-coming-shard
http://www.pythian.com/news/500/database-sharding-and-the-end-of-raid/

Laisser un commentaire :, , , Lien Permanent

Vous cherchiez ?

Recherche rapide :

Vous ne trouvez toujours pas ? Laissez un petit commentaire sur un article, qu'on puisse regarder ça de plus près !