L'alyblog

Aller au contenu | Aller au menu | Aller à la recherche

Compatibilité Jquery et mootools

Actuellement, je travaille sur un projet qui utilise des scripts de la librairie mootools. Je dois insérer des scripts qui utilise le merveilleux jQuery. Je me dis, pas de problème, jQuery a un mode de compatibilité, que j'ai déjà utilisé dans d'autre projets.

Malheureusement, cela ne fonctionne pas avec Mootools. Mootools semble refuser de fonctionner si au moment de son instanciation, la variable $ existe déjà.

L'ensemble des préconisations de la page de compatibilité de jQuery ne fonctionne pas non plus.

La solution, la voici :

<script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
jQuery.noConflict();
</script>
<script type="text/javascript" src="../js/mootools-core.js"></script>

En gros, on commence par charger la librairie jQuery. Le symbole $ devient donc un objet jQuery. Ensuite, grâce à noConflict(), on libère la variable $. Enfin, on peut charger mootools qui ne pose plus aucune résistance !

PS : Pour utiliser jQuery dans la page, ne pas utiliser le $, mais jQuery. exemple : jQuery('#mon-element').

Suppression récursive de dossiers similaires

Si, dans un projet, pour une raison quelconque, vous devez supprimer des dossiers, qui ont tous le même nom, comme par exemple les dossiers ".svn", voici une commande magique sur unix :

find . -name « .svn » -type d -exec rm -rf {} \;

Tapez cela dans le dossier racine de votre projet.

PS: le dossier ".svn" n'est qu'un exemple. Car la méthode la plus propre serait de faire un export du projet subversion.

Envoi d'email HTML avec CodeIgniter

J'ai rencontré pas mal de problème lors de l'envoi d'emails HTML avec CodeIgniter. Le problème est que Code Igniter rend compatible les emails avec la norme RFC 2045.

mais cette norme ne semble pas bien interpretée par un grand nombre de client de messagerie.

J'ai donc décidé de revenir à des mails plus basique.

Pour cela, il faudra modifier la class Email de base de Code Igniter, ou mieux, surcharger la classe par une classe Perso.

Dans la fonction _build_message(), il suffit de commenter (ou supprimer) les lignes

$hdr .= "Content-Transfer-Encoding: quoted-printable";

Cette ligne apparait plusieurs fois, selon que l'email soit en html, ou html-attach (si des pièces jointes sont attachées). Le fait de commenter cette ligne signifie que l'email n'est plus en encodage quoted-printable. Ensuite, il faudra commenter les lignes :

$this->_body = $this->_prep_quoted_printable($this->_body);

En faisant cela, on ne passe plus par la fonction qui encode le contenu du message en quoted-printable

Maintenant, les mails passent correctement !

Vous êtes plus Deezer ou spotify ?

J'ai découvert en 2007 lastFm qui est devenu payant par la suite.

C'est à ce moment que Deezer arrivait sur la toile, avec une communication très web 2.0 qui allait le propulser au top des webradios pour la france.

En ce début d'année est sorti Spotify. La grande différence avec Deezer est que Spotify possède un client à installer sur son ordinateur, alors que Deezer fonctionne depuis le navigateur.

C'est d'ailleurs ce qui m'a plus avec Spotify, car je trouve qu'il consomme moins de ressources pour l'ordinateur. En plus, travaillant plus de 8 heures par jours sur le web, je trouve que deezer ralentissait fréquemment mon navigateur. Je me suis mis à utiliser de manière systématique Spotify.

Cependant, depuis quelques semaines, je remarque que la publicité est de plus en plus présente. Non pas que je critique, je comprend tout à fait que je consomme gratuitement de la musique, et il faut bien d'une manière ou d'une autre qu'ils rentabilisent leur service. Mais je me dis pourquoi être importuné alors qu'avec le service concurrent, je le serais moins ?

J'ai donc décidé de repasser sur Deezer ! Pas de solution miracle pour limiter la consommation CPU du player flash.

Par contre, pour ne pas ralentir mon navigateur "de travail", j'utilise Prism de mozilla. Du coup, j'ai une application Deezer indépendante !

Template codeigniter pour Eclipse

logo eclipseAfin de gagner toujours un peu de temps dans le développement, j'ai décidé de créer des petits templates pour Code igniter sur Eclipse.

Lire la suite...

une belle arnaque marketing

Je voulais vous faire part d'une belle méthode frauduleuse pour un jeu concours.

Ce matin, dans ma boite mail, je reçois un jeu concours : Gagnez un bon d'achat de 1000€ chez ikéa. J'ai une adresse e-mail poubelle pour ce genre de chose, et je décide de jouer.

