Aurélien Morillon - Trafic, Acquisition, Fidélisation, Monétisation

Je peux dire une coderie ?

-

On parle souvent d’ en pensant aux personnes souffrant d’un handicap mais n’oublions pas tous les usagers de technologies alternatives, qui n’utilisent pas les mêmes périphériques de saisie ou de pointage que l’homo clavicus-sourisus.

Il me semble important de rappeler que les utilisateurs des tablettes tactiles consomment internet d’une manière très proche de l’utilisation qu’on a d’un ordinateur de bureau. (Un site pour tablette est une aberration !!!)

L’utilisation est donc très proche, certes, mais à une nuance près : Quand on a entre les mains un appareil qui obéit au doigt (et bientôt à l’oeil), on n’a pas de souris. L’évènement onmouseover (Le « survol de la souris ») n’existe plus. Comment faire alors pour atteindre les pages liées depuis l’intérieur des déroulants si ceux-ci ne s’affichent plus ?

Avec la progression constante du nombre d’internautes en mode tactile, prenez le temps de vérifier que tous vos intitulés de soient bien cliquables et qu’ils mènent vers une page listant les éléments « enfants ».

La solution la plus pratique consiste sur toute page à publier systématiquement un menu (en haut à gauche ?) listant les sous pages.

PS. Sur Android, il existe une astuce qui consiste à faire un appui long sur l’intitulé du menu jusqu’à ce que le menu contextuel s’affiche. Il suffit alors d’appuyer sur le bouton physique  « Précédent » pour faire disparaitre le menu contextuel et chatouiller le contenu du qui a eu le temps d’apparaitre, comme par enchantement.
P.P.S. N’ayant pas d’ sous la main, je ne sais pas si les fans de la pomme subissent la même punition.
Edition Post publication : Correction d’une petite coquille orthographique

-

Si vous trichez, si vous utilisez des raccourcis, pour remonter dans les pages de résultat en faisant fi des guidelines, si vous vous faites du typosquatting, si vous faites du keyword stuffing à coup de listes de ou d’articles de piètre qualité, ça peut marcher !

Ca peut marcher un temps, mais même les meilleurs référenceurs font des erreurs. Combien de noms de domaines et adresse IP sacrifiés avant d’obtenir une technique « furtive » ? Et combien de temps cette technique le restera-t-elle ?

Tôt ou tard, vous vous ferez prendre. Et la chute sera dure. Les gains auront-ils justifiés le temps et les moyens mis en oeuvre pour tricher ?

Saurez vous encaisser la chute, trouver le sommeil et rebondir sans sourciller ?

Si vous aviez employé ces ressources à la construction d’un site propre sous les aisselles, qui n’a honte ni de ses liens, ni de ses contenus… Où seriez vous aujourd’hui ?

-

Les webmasters sont confrontés tôt ou tard à un problème devenus récurrents : Les spambot. Ceux-ci parcourent le web à la recherche de formulaire à remplir dans un double objectif : Créer des liens ou envoyer des emails en profitant d’une faille appelée « injection d’entête ».

Les spambots peuvent devenir une véritable plaie quand on gère un site avec plusieurs dizaines de formulaires : Il faut trier et supprimer les faux, ce qui prend du temps.

Finalement, on décide de s’armer pour empêcher les spambots de passer et la première idée, c’est le .

Lire la suite »

-

permet de créer un réseau de sites tous propulsés par une et une seule installation de . C’est très pratique lorsqu’on a plusieurs blogs à gérer, ou plusieurs sites de clients ou bien encore lorsqu’on veut faire un réseau de blogs gratuits ou de communiqués de presse. Pour activer les fonctions multisite de , suivez le guide :

Lire la suite »

-

gère les utilisateurs avec différents niveaux de d’accès aux fonctionnalités. Ainsi on peut attribuer un rôle différent selon le niveau de confiance accordé à nos membres. Par exemple, dans le cadre d’une organisation rédaction-relecture-publication, les rédacteurs devraient avoir le rôle « Contributeur ». Seulement voilà, le rôle contributeur ne permet pas à l’utilisateur d’uploader des medias ou d’ajouter une illustration à son article.

Il suffit d’ajouter dans le fichier functions.php de votre thème les lignes suivantes.

Lire la suite »

-

Voila, c’était annoncé depuis pas mal de temps mais une page se tourne : a définitivement fermé son API .

Cette API, qui était GRATUITE, permettait de récupérer des infos croustillantes sur un site web, telles que le nombre de . C’était vraiment un outil stratégique, mais c’est bel et bien terminé.

Merci à la communauté de stackexchange.com (Faudra lire en english les petits amis  …), qui a trouvé deux candidats pour mettre à jour vos scripts :

L’API de : http://www.seomoz.org/api

L’API de : https://www.compete.com/developer/

Creative Commons Licensephoto credit: alancleaver_2000

-

Pas évident d’ajouter une ombre sur le conteneur d’une page web sans devoir modifier le template de votre site.
La technique la plus courante consiste à créer une image de fond sur laquelle est ajoutée l’ombre, élargir le conteneur et ajouter un padding.

Bref, étant donné que certaines versions de et IE n’interprètent pas les margin/padding de la même manière,
vous avez de grandes chances de tout casser sur au moins un navigateur ou deux.

