Skip navigation.

Welcome chez moi !

L'histoire d'une vie d'entrepreneur / développeur Web Multimédia

Posts tagged with "geek"

Erreur xsl:decimal-format 80070057

,

Pour aider la communauté de développeur, voici une réponse concernant l'erreur 80070057 affichée lors d'une transformation XSL d'un document XML.

Pour vous mettre sur la piste, l'erreur provient de deux déclarations contradictoires concernant la mise en forme de données chiffrées à l'aide du tag <xsl:decimal-format>

En effet, la balise xsl:decimal-format permet de mettre en forme un chiffre selon différents paramètres. Cependant, l'appel à cette mise en forme ou son application sur une donnée, se fait à l'aide de la commande format-number()

Voici donc un code erroné provoquant la fameuse erreur que nous expliquerons après


Définition du format
<xsl:decimal-format name="financial" decimal-separator="." grouping-separator=" " NaN="-" infinity="-" />
Application du format sur $value
<xsl:value-of select="format-number($value,'# ##0,00','financial')" />



Dans le cas présent, l'erreur est provoquée par la déclaration contradictoire au niveau du séparateur décimal:
La définition du format défini que les décimales sont séparées par '.' tandis que l'appel à la mise en forme fait clairement apparaitre le caractère ',' dans sont format.

Pour corriger ce genre d'erreur, vérifiez bien que vos déclaration et appels n'utilisent pas de déclarations contradictoires.

Tips pour trouver son ID Flickr

, ,

Pour ceux fans des petites applications flash permettant d'afficher les photos de son compte Flickr, il vous faudra d'abord trouver votre Flickr ID.

Je n'ai peut être pas assez cherché sur le site, mais impossible de trouver.

Cependant, une petite procédure vous renseignera:

1 - Connectez-vous sur votre compte Flickr et allez sur votre compte et choisissez ou notez votre adresse web Flickr
2 - Rendez-vous sur le sitehttp://idgettr.com/ et notez dans le champs votre identifiant



Et voilà!

Pour tester, rendez-vous sur http://www.no3dfx.com/polaroid/ et saisissez votre Flickr ID fraichement relevé dans le champs.

Firefow 3 : download day


Pour info, il est 00h22 et le site de téléchargement de Firefox 3 affiche une erreur de Drupal:


Mysql error: Too many connections



Il ne sera donc pas évident de battre un record du monde des téléchargements dans cet état.
Le site de Firefox ne serait-il pas un brin sous dimensionné pour faire face à de la montée en charge?

Download Day - French

Frameworks CakePHP vs Symfony

, ,

Devant réaliser quelques sites et commençant à être un vieux de la vielle du PHP, j'ai décidé de me mettre un peu au goût du jour en essayant de passer à l'usage des frameworks.
En effet, l'équipe de production de ma boîte bossant sur le merveilleur environnement Ruby On Rails et, je l'avoue, n'ayant pas la foi d'apprendre le Ruby, j'ai décidé de me rabattre sur un framework PHP.

1 - Qu'est-ce qu'un framework:

Pour faire simple, un framework est un environnement de développement intégrant dès l'origine certaines routines ou fonctions afin de faire gagner du temps aux développeurs (RAD: Rapid Application Developpement). La pluspart d'entre eux s'appuis sur des standards de codage assez rigides afin de garantir au maximum une logique de programmation identique d'un développeur à l'autre (avec plus ou moins de réussite).

2 - Les avantages:

