Jonathan Petitcolas - Les fantasques tribulations d’un geek déluré.

Apéro PHP le 18 septembre

Je relaye l’information lancée par Raphaël Desbonnet concernant l’organisation d’un apéro PHP le jeudi 18 septembre 2008 à 19h30. Le principe ? On prend l’apéro, en parlant de PHP. Bref, un rendez-vous pour geeks développeurs. Celui-ci se passera boulevard de Sébastopol. Je vous laisse vous reporter à la description donnée par Raphaël pour de plus amples informations.

Je serais présent, si certains d’entre vous veulent enfin voir le geek qui se cachent derrière ces lignes. Enfin vous pourrez voir en chair et en os ce génie à la verve créative sans limites, cet être merveilleux qui développe d’une manière sans aucun précédent, et cette modeste personne aussi. :p

  • 0 Comments
  • Filed under: Actualité
  • WordPress 2.6 - Nouveautés de cette dernière version

    Logo WordPress

    Alors que j’étais tranquillement en train de mettre à jour un article, je m’aperçois que la version 2.6 de WordPress est sortie. Luttant depuis des temps immémoriaux contre tous ces administrateurs systèmes frileux qui tardent à mettre à jour leurs machines (qui a dit que je pensais à IE6 ? ^^), il était de mon devoir de mettre en place cette nouvelle version dès sa sortie.

    Outre la correction de bugs et l’amélioration des performances, cette nouvelle version implémente un suivi de modifications des articles (aussi appellé versionning). Cela ne représente aucun intérêt pour ma part, étant seul à rédiger tous les articles sur ce blog. Cependant, dans le cadre d’une équipe éditoriale de plusieurs collaborateurs, cela peut être très intéressant.

    Une fonctionnalité qui m’intéresse un peu plus est cependant la mise en place de Google Gears. Cette fonctionnalité made in Google permet en effet une mise en cache des informations. Très utile, je me dis sans cesse qu’il me faut étudier cette API, pour ma culture générale, et surtout pour un très gros projet dont nous reparlerons je pense d’ici septembre-octobre. ;) Concrètement, Google Gears permettra la mise en cache des fichiers statiques, ce qui accélerera grandement l’affichage de vos pages.

    D’autres fonctionnalités un peu plus gadgets ont aussi fait leur apparition :

    • Ajout d’un compteur de mots dans chaque article
    • Meilleur support du SSL pour une administration sécurisée du blog
    • Nouvelle interface pour hiérarchiser et ordonner les catégories et les blogs
    • Modification de la boîte de dialogue de modifications des images (drag’nd drop)
    • Possibilité de déplacer le fichier wp-config.php et le dossier du contenu wp-content
    • Mise à jour de jQuery 1.2.6 et jQuery UI 1.5 pour d’important gain de performances
    • Mise à jour de l’éditeur visuel TinyMCE vers la version 3.1.0.1

    Je m’empresse donc de mettre à jour tous les blogs que je maintiens avec cette nouvelle mouture. Espérons qu’aucun souci de migration n’ait lieu. En théorie, non. Mais en pratique, il y a toujours un petit problème qui apparaît. :/

    [EDIT :Apparemment, aucun problème de mise à jour. Merci la WordPress team ! :) ]

    WP Ajax Calendar, un calendrier bien sympa.

    Comme indiqué dans un billet précédent, le calendrier est un widget sympathique que j’aime retrouver sur un blog. Il permet de cibler une période de l’année particulière (Noël, nouvel an, etc.). Cependant, force est de constater que le calendrier fourni par défaut par WordPress est plutôt lourd à utiliser.

    Pourquoi s’amuser à recharger toute la page pour simplement changer de mois alors qu’une ancienne technologie appellée XMLHttpRequest existe ? C’est pourquoi, en cherchant sur la toile, je suis tombé sur un plugin répondant parfaitement à mes besoins : WP-Ajax-Calendar.

    Pour le voir en action, regardez dans le menu à droite. Pour l’installer, c’est très simple. Il suffit de l’activer dans la partie d’administration (partie Plugins), et de remplacer la ligne d’appel de votre calendrier par :

    1. <?php ajax_calendar(); ?>

    Il ne vous restera alors plus qu’à personnaliser votre feuille de style. Etape sans doute la plus difficile. ;)

    WordPress : mot de passe oublié

    Pour tous les étourdis du Web (dont je fais partie), il peut arriver d’oublier son mot de passe WordPress. Pour le réinitialiser, rien de bien difficile. Il suffit uniquement de posséder un accès à la base de données de votre blog, et de changer le mot de passe, en n’oubliant pas de le crypter en MD5.

    1. UPDATE `wp_users`
    2. SET
    3.      `user_pass` = MD5( ‘nouveau_mot_de_passe’ )
    4. WHERE
    5.      `user_login` = "admin";

    C’est tout pour aujourd’hui.

    Upload d’images en pseudo AJAX

    Afin d’augmenter un maximum l’ergonomie de vos formulaires Web, il peut être utile de mettre en place un script d’upload d’images en Ajax. Celui-ci permettra, par exemple, de ne pas laisser attendre l’internaute sur une page tierce, ni de recharger entièrement la page actuelle. Cette technique, évitant des lourdeurs certaines, n’est cependant pas aussi simple que cela à mettre en place : Ajax ne permet pas d’uploader des images. C’est dit.

    Si l’upload de photos n’est pas permis en Ajax, nous n’allons pas utiliser celui-ci. Nous nous contenterons du Javascript. Plutôt que de s’embarquer dans une théorie longue et imbuvable, regardons immédiatement un exemple.

    On commence par la réalisation d’un formulaire classique d’upload d’image.

    1. <form method="POST" id="uploadImageForm" action="upload.php" target="iframe" enctype="multipart/form-data">
    2.         <input type="hidden" name="MAX_FILE_SIZE" value="1280000" />
    3.         <p>
    4.                 <label for="fileBrowser">Please select a file :</label>
    5.                 <input type="file" name="selectedFile" id="selectedFile" />
    6.         </p>
    7. </form>

    Voici un formulaire tout ce qu’il y a de plus normal. On n’oublie surtout pas de spécifier l’attribut enctype dans la balise form, ainsi que la taille du fichier grâce à l’input hidden ci-dessus.

    Notre upload d’images ergonomique réside en fait dans l’attribut target. On lui spécifie une iframe comme cible. Ainsi, plutôt que de recharger intégralement toute la page, le formulaire se contentera d’envoyer la page de résultat du script upload.php à l’intérieur de la frame concernée. Voyons donc le code de la frame en question…

    1. <iframe style="display: none;" id="iframe" name="iframe">
    2. </iframe>
    3.  
    4. <img id="img-original" />

    Celle-ci est vide à l’origine. Et pour cause, elle ne servira qu’à récolter la réponse de l’envoi du formulaire. On remarque le display: none; permettant de ne pas polluer l’affichage.

    On rajoute aussi une image, sans aucun attribut, si ce n’est un id. Cela n’est pas valide W3C, nous sommes d’accord. Remarquez que la frame n’est pas non plus très conseillée, mais bon, passons… Pour rendre votre code valide, il serait possible d’insérer dynamiquement l’image et la frame, lorsque vous en aurez besoin, via Javascript. Cependant, pour des raisons de simplicité d’explications, nous n’atteindrons pas un tel niveau de rigueur.

    Le script upload.php nous retourne le code suivant :

    1. <script type="text/javascript">
    2.         var img = parent.document.getElementById(’img-original’);
    3.         img.src = ‘mon-image.jpg’;
    4. </script>

    Et c’est tout. Ainsi, notre image verra sa source modifiée, et sera donc dynamiquement mise à jour. Le tout sans rechargement sauvage de toute la page. Mission accomplie !

    A noter que je laisse le soin au lecteur de gérer de manière sécurisée le téléchargement de l’image du client vers le serveur, chacun ayant ses petites habitudes en la matière. ;)

    Tags
    Flux RSS Syndiquez ce blog
  • Blogs favoris