Ce blog est en vacances

27 juillet 2008

et moi également !

Déjà qu’il n’était pas d’une folle activité ! Reprise des hostilités en août après du bateau, des bbq, des la plage et un petit tour à l’hôpital (pour la plomberie trimestrielle).

wé \o/


Blogmarks pour le 27/07/2008

27 juillet 2008

Microsoft warns Web site owners to prep for IE 8

Although Beta 2 of Internet Explorer (IE) 8 isn’t due out until some time in August, Microsoft is cautioning Web site owners now that they need to be prepping now for possible problems the new, more standards-compliant browser may cause.

As part of this week’s IE June Security Update for IE8 Beta 1, Microsoft introduced a new tag, “IE EmulateIE7″ — which it is counting on to head off some of the incompatibilities the company is anticipating could occur, based on feedback it received from IE 8 Beta 1 testers.

Bon courage à tous les développeurs web !

(categories: )

Liens inter-applications avec Symfony 1.1

Un important travail réalisé pour la sortie de Symfony 1.1 a été le retrait du pattern singleton du framework. On peut maintenant instancier plusieurs objet sfContext par exemple. Cela permet notamment de faire des liens inter-application a peu près proprement. Voici l’avancée de mon travail sur la question :

(categories: )

Google Maps guide aussi les piétons

Google a ouvert à tous les internautes une fonctionnalité qu’il testait en bêta privée depuis plusieurs mois. Lorsqu’un utilisateur de Google Maps fait une recherche d’itinéraire inférieure à 10 kilomètres, le service de cartographie propose désormais un itinéraire pour les piétons, en plus du trajet pour les voitures.

(categories: )

Conventions de programmation : la nécessaire maturité - La Case de l’Oncle Tom

Tout développeur, que ce soit à l’école ou en apprenant sur le tas, écrit du code. J’espère n’avoir perdu personne à ce stade de l’explication ;-)

Inconsciemment on cherchera à utiliser un style d’écriture avec lequel on se sent à l’aise, qu’on pourra et saura relire facilement et dans le meilleur des cas, qui pourra être relu par une autre personne sans avoir à engager d’interprète.

Tout développeur tend donc à utiliser des conventions de programmation (coding standards), que ce soit en HTML, PHP, CSS, JavaScript ou même en Cobol. Et utiliser des conventions, c’est bien !

(categories: )

La réalité augmentée sur iPhone

Ce petit iPhone m’a pas fini de nous impressionner et de donner des idées aux développeurs. La prochaine révolution de son utilisation pourrait bien concerner la réalité augmentée

(categories: )

Royal Pingdom » Data center stories that will make you laugh or cry

The admin robot – reboot via CD-ROM eject

When an important server used for credit card transactions started crashing on a regular basis, and there was no budget in place to replace it, one tech jokingly suggested that they build a robot that could reboot the machine day and night. They ended up doing exactly that. A perfectly aligned piece of machinery ejected a CD-ROM sled exactly on the reset button of the problematic server as soon as it stopped responding to ping. (You have to wonder if MacGyver was involved…)

(categories: )

Commerce en ligne: eBay contraint de réviser son modèle | Rue89

eBay traverse une crise d’identité. La société qui a aidé à façonner le commerce en ligne 1.0 est confrontée actuellement à une dure réalité: le commerce sur le web ne ressemble plus à ce qu’il était il y a une décennie. Les enchères -le cœur de la société- ont perdu l’essentiel de leur pouvoir d’attraction. Et eBay doit se recomposer une image de marque pour préserver ses revenus et ses bénéfices.

(categories: )

blogmarks.net


Liens inter-applications avec Symfony 1.1

24 juillet 2008

Un important travail réalisé pour la sortie de Symfony 1.1 a été le retrait du pattern singleton du framework. On peut maintenant instancier plusieurs objet sfContext par exemple. Cela permet notamment de faire des liens inter-application a peu près proprement. Voici l’avancée de mon travail sur la question :

fichier lib/helper/crossAppLinkHelper.php

<?php
/**
 * @author Olivier Mansour
 */
 
/**
 * return an url for a given symfony application and an internal url
 * work with symfony 1.1
 * freely inspired from sfWebControlleur code
 *
 * @author Olivier Mansour
 * 
 * @param string $appname
 * @param string $url
 * @param boolean $absolute
 * @param string $env
 * @param boolean $debug
 * @return string
 */