Ils sont assez nombreux mais nous nous contenterons d'une liste des caractéristiques les plus intéressantes (à mon goût):
- Ajax intégré : des fonctions déjà prêtes à l'emploi vous permettent de réaliser rapidement et simplement des fonctions Ajax, basées sur les bibliothèques les plus connues (prototype, scriptaculous, ...)
- Modèle MVC : les modèles d'objets, les traitements et les vues (présentation) sont entièrement séparées, ce qui permet une meilleure maintenabilité et une facilité dans le changement d'apparence sans toucher au code. De plus, un intégrateur web (à ne pas confondre avec un développeur) pourra sans mal changer le style du site sans détruire les éventuelles (trop grosses) parties de code incluses dans la page.
- Gestion simple des BDD : si les conventions de nomage sont respectées, vous pouvez aisément manipuler des enregistrements en base de donnée sans taper une ligne de code (CRUD).
- Génération des opérations CRUD (Create Read Update Delete): à partir du shéma de base de données ou de vos modèles d'objets, vous pouvez aisément générer les écrans de base (ou scaffold = échaffaudage) afin d'effectuer les manipulations de base sur vos enregistrements. Dans les cas les plus simples, il ne reste qu'à paufiner l'interface graphique (ex:manipulation d'utilisateurs).
- Evolutivité : certains permettent de mettre à jour, par une simple ligne de commande, le framework indépendamment du code développé auparavant afin de profiter de nouvelles fonctionnalités ou tout simplement de corrections de bugs.
- Respect des stades de développement : pour ceux qui ne le savent pas, un site internet, comme tout autre application, se doit de passer par les stades "développement", "test" et "production". Les frameworks les plus aboutis intègrent la gestion de bases de données propres à chaque étapes ainsi que l'affichage ou non de traces ou logs lors du parcours du site.
- URL simples : les plus récents s'appuient sur un système de réécriture des urls (url rewriting) s'appuyant (ou pas) sur le module mod_rewrite du serveur Apache. Les pages sont mieux référencées et on se passe agréablement des adresses du type index.php?action=afficher&article=48.

On va s'arrêter là pour l'instant.

3 - Quand utiliser un framework ?

L'utilisation d'un framework web est plutôt adaptée lors de la création d'applications web complexes. En effet, le gain de temps en terme de développement n'est pas instantanné puisque certaines parties inhérentes à la mise en place d'un framework sont incompréssibles (installation, configuration, ...). Ainsi, si vous voulez juste ajouter des effets ajax à votre site, l'utilisation directe d'une librairie javascript come scriptaculous sera profitable à la mise en place d'un framework.

4 - Les deux frameworks PHP en lice :

Comme l'indique le titre, j'ai arrêté mon choix sur deux frameworks assez répandus (mais pas forcément très connus) à savoir CakePHP et Symfony.

5 - Pourquoi eux?

Et pourquoi pas? Non plus sérieusement car un rapide coup d'oeil sur des tableaux comparatifs disponibles sur le net les donnent commes les plus aboutis pour PHP.
De plus, et il faut bien que je l'avoue, Symfony est supporté par une agence web française (Sensiolabs... stupeur une concurrente :wink:).

6 - CakePHP ... is it really cake?

Ok, on se rend sur le site de CakePHP et on comprend assez vite le message... Développer avec CakePHP, c'est du gâteau (d'où le nom).
Après avoir téléchargé le framework, dézippé ce dernier sous mon bon ubuntu (aaah, environnement de dev chéri), on se lance assez rapidement dans le cookbook (fr: livre de recettes).
L'ouvrage en ligne est plutôt bien découpé et on arrive assez rapidement à comprendre le fonctionnement de l'environnement: le code est clair, peu de lignes nécessaires pour les fonctions basiques... Je me suis même surpris à comprendre le fonctionnement du routing que je n'avais pas tout de suite saisi sous Symfony (really cake?).
Arrivant dans le dernier quart du book, on commence à peine à aborder la commande "bake", qui permet de générer les scaffolds, à savoir les interfaces CRUD des modèles que vous avez implémenté.
Le regret concernant ce framework porte réellement sur cette partie, ce point mériterait d'être plus détaillé car ce genre de scripts peuvent faire gagner un temps précieux.


To be continued

Internet Explorer 8 Beta : compatible avec tout? Non!

, , , ...

Petite devinette:

- Je suis un "E" bleu
- J'arrive dans ma version 8
- Je prends environ 80% du marché

Réponse: internet explorer évidemment!



Là où le rêve s'écroule c'est au moment où avec la beta de IE8, vous allez consulter vos mails sur hotmail. Désormais Internet explorer est respectueux des standards, compatible avec tout SAUF hotmail, site propriété de Microsoft!
Désormais, vous ne pourrez que contempler le petit DIV qui vous prévient que Hotmail Live! est en train de charger... Ca me fait presque penser au temps où AOL avait lancé ses offres illimitées sur bas débit. On pouvait parfois passer la nuit avant de réussir une connexion.

Où est la logique?... En tout cas ça me fait sourire que Microsoft Internet Explorer 8 ne soit pas "compliant" avec Microsoft Hotmail Live! p:

L'homme qui voulait refondre google...

, ,

