Les actualités du Lundi 30 avril 2012 dans les métiers du web - Marmits.com - Reims

Le: 30 04 2012 à 00:00 CreativeJuiz blog

WordPress possède un formulaire de commentaire adapté à la plupart des blogs. Cependant, comment s’y prendre si vous souhaitez ajouter ou supprimer des champs et personnaliser l’affichage des commentaires ?

WordPress prévoit la possibilité de personnaliser le formulaire de commentaire grâce à la fonction comment_form( $args, $post_id ), cette fonction est intéressante mais quelque peu limitée. Nous allons plutôt aborder quelques crochets (hooks) s’y rapprochant.

Concrètement, il faut procéder en trois étapes :

  • insérer ou supprimer un champ dans le formulaire
  • permettre l’insertion des données renseignées dans la base de données
  • afficher les nouvelles données dans les commentaires

Je vous invite à éditer votre fichier functions.php pour effectuer des tests avec les codes que je vais fournir.
Allez, c’parti !

Insérer et supprimer des champs dans le formulaire de commentaire

Cette première étape va utiliser le hook comment_form_defaults et se présente sous la forme d’une manipulation de tableau PHP.
Les champs sont enregistrés dans l’entrée « fields » du tableau et peuvent être manipulés assez simplement. Ils contiennent du code HTML que nous allons reproduire pour nos champs personnalisés.

add_filter( 'comment_form_defaults', 'juiz_manage_default_fields');
 
// $default contient tous les messages du formulaire de commentaire
// il contient également "comment_field", le textarea du message
 
if ( !function_exists('juiz_manage_default_fields')) {
   function juiz_manage_default_fields( $default ) {
 
      // Récupération des infos connues sur le visiteur
      // Permet de pré-remplir nos nouveaux champs
 
      $commenter = wp_get_current_commenter();
 
      // Suppression d'un champ par défaut parmi : author, email, url
 
      unset ( $default['fields']['url'] );
 
      // Ajout des champs dans le tableau "fields"
      // $commenter[] contient les infos sur le visiteur
 
      $default['fields']['job'] = '<p class="comment-form-author-job comment-form-author">
      <label for="job">'. __('Your job') . '</label>
      <span class="required">*</span>
      <input id="job" name="job" value="'.$commenter['comment_author_job'].'" aria-required="true" size="30" type="text" />
      </p>';
 
      $sel_female = $sel_male = '';
      if ( $commenter['comment_author_gender'] != '') ${'sel_'.$commenter['comment_author_gender']} = ' checked="checked"';
 
      $default['fields']['gender'] = '<p class="comment-form-author-gender">
      <span class="label_like">'. __('Your gender') . '</span>
      <label for="female">F</label> <input '. $sel_female .' id="female" name="gender" value="female" type="radio" />
      <label for="male">M</label> <input '. $sel_male .' id="male" name="gender" value="male" type="radio" />
      </p>';
 
      // On retourne le tableau des champs
 
      return $default;
   }
}

Quelques explications s’imposent :
Concernant le HTML produit, je copie et adapte la structure par défaut de mon thème sur les champs de formulaire (ici TwentyEleven) dans le but de limiter les modifications futures sur la CSS (d’où la copie de la classe comment-form-author sur comment-form-author-job).

Le tableau des champs (fields) ressemble à cela :

array(
   'author' => '<p class="comment-form-author">…',
   'email'  => '<p class="comment-form-email">…',
   'url'    => '<p class="comment-form-url">…'
);

Pour ajouter un champ il me suffit donc de faire (en remplaçant « slug » par quelque chose de pertinent) :

$default['fields']['slug'] = '<p class="comment-form-author-slug">…';

La ligne 12 récupère les cookies enregistrés lorsque qu’un commentaire est posté par un utilisateur. Ils n’existent donc pas lorsqu’un visiteur n’a jamais commenté sur votre blog, mais permettent ensuite de pré-remplir les champs (ligne 26 et 30) si l’utilisateur revient poster un commentaire.
Nous verrons plus loin comment nous enregistrons les cookies pour nos nouveaux champs de formulaire.