Lire la suite »

-

Si le bouton j’aime de est critiqué pour son manque de discrétion, c’est aussi un outil de marketing viral dont il serait idiot de se priver lorsque son audience utilise au quotidien. Seulement voilà, a la fâcheuse habitude de se tromper d’illustration lorsque vous cliquez sur J’aime. Pourquoi et comment résoudre ce problème ?

Lire la suite »

-

Lorsqu’on développe un script ou une fonction, on pense davantage au résultat du programme qu’à celui qui passera derrière pour débugguer ou améliorer. Et pourtant, la personne qui passe derrière, ce sera peut-être bien vous-même. Il est donc nécessaire d’assurer une hygiène de code, tout comme on s’impose une hygiène de vie.

1. Préparer un algorithme

Ca peut sembler évident, mais combien d’étudiants en informatique ouvrent leur environnement de développement dès le début du TP, sans la moindre préparation ? A la fin, ce sont les mêmes qui n’ont pas terminé et s’arrachent les cheveux avec les logs d’erreur.

Sans pousser jusqu’à une , il est toujours utile de rédiger un petit algo, histoire de prévoir à l’avance les différentes étapes de votre script. Une fois l’algo rédigé, placez le dans votre fichier source, en commentaire.

2. Structurer son code

Dans un programme, il y a plusieurs types d’instruction. Il est important de respecter la chronologie, sinon la relecture deviendra quasi impossible, sans compter le risque d’apparition de bugs, ou de failles de sécurité.

Voici un exemple de chronologie à respecter :

  1. Imports des fichiers externes, classes, etc.
  2. Déclaration des variables, constantes et fonctions
  3. Set des variables et des constantes
  4. Récupération des variables en entrée (inputs)
  5. Sécurisation des inputs
  6. Traitement des données
  7. Affichage

3.Sécuriser les données en entrée

Quand j’essaie une paire de chaussure, je mets toujours des chaussettes. Après tout, celui qui l’a essayé avant moi pourrait avoir des mycoses ou des verrues ?

Vous devriez avoir le même comportement avec les données saisies par vos utilisateurs. C’est d’autant plus vrai pour les formulaires accessibles librement depuis un site web, parce qu’ils sont exposés à tous types d’attaques, manuelles ou automatisées. Il y a trois ans, j’ai posté un petit billet pour sécuriser les données en POST, GET et REQUEST. Ce n’est pas suffisant mais c’est un bon début. Pour approfondir en PHP, il y a de très bons filtres : http://php.net/manual/fr/filter.filters.sanitize.php

4. Commenter son code

Commenter son code, c’est comme laver son assiette avant de remanger dedans. C’est se respecter et respecter les gens que l’on sert. Si vous avez suivi ma première recommandation, l’algorithme peut déjà servir de squelette pour vos commentaires. C’est vraiment le minimum, il faut mieux compléter dès que le code n’est pas suffisamment explicite.

Des fois, je m’amuse même à mettre en commentaire la musique que j’écoute en ce moment, un jeu de mot rigolo ou des pistes d’amélioration. Quand on revient sur le code c’est toujours agréable de voir que quelqu’un a laissé un petit mot pour vous :)

La matrice est équipée d'une bonne gestion des erreurs

 

5. « Gestion des erreurs » : Ce n’est pas un gros mot

Même un hardcore coder peut faire des erreurs. Il est important de pouvoir avoir un retour en cas de pépin avec le script. Pour ma part, je me suis fais une fonction qui m’envoie un email lorsque le script rencontre une erreur.(Pour les scrapper, c’est indispensable). Exemple :

« $resultat = mysql_query($sql) or die(mysql_error()) » ne renseigne que l’utilisateur, vous n’êtes pas au courant.

Pour réagir, vous devez être averti (Les logs ne font que stocker, ils n’avertissent pas) Faites donc plutôt un « $resultat = mysql_query($sql) OR sendMeEmail($CHEMIN_SCRIPT, $INPUTS, mysql_error()); »

Vous recevrez un email avec l’erreur sql exacte, les données en entrée ayant mené à ce résulat et le chemin du script, histoire de savoir dans quel fichier taper.

Il y a tant de chose à dire sur le sujet, mais en respectant ces quelques conseils, vous aurez des scripts plus faciles à maintenir et assez intelligent pour avertir son créateur en cas de dysfonctionnement.

Bon code, et Have Fun ;-)

-

Si vous développez sur un serveur configuré pour la production, il est probable pour qu’il soit configuré de telle sorte que les ne s’affichent pas  à l’écran. La raison, c’est de cacher d’éventuelles failles ou portes d’entrée aux internautes malintentionné.

De ce fait, débugguer un script en cours de développement devient vite pénible aprce qu’il faut télécharger les logs d’erreur pour savoir quels engrenages sont bloqués par vos erreurs de programmation.

Voici une solution temporaire pour afficher à l’écran les erreurs PHP, à l’aide d’un . :

Dans votre dossier de développement, créez un fichier « .htaccess » s’il n’existe pas déjà, puis ajoutez en haut du fichier les lignes suivantes:

php_flag display_errors On
php_value error_reporting 2047

Et n’oubliez pas de supprimer ces lignes après usage !

Creative Commons License photo credit: celebdu