function cross_app_url_for($appname, $url, $absolute = 'false', $env = null, $debug = 'false')
{
 
  if (sfConfig::get('sf_no_script_name'))
  {
  // wont work
  throw new sfException(__FUNCTION__.' : the cross app link helper will not work with sf_no_script_name to true');
  }
 
  // get the environment
  if (is_null($env))
  {
    $env = sfContext::getInstance()->getConfiguration()->getEnvironment();
  }
 
  // context creation
  if (!sfContext::hasInstance($appname))
  {
    $c = ProjectConfiguration::getApplicationConfiguration($appname, $env, $debug);
    sfContext::createInstance($c, $appname);
  }
 
  list($route_name, $parameters) = sfContext::getInstance($appname)->getController()->convertUrlStringToParameters($url);
  $request = sfContext::getInstance($appname)->getRequest();
 
  $url_root = $request->getRelativeUrlRoot();
  if ($absolute)
  {
    $url_root = 'http'.($request->isSecure() ? 's' : '').'://'.$request->getHost().$url_root;
  }
 
  //scriptname
  $scriptname = '';
  if (($env != 'prod') and ($env))
  {
  	$env_suf = '_'.$env;
  } 
  else
  {
   $env_suf = '';
  }
  if (!file_exists(sfConfig::get('sf_web_dir').DIRECTORY_SEPARATOR.$appname.$env_suf.'.php'))
  {
  	//test with index ?
  	if (file_exists(sfConfig::get('sf_web_dir').DIRECTORY_SEPARATOR.'index'.$env_suf.'.php'))
  	  $scriptname = 'index'.$env_suf.'.php';
  	else
      throw new sfException(__FUNCTION__.' : can\'t find a script name for appname : '.$appname.' and env : '.$env); 	 
  }
  else
  {
  	$scriptname = $appname.$env_suf.'.php';
  }
 
 
  $fragment = '';
  // strip fragment
  if (false !== ($pos = strpos($url, '#')))
  {
    $fragment = substr($url, $pos + 1);
    $url = substr($url, 0, $pos);
  }
 
  // generate url
  list($route_name, $parameters) = sfContext::getInstance($appname)->getController()->convertUrlStringToParameters($url);
 
  if (sfConfig::get('sf_url_format') == 'PATH')
  {
    // use PATH format
    $divider = '/';
    $equals  = '/';
    $querydiv = '/';
  }
  else
  {
    // use GET format
    $divider = ini_get('arg_separator.output');
    $equals  = '=';
    $querydiv = '?';
  }
  $web_url = $url_root.$querydiv.$scriptname.sfContext::getInstance($appname)->getRouting()->generate($route_name, $parameters, $querydiv, $divider, $equals);
 
  if ($fragment)
  {
    $web_url .= '#'.$fragment;
  }
 
  return $web_url;
}

Pour l’utiliser (par exemple, depuis une application nommée back) :

<?php echo cross_app_url_for('front' , '/module/action?id=5&tmp=ok#raoul'); ?>

Je ne l’ai pas beaucoup testé et a vrai dire je ne sais pas si on peut faire plus efficace. Le point particulier qui m’a poussé à écrire autant de code est que, si il est facile d’extraire les routes pour un contexte donnée, la méthode genUrl de sfWebController utilise un objet sfRequest pour obtenir l’url du contrôleur (back_dev.php par exemple) ce qui est bloquant dans mon cas.

Si vous avez des retours n’hésitez pas.

Vous pouvez télécharger le code cité plus haut : crossAppLinkHelper.php.zip


Téléchargez votre vin en direct des domaines !

24 juillet 2008

C’est beau la technologie !

usbwine.com


Blogmarks pour le 19/07/2008

19 juillet 2008

Royal Pingdom » Forget about hacking - your servers might get stolen

When it comes to security, there is often a focus on the software side, thwarting hackers and other virtual threats such as viruses and worms. When it comes to uptime and availability, focus often rests on redundant power, clustering, and other similar strategies. We often forget about something that can put a stop to any operation: good, old-fashioned, real-life robbery.

(categories: )

Le spam représente 81,6% des emails au niveau monde par Neteco.com

Malgré bien des tentatives pour essayer de l’éradiquer et de le minimiser, le spam ou courrier électronique non sollicité reste plus que jamais d’actualité. Dans une récente étude publiée par MessageLabs, 81,5% des emails reçus au travers des fournisseurs d’accès seraient du spam.