Premier point : les liens de l'e-mail sont trackés. Jusque là, pas de soucis, tout le monde le fait. Mais en gros, sans inscription future, nous validons notre adresse e-mail auprès de l'organisateur du jeu concours.

Je copie le lien, et supprime manuellement le tracking de l'url. Me voila sur la page du formulaire.

La première blague, est la présence d'un champ "civilité", et d'un champ "sexe". En général, un homme est un monsieur, et une femme une madame ou mademoiselle ( Nous n'allons pas rentrer dans les débats sur le changement de sexe ...).

Ça me fait sourire, mais je continus.

A la fin du formulaire, je me rend compte que pour valider il faut valider les CGV. coche_illegale.gif Mais, une seul coche valide les CGV ainsi que le fait qu'on accepte les offres des partenaires ! Donc en gros, pour participer au jeu concours, pas d'autre choix que d'accepter que notre e-mail soit refilé à des tiers.

A mon avis, c'est pas top top légal.

Du coup, par curiosité, je décide d'aller lire le lien "vie privée". Et là, c'est pas mal non plus.

En outre, grâce à l´utilisation de témoins de connexion (« cookies »), de logiciels espions, d´identificateurs cachés et d´autres dispositifs analogues, nous pouvons collecter les informations vous concernant décrites ci-après au point 2 des présentes.

Donc ils s'autorisent les cookies. Bon ça, presque tous les sites le font. Ils s'autorisent les rootkit ! Je trouve ça vraiment fort ! Et puis, ils ajoutent un petit etcétéra qui sera bien pratique pour les évolutions futures...



Et le final est pas mal non plus :

Nous pouvons être amenés à vendre vos données (ou, autrement, les transférer) à des tiers attentivement sélectionnés qui pourront les utiliser pour vous contacter concernant les offres pour lesquelles vous avez exprimé un intérêt lorsque vous vous êtes enregistrés sur notre site.

Si vous refusez que nous transférions vos données à des tiers à des fins commerciales, veuillez vous assurer de cocher la case appropriée située sur le formulaire duquel nous avons collecté vos données (le formulaire d´enregistrement) ou envoyez-nous un e-mail comme expliqué ci-dessous.

Le problème est qu'on ne peut pas participer au jeu, en décochant la case, puisque cette case sert aussi à confirmer les CGV.

Voila un bel exemple de pratiques qui ne sont pas du tout honnête pour l'utilisateur. Ça ne rassure pas l'utilisateur, si tant est que celui-ci prend conscience des risques de désagrément à valider le formulaire.

Vous en pensez quoi ?

API Météo Google

meteo_couv.gif Pour un projet, j'avais besoin d'une API me donnant la météo.

Pas facile de trouver une API simple, sans fioriture, et donc sans besoin de parser, puis filtrer à grand coups d'expressions régulières !!

Je suis tombé sur une API non officielle de Google qui permet de le faire : http://www.google.com/ig/api?weather=maville

Lors de la récupération avec SimpleXml, le flux n'est pas en utf-8. Donc la classe n'arrive pas à récupérer le contenu.

En continuant mes recherches, je suis tombé sur l'ajout d'un paramèter de langue : "hl=" qui permet de spécifier un encodage, ou une langue, mais pas les deux cumulés.

Donc, soit on ajoute "&hl=fr" à l'url et on obtient le résultat en français mais pas en utf-8; Soit on ajoute "&hl=utf8", et on obtient le résultat en UTF8 mais pas en français.

L'astuce consiste donc, pour cumuler les deux, à passer par d'autre fonctions :

$xml = simplexml_load_string(utf8_encode(file_get_contents(http://www.google.com/ig/api?weather=lille&hl=fr")));

on va récupérer notre flux par la fonction file_get_contents, puis l'encoder en utf-8 par la fonction utf8_encode. Maintenant, il suffit de charger le résultat avec simplexml_load_string !

That's it !

CSS - contextes de formatage

Voici un excellent billet pour comprendre les contextes de formatage pour les éléments flottants en CSS.

Bonne lecture !

J'en veux une !

carte de crédit linux

Jquery - personnaliser la boite modale "dialog"

Pendant le développement d'un projet web, notamment l'espace d'administration, il est préférable d'afficher une boîte de confirmation avant la suppression d'un enregistrement, ou toute autre action importante.

La fonction confirm() de javascript le fait très bien, mais n'est pas très esthétique, bloque complètement la navigation, et n'est pas personnalisable.

Je vous propose de le faire avec Jquery et JqueryUi.

Lire la suite...

Choix d'une police pour développer

police droid Je viens de lire le top 10 des polices de caractères pour le développement de Hivelogic, qui est très intéressant, et bien fourni en images d'exemples.

Pour ma part, j'utilise de préférence la police "Droid Sans Mono" que je trouve très agréable, indépendamment de la taille.

Sinon, je trouve la police "DejaVu" très sympa !

Et vous, quelle police de caractère utilisez vous ?

Gagnez un Iphone (ancienne génération)

image Iphone Babozor met en jeu son ancien IPhone.

Aller voir les modalités sur son site .

Même si vous ne voulez pas de l'Iphone, je vous conseille d'aller voir ce site très intéressant, traitant du quotidien des développeurs web. Si vous ne le connaissez pas encore !

Bonne chance !

Code Igniter - fichiers de langue

Tous les modules ou helpers par défaut de Code Igniter sont, bien évidemment en anglais.

Mais il respecte l'architecture globale, et utilise donc des fichiers de langues, qui se trouve dans "/system/language/english/".

De nombreux contributeurs réalisent la traduction de ses fichiers dans d'autre langages. Il suffit de se rendre sur la page des traductions de Code Igniter et de télécharger ses fichiers de langue.

Dans mon cas, je télécharge le fichier de langue "français".

Ensuite, dans le fichier "/application/config/config.php", je modifie la ligne

$config['language']	= "french";

Je crée le dossier "french" dans le dossier "/system/language/", et je copie le contenu de l'archive téléchargée.

Et voila ! Notre application est en français !

Bienvenue Code Igniter

logo code igniter

Pour mon nouveau projet, je souhaite utiliser un framework existant, que je complèterai avec mes classes persos si besoin.

J'avais déjà testé Symfony, mais la difficile prise en main ne m'avait pas convaincu si l'on souhaite garder une certaine souplesse; ce qui ne retire en rien à l'excellent résultat de Symfony : c'est énorme tout ce qu'on peut faire.

Mais souhaitant conserver une simplicité d'exécution, et ne pas être trop dépendant du framework choisi, je décide d'utiliser Code Igniter.

D'après mes tests, Code Igniter semble correspondre à ce que je recherche :

  • Un framework léger
  • Un framework qui nous laisse libre sur pas mal d'aspects (charte de développement, architecture,...).
  • De nombreux outils pour nous simplifier le dév (les helpers)
  • un système de plugins
  • Et bien sûr : M-V-C

Modification du flux RSS

Pour ceux qui utilisent le flux RSS, merci de le mettre à jour avec http://feeds2.feedburner.com/_alyblog_

L'ancien sera plus dispo bientôt ! Merci

De retour sur lille !

Lille grand place Après avoir délaissé Lille professionnellement depuis plus de 3 ans, me voila de retour dans cette belle ville.

Le matin, peu avant 9 heures, les rues sont encore vides et les commerces commencent à ouvrir. C'est un moment que j'apprécie, loin de la fourmilière du soir.

Et ça me change des grandes sociétés en banlieue, à Roubaix, où le cadre n'est pas très motivant.

Pizza IE8

Du grand n'importe quoi chez un livreur de pizza français ...

Pizza IE8

mysql ne veut plus répondre

La bonne blague ^^

l'accessibilité : c'est pour quand ?

Hier soir, j'entrevois une voiture plutôt jolie mais, sans avoir le temps de l'identifier réellement. Tout ce que j'ai le temps de voir est qu'il s'agit d'une Renault.

Je souhaitais rapidement, et depuis mon téléphone portable, consulter le site du constructeur pour découvrir le modèle de cette voiture, mais impossible de surfer sur le site de renault avec un mobile : temps de réponse énorme, corps de page en animation flash, ...

Je trouve ça fou qu'en 2009, avec l'explosion des téléphones portables wifi, ou des forfaits 3g, des sites comme celui de renault ne soient pas encore accessible !

L'accessibilité n'est pas seulement pour les mal-voyants, c'est aussi une ouverture sur de nombreux modes de connexion. Donc, même si certains acteurs économique n'ont pas encore compris que le web devait être ouvert à tout public (mal-voyants, non-voyants, etc), ils pourraient au moins se préoccuper de leurs clients potentiels valides, qui utilisent de nouveaux modes de communication.

A bon entendeur ...

Le retour des Guns N'Roses : 17 ans près !

chinese_democratyAnnoncé sur Techcrunch, les Gun N'Roses font leurs retour chez les disquaires le 23 novembre avec leur nouvel album : Chinese Democracy.

Les chansons sont déjà disponible légalement en écoute sur le site http://www.myspace.com/gunsnroses.

Bilan première écoute : On est bien loin du Guns N'Roses de l'époque. Maintenant, on entend des riffs de guitares hachés à la Korn, des samples à la Mass Hysteria ... Ca surprend mais bon, en 17 ans, c'etait sûr que les influences du groupe auraient évoluées.

Par contre, pas Slash à la guitare, ni de Duff McKagan à la basse. Partant de ça, le vrai Guns n'existe plus ...

- page 1 de 7