À noter : Il existe le hook comment_form_defaults_fields qui permet de manipuler directement les champs (ex : unset($default['url']). Cependant j’ai une légère préférence pour le hook comment_form_defaults car il permet d’atteindre d’autres éléments du formulaire.
Par contre, si votre objectif est de supprimer simplement le champ url par exemple :

add_filter('comment_form_default_fields','juiz_remove_url_field');
if ( !function_exists('juiz_remove_url_field')) {
   function juiz_remove_url_field( $fields ) {
      unset($fields['url']); return $fields;
   }
}

Enregistrer les données des champs personnalisés

Cette seconde étape se découpe en deux sous-étapes si certains de vos champs sont obligatoires.
Le premier hook utilisé est comment_post qui permet d’intervenir lorsque le commentaire a été enregistré.
Le second est preprocess_comment qui intervient avant l’enregistrement des données en base, notamment pour les contrôler.

Nous allons donc d’abord contrôler notre champ obligatoire ‘job’ pour retourner une erreur s’il est vide :

add_filter( 'preprocess_comment', 'juiz_verify_comment_data' );
if ( !function_exists('juiz_verify_comment_data') ) {
   function juiz_verify_comment_data( $commentdata ) {
 
      // si job est vide on affiche une erreur
      if ( ! isset( $_POST['job'] ) )
         wp_die( __( 'Error: please fill the required field (job).' ) );
 
      // si job dépasse 45 caractères (arbitraire) on affiche une erreur
      elseif ( isset( $_POST['job'] ) AND strlen ( $_POST['job'] ) > 45 )
         wp_die( __( 'Error: 45 maximum char. for "job" field.' ) );
 
      return $commentdata;
   }
}

Une fois la donnée obligatoire contrôlée, nous enregistrons les données du commentaire :

add_action( 'comment_post', 'juiz_save_comment_data' );
if ( !function_exists('juiz_save_comment_data') ) {
   function juiz_save_comment_data( $comment_id ) {
 
      // définition de la durée de vie des cookies
      $comment_cookie_lifetime = apply_filters('comment_cookie_lifetime', 30000000);
 
      if (isset($_POST['job'])) {
 
         // on enregistre l'info en base de données
         add_comment_meta( $comment_id, 'job', esc_html( $_POST['job'] ) );
 
         // on enregistre un cookie
         setcookie('comment_author_job_' . COOKIEHASH, esc_html( $_POST['job'] ), time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
      }
 
      // on vérifie que le champ gender respecte les valeurs prévues
      if (isset($_POST['gender']) AND in_array ( $_POST['gender'] , array('male', 'female'))) {
         // même schéma que précédemment
         add_comment_meta( $comment_id, 'gender', esc_html($_POST['gender']) );
         setcookie('comment_author_gender_' . COOKIEHASH, esc_html( $_POST['gender']), time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
      }
   }
}

Le cookie est optionnel mais il permet de reproduire le comportement de WordPress qui ajoute un cookie par champ du formulaire de commentaire pour se souvenir des données entrées par le visiteur.

En l’état, nous avons ajouté les infos en base de données, nous avons créé des cookies, et nous avons pris soin, dans l’étape précédente, de récupérer ces cookies grâce à la fonction wp_get_current_commenter(). Sauf qu’en fait cette fonction récupère uniquement les cookies pour les champs « classiques » (Nom, url, e-mail). Il faut donc compléter cette fonction pour l’inviter à piocher dans nos cookies fraichement créés :

add_filter('wp_get_current_commenter', 'juiz_add_custom_comment_cookies');
function juiz_add_custom_comment_cookies($cookies) {
 
	$comment_author_job = '';
	if ( isset($_COOKIE['comment_author_job_'.COOKIEHASH]) )
		$comment_author_job = $_COOKIE['comment_author_job_'.COOKIEHASH];
 
	$comment_author_gender = '';
	if ( isset($_COOKIE['comment_author_gender_'.COOKIEHASH]) )
		$comment_author_gender = $_COOKIE['comment_author_gender_'.COOKIEHASH];
 
 
	$cookies['comment_author_job'] = $comment_author_job;
	$cookies['comment_author_gender'] = $comment_author_gender;
 
	return $cookies;
}

La variable $cookies est un tableau associatif (clé + valeur), dont la clé est le nom du cookie (sans le _cookiehash) et la valeur est la valeur du cookie que l’on récupère s’il existe.

Maintenant il faut afficher ces informations dans notre liste de commentaire !

Afficher les données personnalisées dans la liste de commentaires

Cette dernière étape permet d’afficher les informations dans la liste de commentaires. Il existe un certain nombre de hooks qui permettent d’intervenir sur des zones précises d’un commentaire. Je vais en utiliser deux ici qui sont : get_comment_author_link et get_avatar.

Je souhaite afficher le job à côté du nom de l’auteur d’un commentaire.

add_filter( 'get_comment_author_link', 'juiz_attach_custom_info_to_comments_list' );
if ( !function_exists('juiz_attach_custom_info_to_comments_list') ) {
   function juiz_attach_custom_info_to_comments_list( $author ) {
 
      // on récupère l'info job
      $job = get_comment_meta( get_comment_ID(), 'job', true );
 
      // si l'info existe, on l'ajoute entre parenthèse après l'auteur
      if ( $job )
         $author .= ' (' . $job . ')';
 
      // on retourne l'info
      return $author;
   }
}

La variable $author contient le code HTML qui affiche le nom de l’auteur (avec ou sans lien vers son site). On ne fait donc que rajouter du contenu à la suite de cette chaine.
Cette technique a l’avantage d’ajouter l’information également dans le widget qui traite des derniers commentaires postés.

Pour afficher la valeur de gender, j’aurais très bien pu faire la même chose en ajoutant l’information à la suite après l’avoir récupérée avec get_comment_meta(). Mais comme j’aime bien me compliquer la vie, j’ai décidé d’ajouter une classe autour de l’avatar de l’utilisateur.

add_filter ( 'get_avatar', 'juiz_attach_custom_gender_to_avatar');
if ( !function_exists('juiz_attach_custom_gender_to_avatar') ) {
   function juiz_attach_custom_gender_to_avatar( $avatar ) {
 
      $gender = get_comment_meta( get_comment_ID(), 'gender', true );
      $gender = $gender ? $gender : 'undefined';
      $avatar = '<span class="gender ' . $gender . '">' . $avatar . '</span>';
 
      return $avatar;
   }
}

La variable $avatar contient le code HTML de l’avatar de l’utilisateur, une simple image par défaut. Ici on englobe l’avatar d’un élément span porteur du classe gender ainsi que d’une classe dynamique qui peut être male, female ou undefined en fonction de l’info que l’on récupère en base de données.

Le métier placé à côté du nom d'auteur, et l'avatar customisé avec un symbole en fonction du sexe.

Et voilà, c’est tout pour cette longue astuce, pour le reste c’est à vous d’imaginer.

Option bonux 1 : éditer un champ existant

En restant dans le premier hook (comment_form_defaults) il est possible d’éditer les champs existants en les manipulants avec des expressions régulières, ou en les réécrivant :

$default['fields']['author'] = '
   <p class="comment-form-author">
      <label for="author">'. __('Name') . '</label>
      <span class="required">*</span>
      <input id="author" name="author" value="'.$commenter['comment_author'].'" placeholder="Votre nom ou pseudo" aria-required="true" size="30" type="text" />
   </p>
';

Ici je rajouter un attribut placeholder par exemple.
Inutile de changer quoi que ce soit dans le traitement des données, WordPress le prévoit déjà.
Merci à Nicolas pour la suggestion.

Option bonux 2 : redirection après un commentaire

J’ai croisé dans le cœur de WordPress le hook comment_post_redirect qui permet de choisir la page de redirection lorsqu’un utilisateur a posté un commentaire.
Par défaut cette page redirige vers le commentaire de l’utilisateur avec une ancre.
Voici comment la fonction se présente :

add_action('comment_post_redirect', 'juiz_new_comment_redirection');
if ( !function_exists('juiz_new_comment_redirection') ) {
   function juiz_new_comment_redirection( $location ) {
      // valeur par défaut donnée par WordPress
      // à vous de personnaliser $location en fonction de vos besoins
      $location = empty($_POST['redirect_to']) ? get_comment_link($comment_id) : $_POST['redirect_to'] . '#comment-' . $comment_id;
      return $location;
   }
}

Option bonux 3 : le code complet

Pour ceux qui ont peur d’avoir raté une étape :

// ajout physique d'un champ
add_filter( 'comment_form_defaults', 'juiz_manage_default_fields');
 
// $default contient tous les messages du formulaire de commentaire
// il contient également "comment_field", le textarea du message
if ( !function_exists('juiz_manage_default_fields')) {
	function juiz_manage_default_fields( $default ) {
 
		$commenter = wp_get_current_commenter();
 
		// Suppression d'un champ par défaut parmi : author, email, url
 
		//unset($default['fields']['url']);
 
		// Ajout des champs dans le tableau "fields"
 
		$default['fields']['job'] = '<p class="comment-form-job comment-form-author">
		<label for="job">'. __('Your job') . '</label>
		<span class="required">*</span>
		<input id="job" name="job" aria-required="true" size="30" type="text" value="' . esc_attr($commenter['comment_author_job']) . '" />
		</p>';
 
		$sel_female = $sel_male = '';
		if ( $commenter['comment_author_gender'] != '') ${'sel_' . $commenter['comment_author_gender']} = ' checked="checked"';
 
		$default['fields']['gender'] = '<p class="comment-form-gender">
		<span class="label_like">'. __('Your gender') . '</span>
		<label for="female">F</label> <input id="female" '. $sel_female .' name="gender" value="female" type="radio" />
		<label for="male">M</label> <input id="male" '. $sel_male .' name="gender" value="male" type="radio" />
		</p>';
 
		// On retourne le tableau des champs
 
		return $default;
	}
}
 
 
// controle des champs obligatoires à l'enregistrement
add_filter( 'preprocess_comment', 'juiz_verify_comment_data' );
if ( !function_exists('juiz_verify_comment_data') ) {
	function juiz_verify_comment_data( $commentdata ) {
 
		if ( ! isset( $_POST['job'] ) )
			wp_die( __( 'Error: please fill the required field (job).' ) );
		elseif ( isset( $_POST['job'] ) AND strlen ( $_POST['job'] ) > 45 )
			wp_die( __( 'Error: 45 maximum char. for "job" field.' ) );
 
		return $commentdata;
	}
}
 
//ajout en base de données des champs
add_action( 'comment_post', 'juiz_save_comment_data' );
if ( !function_exists('juiz_save_comment_data') ) {
	function juiz_save_comment_data( $comment_id ) {
 
		$comment_cookie_lifetime = apply_filters('comment_cookie_lifetime', 30000000);
 
		if (isset($_POST['job']) AND strlen ($_POST['job']) < 45) {
			add_comment_meta( $comment_id, 'job', esc_html( $_POST['job'] ) );
			setcookie('comment_author_job_' . COOKIEHASH, esc_html( $_POST['job'] ), time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
		}
 
		if (isset($_POST['gender']) AND in_array ( $_POST['gender'] , array('male', 'female'))) {
			add_comment_meta( $comment_id, 'gender', esc_html($_POST['gender']) );
			setcookie('comment_author_gender_' . COOKIEHASH, esc_html( $_POST['gender']), time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
		}
	}
}
 
 
// pour que get_commenter retourne nos cookies custom
add_filter('wp_get_current_commenter', 'juiz_add_custom_comment_cookies');
function juiz_add_custom_comment_cookies($cookies) {
 
	$comment_author_job = '';
	if ( isset($_COOKIE['comment_author_job_'.COOKIEHASH]) )
		$comment_author_job = $_COOKIE['comment_author_job_'.COOKIEHASH];
 
	$comment_author_gender = '';
	if ( isset($_COOKIE['comment_author_gender_'.COOKIEHASH]) )
		$comment_author_gender = $_COOKIE['comment_author_gender_'.COOKIEHASH];
 
	$cookies['comment_author_job'] = $comment_author_job;
	$cookies['comment_author_gender'] = $comment_author_gender;
 
	return $cookies;
}
 
 
// afficher l'info job dans la liste des commentaires
add_filter( 'get_comment_author_link', 'juiz_attach_custom_info_to_comments_list' );
if ( !function_exists('juiz_attach_custom_info_to_comments_list') ) {
	function juiz_attach_custom_info_to_comments_list( $author ) {
 
		$job = get_comment_meta( get_comment_ID(), 'job', true );
		if ( $job )
			$author .= ' (' . $job . ')';
 
		return $author;
	}
}
 
// afficher l'info gender graphiquement pas loin de l'avatar
add_filter ( 'get_avatar', 'juiz_attach_custom_gender_to_avatar');
if ( !function_exists('juiz_attach_custom_gender_to_avatar') ) {
	function juiz_attach_custom_gender_to_avatar( $avatar ) {
 
		$gender = get_comment_meta( get_comment_ID(), 'gender', true );
		$gender = $gender ? $gender : 'undefined';
			$avatar = '<span class="gender ' . $gender . '">' . $avatar . '</span>';
 
		return $avatar;
	}
}
 
// redirection personnalisée après un post de commentaire
add_action('comment_post_redirect', 'juiz_new_comment_redirection');
if ( !function_exists('juiz_new_comment_redirection') ) {
	function juiz_new_comment_redirection( $location ) {
		$location = empty($_POST['redirect_to']) ? get_comment_link($comment_id) : $_POST['redirect_to'] . '#comment-' . $comment_id;
		return $location;
	}
}

L’espace de commentaire et là pour vous ;)

Le: 30 04 2012 à 22:20 blog.openclassrooms.com Auteur: noreply@siteduzero.com (Codelyokodd)

Salut à tous, braves citoyens !

Si vous êtes ici, c'est pour une bonne raison, me trompé-je ? Une seule et unique raison. Vous avez décidé de réaliser un chat pour votre site internet ! Le moins que je puisse dire c'est que vous êtes sur la bonne page. :D

Mais un chat, ça peut faire peur. Et oui, car dans la plupart des cas, sa réalisation requiert des connaissances dans plusieurs domaines. Ceux que nous aborderons dans ce tutoriel seront simplement le PHP et l'AJAX (Javascript). Mais aussi l'HTML/CSS.

Bon, et bien armez-vous de courage et si vous désirez toujours continuer, je vous invite à poursuivre la lecture de ce tutoriel qui s'annonce fort en rebondissements !

Que la force soit avec vous, mes amis. :pirate:

Le: 30 04 2012 à 22:02 presse-citron.net Auteur: Thomas Estimbre

Le constructeur sud-coréen a fait part de sa décision d'arrêter la production de smartphones sous Windows Phone. LG justifie son choix par des ventes en deçà des espérances. LG parviendra-t-il à se démarquer de la concurrence? Dans un communiqué donné au journal Korean Herald, le constructeur LG annonce sa volonté de se retirer, du moins

Le: 30 04 2012 à 19:37 WebdesignerTrends Auteur: WDTrends

Hola la voici, la voilà, la sélection mensuelle des sites web à ne pas manquer. Parcourez 25 sites originaux pour votre inspiration et votre soif de nouveautés ! Marcus Thomas LLC MRare HTC Titanic Milkable WWF Food story FormFett PlanoForm … Continuer la lecture

Le: 30 04 2012 à 17:51 WebdesignerNews Auteur: admin

Webshims lib is a modular capability-based polyfill-loading library, which focuses on accurate implementations of stable HTML5 features, so that developers can write modern and robust code in all browsers. It is built on top of jQuery and Modernizr. Homepage: http://afarkas.github.com/webshim/demos/ GitHub: https://github.com/aFarkas/webshim

Le: 30 04 2012 à 16:58 presse-citron.net Auteur: Eric

Un petit mot rapide pour vous informer du fait que le site est depuis quelques jours la cible de spams en masse dans les commentaires, jusqu'à plusieurs centaines par jour, voire par heure.

Le: 30 04 2012 à 15:37 Alsacreations.com - Actualités Auteur: Simon-K

Il ne reste que 5 jours avant notre fameuse Kiwi Party ! Pour contenir (ou non) l'impatience grandissante, nous rajoutons une troisième fournée avec un autre mini concours !

Après Microsoft et les éditions Eyrolles, c'est maintenant au tour des éditions Dunod.

Toujours pour se mettre dans l'ambiance Kiwi Party, nous vous proposons de remporter en avant-première un exemplaire de "Sites web avec WordPress 3.0 : 100 % pratique!".

D'autres exemplaires seront distribués ou gagnés lors des Quiz prévus durant la journée de conférence.
 

Je veux jouer !

La règle du jeu est la suivante : répondez à la question ci-dessous dans un commentaire de cette actualité.

Dans deux jours, mercredi 2 mai à 13h37, nous fermerons les commentaires et comptabiliserons tous ceux mentionnant la bonne réponse et procéderons à un tirage au sort (via random.org) pour désigner le gagnant du lot et l'en informerons.

La question est celle-ci : Dans quelle ville et à quel siècle existait la première librairie scientifique Dunod ?

Note : tout le monde (en France métropolitaine) peut jouer, qu'il soit ou non inscrit à la Kiwi Party.

Le: 30 04 2012 à 15:35 FrenchWeb.fr Auteur: Bertrand Lenotre

La hache de guerre semble bien enterrée entre Microsoft et le grand libraire américain Barnes & Noble. Alors que Redmond attaquait B&N l’année dernière pour violation de brevets sur sa liseuse Nook (sous Android), on apprend aujourd’hui que les deux sociétés vont en créer ensemble une troisième, Newco, dans laquelle Microsoft investit 300 M$ pour 17.6% du [...]

Le: 30 04 2012 à 15:19 designm.ag Auteur: Jake Rocheleau

Advertise here with BSA


Using jQuery we can build some incredible web-based applications. The animations and manipulation of DOM elements using jQuery are much more intuitive than coding regular JavaScript. Because the syntax is so minimalist it's possible to scale a very complex idea within a few hours time.

In this tutorial I'll demonstrate how we can build an HTML5 invite form and check the results through jQuery. I haven't gone into any backend PHP as this isn't always the best solution for an invitation system. You may want to tie into another e-mail campaign such as MailChimp or Campaign Monitor. But with this technique running the frontend you can quickly implement a backend language to manage the e-mail submissions.

jQuery email invite form tutorial - demo screenshot


Advertise here with BSA

Le: 30 04 2012 à 14:30 WebLife Auteur: Baptiste

OVH : L’hébergement mutualisé en chiffres
Le célèbre hébergeur français OVH publiait il y a quelques jours une infographie pour revenir sur l’infrastructure de son offre d’hébergement mutualisé. On y retrouve sans surprise les chiffres clés ...

Via

L'article OVH : L’hébergement mutualisé en chiffres est la propriété de sur WebLife - Actualités internet, high-tech & startups

Le: 30 04 2012 à 14:15 blogduwebdesign.com Auteur: Vincent Ginet

Advertise here via BSA

Nous voici à notre 53ème numéro des sites avec une navigation et un concept original ! Aujourd'hui vous trouverez des projets intéressants, des systèmes de présentations astucieux et beaucoup de qualité dans les réalisations. Bonne lecture.


Le: 30 04 2012 à 14:15 FrenchWeb.fr Auteur: Bertrand Lenotre

La société Voxeet lance dans quelques jours une solution de « Natural Conferencing ». Une réponse à trois problèmes majeurs que chacun d’entre nous rencontre en situation de conference call audio : qualité sonore médiocre, difficulté à identifier qui est en train de parler et non-mobilité. Voxeet s’appuie sur les recherches d’une poignée d’ingénieurs bordelais autour de la [...]

Le: 30 04 2012 à 14:05 Les dossiers référencement de WebRankInfo Auteur: Olivier Duffez

Comment réussir un netlinking efficace sur le long terme ? Dans le référencement naturel, ce qui fait très souvent la différence entre concurrents, c'est le netlinking, c'est-à-dire les stratégies de liens utilisées pour optimiser la partie off page. Ce tutoriel sur les backlinks présente une vision globale des techniques de netlinking qui fonctionnent le mieux en [...]

Cet article écrit par Olivier Duffez a été publié sur Le référencement par le netlinking : meilleures techniques, stratégies de liens

Le: 30 04 2012 à 14:02 FrenchWeb.fr Auteur: Marion Moreau

La rumeur dure 1 mois, c'est la thèse développée par Laurent Gaildraud, auteur du livre "Orchestrer la rumeur... Rival, concurrent, ennemi, comment s'en débarrasser ?" paru aux éditions Eyrolles. Entretien et décryptage.

Le: 30 04 2012 à 14:00 WebLife Auteur: Baptiste

Free Mobile : Rétablissement de ligne mobile refusé
Nous vous faisions récemment part des suspensions abusives de lignes mobiles de la part de Free Mobile. Des lecteurs, confrontés au problème et ayant contacté l’opérateur de téléphonie mobile par ...

L'article Free Mobile : Rétablissement de ligne mobile refusé est la propriété de sur WebLife - Actualités internet, high-tech & startups

Le: 30 04 2012 à 13:28 presse-citron.net Auteur: Eric

Steve Wozniak, figure légendaire d'Apple et de la high-tech, ne tarit pas déloges sur son nouveau Windows Phone, et il le fait savoir : pour lui l'OS mobile de Microsoft est supérieur à Android.

Le: 30 04 2012 à 12:44 ballajack.com Auteur: Ballajack

PI comme chacun le sait est un nombre irrationnel qui exprime le rapport entre la circonférence d’un cercle quelconque et son diamètre. Sa valeur très approchée est 3.14. Pour être plus précis dans les calculs, la valeur 3,141592654 est largement suffisante. Les égyptiens du temps des pharaons et des pyramides l’estimaient par la fraction 22/7,… Related posts:

  1. Télé de rattrapage : voir et revoir
  2. Voir les posts les plus populaires sur Google+
  3. Une timeline pour voir quand vos amis se sont inscrits sur Twitter

Le: 30 04 2012 à 12:26 presse-citron.net Auteur: Louis Carle

Fondée par un ancien consultant qui a beaucoup travaillé sur les approches multicanaux, Jérémie Herscovic a décidé de vous aider à dépenser plus et plus proche avec SoCloz. Ils viennent d'ailleurs d'annoncer avoir finaliser leur première levée de fonds de près d'un million d'euros, avec d’ores et déjà de solides références clients.

Le: 30 04 2012 à 12:22 FrenchWeb.fr Auteur: Marion Moreau

Alors que la firme de Kyoto annonçait récemment des baisses de 36% et 400 millions d’€ de pertes pour l’année 2011 – une baisse-record en trente ans – Nintendo décide de relever le défi du numérique. Son jeu mythique New Super Mario Brothers 2, qui sortira sur console portable (Nintendo 3DS) sera aussi lancé sous [...]

Le: 30 04 2012 à 11:50 ballajack.com Auteur: Ballajack

Un programme Android pour répondre automatiquement aux SMS et aux appels quand on n'est pas disponible. Les messages et les plages horaires sont configurables. Related posts:

  1. Mode vibreur automatique sur Android, Auto Vibrate
  2. Excel VBA – Savoir si un filtre automatique est en place
  3. Faire une copie d’écran à intervalle régulier, Auto Screen Capture

Le: 30 04 2012 à 11:50 presse-citron.net Auteur: Eric

BlackBerry tient sa grande conférence annuelle à Orlando (UsA) cette semaine. Il y sera principalement question de BlackBerry 10, avec en toile de fond, la question (et les réponses ?) sur l'avenir et la stratégie de RIM BlackBerry.

Le: 30 04 2012 à 11:45 WebLife Auteur: Romain

JO de Londres : Interdiction de partage social
Il semblerait que les organisateurs des prochains jeux olympiques de Londres ne soient pas très portés sur les réseaux sociaux… En effet, d’après les clauses d’achat d’un ticket pour les ...

Via

L'article JO de Londres : Interdiction de partage social est la propriété de sur WebLife - Actualités internet, high-tech & startups

Le: 30 04 2012 à 11:30 WebLife Auteur: Romain

Facebook : Nom et prénom sur les photos de profils
Facebook vient de mettre en place durant le weekend un petit changement graphique au niveau des miniatures des avatars de vos amis sur votre journal Facebook. Désormais, sur chaque thumbnail affiché ...

Via

L'article Facebook : Nom et prénom sur les photos de profils est la propriété de sur WebLife - Actualités internet, high-tech & startups

Le: 30 04 2012 à 11:27 FrenchWeb.fr Auteur: Bertrand Lenotre

Codage, une nouvelle marque digitale de la cosmétique, Elibe.fr, nouveau réseau entre entreprises et pro expérimentés, FanaticGame.com, réseau social dédié aux jeux vidéo. MyCodage.com, le sur-mesure online de la cosmétique Codage se veut une nouvelle marque dans le monde de la cosmétique avec une approche à la fois numérique et personnalisée. Chaque utilisateur de ce nouveau service répond [...]

Le: 30 04 2012 à 11:21 presse-citron.net Auteur: Rénald Boulestin

Et si le crowdsourcing devenait la nouvelle tendance du moment. La société à l'origine de l'appli iOS Weathermob de partage de bulletins météo vient ainsi de rassembler 360.000 dollars de la part d'investisseurs.

Le: 30 04 2012 à 11:17 presse-citron.net Auteur: Rénald Boulestin

Apple et Google pourraient bien rejoindre l'indice de cotation le plus vieux du monde. Le cours du vénérable Dow Jones serait dès lors en partie pondéré par les cours de ces deux géants du secteur des nouvelles technologies.

Le: 30 04 2012 à 11:00 WebLife Auteur: Romain

Facebook : Deezer triple le nombre d’utilisateurs mensuels
Alors que nous avons appris la semaine dernière que Deezer s’ouvrait à 3 nouveaux pays, nous découvrons aujourd’hui que la plateforme française de streaming musical compte désormais 2 millions d’utilisateurs mensuels ...

Via

L'article Facebook : Deezer triple le nombre d’utilisateurs mensuels est la propriété de sur WebLife - Actualités internet, high-tech & startups

Le: 30 04 2012 à 10:50 Les dossiers référencement de WebRankInfo Auteur: Olivier Duffez

Google Webmaster Tools : des fonctionnalités ajoutées, d'autres supprimées Google vient de modifier son interface destinée aux webmasters en retirant 3 rubriques mais aussi en améliorant certaines fonctionnalités utiles aux référenceurs.Google Webmaster Tools : des fonctionnalités ajoutées, d'autres suppriméesCet article écrit par Olivier Duffez a été publié sur Google Webmaster Tools : des fonctionnalités ajoutées, [...]

Cet article écrit par Olivier Duffez a été publié sur Google Webmaster Tools : des fonctionnalités ajoutées, d'autres supprimées

Le: 30 04 2012 à 10:45 WebLife Auteur: Romain

Tsunami Debris Project : Facebook va aider les victimes japonaises du Tsunami
Voilà une initiative intéressante qui habituellement aurait pu être soutenue par Google. Nous venons de découvrir que Facebook, le célèbre réseau social au presque 1 milliard de membres, va aider les ...

Via

L'article Tsunami Debris Project : Facebook va aider les victimes japonaises du Tsunami est la propriété de sur WebLife - Actualités internet, high-tech & startups

Le: 30 04 2012 à 10:25 ballajack.com Auteur: Ballajack

Un jeu de type Marble Madness où il faut guider une bille sur une représentation en 3D d'une carte Google Maps pour lui faire atteindre un point précis. Related posts:

  1. Alerte aux intempéries sur Google Maps, Rain Alarm
  2. Accéder rapidement à une mini carte Google Maps avec Chrome
  3. Jouer à Angry Birds sur Google Chrome et sur les autres navigateurs

Le: 30 04 2012 à 10:20 presse-citron.net Auteur: Camille

L’éditeur de solutions Cryptolog, spécialisé dans la signature électronique, l’horodatage et la gestion des identités, vient de sortir la version 4 de sa plateforme de signature électronique Universign.

Le: 30 04 2012 à 10:07 FrenchWeb.fr Auteur: Bertrand Lenotre

L’agence britannique de marketing digital, Tamba, vient de publier une infographie qui résume les derniers éléments d’appréciation du phénomène Pinterest. Parmi les chifres à noter : Entre janvier et mars 2012, Pinterest est passé de 2 à 4 M de VU/jour (2.3 milliards de pages vues en mars) Les hommes adoptent de plus en plus en plus [...]

Le: 30 04 2012 à 10:00 WebLife Auteur: Baptiste

Concours : Mon-coffret-cadeau, le comparateur de box
Lancé il y a un peu plus d’un an, Mon-coffret-cadeau est un comparateur en ligne spécialiste des box en tout genre. Le site se propose de dévoiler aux internautes une ...

L'article Concours : Mon-coffret-cadeau, le comparateur de box est la propriété de sur WebLife - Actualités internet, high-tech & startups

Le: 30 04 2012 à 09:55 lafermeduweb.net Auteur: Ouark

Avec jQuery NailThumb vous pourrez créer vos thumbnails, à la volée, à partir des images en haute-résolution sans aucune altération de l'image d'origine.

Le: 30 04 2012 à 09:48 ballajack.com Auteur: Ballajack

Faire des recherches sur Facebook sans devoir y aller, c’est ce que permet de faire le moteur de recherche Facebook Search. A partir d’une interface dépouillée et sans la moindre publicité, en s’appuyant sur l’API Open Graph, on y peut y trouver tout ce qui est publiquement partagé sur le réseau social Facebook. Les recherches… Related posts:

  1. Un moteur de recherche pour Google Plus, G+ Search
  2. RSS Search Engine : un moteur de recherche de flux RSS
  3. Un moteur de recherche d’images par couleurs, Multicolr Search Lab

Le: 30 04 2012 à 09:30 WebLife Auteur: Baptiste

Facebook : Stage rémunéré à 5 000 dollars par mois
De nombreuses sociétés, en informatique comme dans d’autres secteurs d’activité, ne paient (salaire ou indemnité) pas leurs stagiaires, et ce malgré les obligations légales. Situation cependant bien souvent acceptée des ...

Via

L'article Facebook : Stage rémunéré à 5 000 dollars par mois est la propriété de sur WebLife - Actualités internet, high-tech & startups

Le: 30 04 2012 à 09:07 WebdesignerNews Auteur: admin

Kartograph is a new lightweight framework for building beautiful, interactive vector map applications without Google Maps or any other mapping service. It was created with the needs of designers and data journalists in mind. Homepage: http://kartograph.org Demo: http://kartograph.org/showcase/ GitHub: http://github.com/kartograph/

Le: 30 04 2012 à 09:00 WebLife Auteur: Romain

Google Cube : Un jeu HTML5 à la sauce Google Maps
Google vient d’officialiser son jeu Google Cube qui avait déjà fait une brève apparition, en début d’année. Le jeu est plutôt simple et ne possède rien de bien révolutionnaire si ...

Via

L'article Google Cube : Un jeu HTML5 à la sauce Google Maps est la propriété de sur WebLife - Actualités internet, high-tech & startups

Le: 30 04 2012 à 09:00 line25.com Auteur: Chris Spooner

Whenever we start work designing a website one of the first things we always do is throw a bunch of colours and textures onto the canvas, but sometimes a design will benefit from the clean and crisp appearance of a pure white background. This showcase rounds up 20 minimal website designs that prove that sometimes [...]

Le: 30 04 2012 à 03:40 jqueryrain.com Auteur: Admin

The jQuery Wiggle is a jQuery plugin that allows you to emulate the wiggle effect icons on an iPhone have when you press and hold down on them. Click on ...

Le: 30 04 2012 à 03:22 jqueryrain.com Auteur: Admin

In today’s post, I’m going to be giving away a new plugin for jQuery that allows you to easily transform your image lists into beautiful galleries with Flash-like zoom effects ...

Le: 30 04 2012 à 03:12 jqueryrain.com Auteur: Admin

RGraph is a HTML5 Javascript charts library that supports over 20 different types of charts. Using the new HTML5 canvas tag, RGraph creates these Javascript charts in the web browser, ...

Le: 30 04 2012 à 02:00 jqueryrain.com Auteur: Admin