(categories: )

PHPTV - Dur Comme Faire

La première télévision sur le web entièrement consacrée à PHP vient d’être officiellement lancée. PHPTV est une initiative de l’AFUP produite par la société OpenStates. Cette web TV publiera une émission chaque mois.

(categories: )

Zend, la PHP compagnie, lève 7 millions de dollars par Neteco.com

Zend, « The PHP Company », lève 7 millions de dollars auprès de TriplePoint Capital. Cette nouvelle levée de fonds doit lui permettre de monter en puissance sur un marché en croissance.

Après tout, ce n’est qu’un petit million de moins que seesmic :-p

(categories: )

Comment localiser sa copine grâce à Orange !

Orange vient tout juste de mettre en ligne son API de localisation de téléphone mobile sur son portail Orange Partner :

http://www.orangepartner.com/

Cette API REST fonctionne pour tous les clients Orange France quel que soit leur modèle de téléphone (GPS ou non) à condition bien sûr qu’ils aient accepté préalablement le SMS de demande de localisation envoyée par le service.

(categories: )

Integrate your PHP application with Google Calendar

Google Calendar allows Web application developers to access user-generated content and event information through its REST-based Developer API. PHP’s SimpleXML extension and Zend’s GData Library are ideal for processing the XML feeds generated by this API and using them to build customized PHP applications. This article introduces the Google Calendar Data API, demonstrates how you can use it to browse user-generated calendars; add and update calendar events; and perform keyword searches.

(categories: )

Google devrait numériser des documents de la bibliothèque de Lyon

Le groupe internet Google devrait être choisi demain par la municipalité de Lyon pour numériser 500.000 documents du fonds ancien de la bibliothèque municipale.
Cela ferait de Lyon la première ville française à procéder à la numérisation de ses ouvrages patrimoniaux, antérieurs au XXe siècle.

(categories: )

blogmarks.net


Sauvegarde de ce site avec Automator

17 juillet 2008

Automator est un logiciel fourni par apple permettant au premier utilisateur venu de créer visuellement des applications enchainant des actions simples. Automator est à mon avis assez méconnu et mériterait plus de publicités.

Mon site hébergé par Gandi avait besoin d’un petit système de sauvegarde. En bon informaticien j’ai cherché le moyen le plus rapide et simple pour le réaliser.

Lire la suite »


WordPress 2.6 intègre Google Gears

16 juillet 2008

Dans le but d’accélérer le back office, WordPress 2.6 intègre maintenant Google Gears !

Pour l’instant le bouton turbo ne sert qu’a mettre en local certaines CSS, javascripts et autres données générales de votre blog, mais on peut espérer une utilisation plus intensive dans le futur comme la contribution hors-ligne.

activation de Google Gears

Google Gears activé

Sur mon hébergement, le back office est sensiblement plus rapide.

Chapeau WordPress !


Une bande de petits braillards

16 juillet 2008

Pas possible de prendre son petit dej tranquille !!!!


Les cousines se bidonnent !

11 juillet 2008

Ce qui est sympa à trois ans, c’est qu’un rien t’amuse !


Blogmarks pour le 10/07/2008

10 juillet 2008

Web Form Design Patterns: Sign-Up Forms, Part 2 | How-To | Smashing Magazine

Last week we have presented first findings of our web forms survey. The main objective of the survey was to provide designers and developers with some intuition of how effective web forms are designed; we also presented some guidelines of how an effective and user-friendly web form can be achieved.

(categories: )

ratproxy - Google Code

A semi-automated, largely passive web application security audit tool, optimized for an accurate and sensitive detection, and automatic annotation, of potential problems and security-relevant design patterns based on the observation of existing, user-initiated traffic in complex web 2.0 environments.

(categories: )

Recherchez vos documents Google Documents sur votre Mac avec Spotlight

Vous possédez un Mac et vous utilisez Google Document. Voici une application qui vous permettra de rechercher des documents et signets présents sur votre compte Google en utilisant Spotlight. Cette utilitaire se nomme Precipitate, il a été développé par Stuart Morgan de chez Google.

(categories: )

Go!Explore

Go!Explore est hyper facile à utiliser, et que vous soyez piéton ou automobiliste, il fait de votre PSP un système GPS idéal.

(categories: )

blogmarks.net