Commercial oblige, il m'est nécessaire chaque jour de prospecter pour ramener de nouveaux clients dans le vivier de notre petite web agency.
Dernièrement inscrit sur un site dont je tairai le nom, j'ai lu une offre de projet dont le but était de développer un moteur de recherche relativement avancé (trop pour le budget du client).

Le plus drôle, c'est encore de voir les gens y répondre!



Dont, voilà ce qui me choque... Les traitans potentiels sont freelance (donc seuls) et peuvent, soit traiter la demande et livrer un produit fini en 90 jours, soit se rendre disponible pour cloner Google... rien que ça!

S'il vous plait les amis, réfléchissez avant de faire un offre... ou mieux, laisser ça aux professionnels et aux structures qui ont les ressources pour traiter la demande!

Autre conseil, quand le client a un budget de 1500€, ne perdez pas votre temps à répondre

Google Code Search [Geek Mode = ON]

, ,


Google met en place différents outils de recherche spécialisés sur le web.
L'un d'entre eux à l'air prometteur pour les développeur, quels que soient les langages.

Il s'agit de Google Code Search.
Un moteur de recherche spécialisé dans la recherche de code sources libres sur le net.

Il vous suffit de rentrer une fonction ou un mot clé pour afficher des extrait de codes mettan en oeuvre cette fonction.

Google Code Search

Problème de chargement de la librairie php_mysql.dll - [Geek Mode=On]

, ,

Toi qui échoue sur ce site, j'ai LA solution pour contourner le problème de chargement de la librairie php_mysql.dll
Pour ma part, j'ai passé une heure à chercher sur le net la solution qui correspondait à mon problème mais sans succès.

Configuration :
Apache 2.2.4
PHP 5.2.3
MySQL 5.0.41



Première piste, vérifier que votre extension_dir pointe bien vers le bon répertoire (ex:c:\php\ext). Pour vérifier, décommenter l'une des autres extensions dans le fichier php.ini (ex:php_mssql.dll).
Si lors du relancement d'Apache, seul un message d'erreur signale un problème avec la librairie php_mysql.dll et non avec php_mssql.dll, c'est que votre extension_dir est bien configuré.

La solution consiste en réalité à :
1 - Copier le fichier php_mysql.dll dans le répertoire C:\windows
2 - Copier libmysql.dll dans C:\windows\system32.
3 - Relancer Apache



Vous pouvez, en théorie, vous passer de copier php_mysql.dll dans le répertoire windows si vous avez ajouté le répertoir PHP à la variable PATH (redémarrage nécessaire).

IMPORTANT:
Il est obligatoire d'utiliser le libmysql.dll fourni dans la distribution de PHP car si vous utilisez celui livré dans le répertoire BIN de votre distribution de MySQL, celà ne fonctionnera pas et provoquera l'affichage du message d'erreur suivant :

unable to load dynamic library ... l'accès à cet emplacement mémoire n'est pas libre



J'espère que celà résoudra votre problème!

La solitude de l'informaticien

Pas mal de gens considère ceux qui ont fait de l'informatique leur métier comme des gens associaux, aigris et, avouons le, un peu cons.

Je suis d'accord avec eux... Enfin, on a tous nos mauvaises passes!

Je vais m'immerger dans la peau d'une personne pire que moi, le GEEK:
Il est plus de minuit, vous avez un job à rendre pour le lendemain ou un projet perso assez captivant (oui, je sais, pour certains être captivé par un ordinateur relève du mythe), la fatigue commence à s'emparer de vous et, à grand renfort de coca (le geek ne boit pas de café: c'est trop fort!) directement en intra-veineuse vous devez pondre des lignes de codes que même Victor Hugo, expert en matière de littérature, ne piterait pas un mot!
Après ce genre d'expérience traumatisante, comment voulez-vous avoir de l'énergie pour être sociable?

Comment repérer un geek:
Quelques pistes uniquement, gardons un peu de mystère sur ces personnes de la nuit...qui ne vont jamais en boite (c'est un indice).
Donc, marchez dans la rue, de jour de préférence et essayer de repérer un mec, en général assez squelletique (le coca ne nourrit pas son homme) au teint assez pâle (le geek ne bronze pas bien devant la lumière d'un LCD ou d'un tube cathodique) et avec un tee-shirt assez atypique (genre "Linux is my God", "My Girlfriend is my Notebook" ou encore "AC DC").
La vous avez deux possibilités, soit vous êtes devant un albinos fan de métal, soit vous êtes devant un vrai Geek!

La suite au prochain épisode...