Je rattrape mon retard sur l'upload en PHP

jeudi 19 août 2004 :: perrick :: PHP :: 2 commentaires :: aucun trackback

Dans mon dernier projet pro, j'avais besoin d'effectuer un upload de fichier. "Rien de plus simple" que je me suis dit bêtement. Et me voilà replongeant à la recherche de mes vieilles librairies persos : quelques instants plus tard (ah la magie d'un bon archivage via un système de gestion de versions), me voilà paré.

Sauf que ça ne marche plus du tout : j'avais des erreurs en pagaille dans mon ancienne classe. Quelques sueurs froides plus loin, je me rends compte que je suis complètement à la masse : ça fait belle lurette que PHP a remis à plat tout le système d'upload !

Et me voilà donc tout émoustillé par le tableau $_FILES et la fonction move_uploaded_file (depuis les versions 4.1.0 et 4.0.3 respectivement) : je me rassure comme je peux en me disant que c'est fichtrement sympa de retrouver sa joie de débutant ;-).

Retour à la case lilloise

mardi 17 août 2004 :: perrick :: Connexe(s) :: aucun commentaire :: aucun trackback

Me voilà de retour sur Lille et déjà un apéro PHP se profile à l'horizon - ou plutôt un barbecue PHP (merci Greg). Dommage que celui de Moosh à Bruxelles se soit déroulé pendant mes vacances :-(

Sinon il y a eu quelques retours intéressants sur le recrutement des "greats hackers" : parmi mes lectures, Eric Sink et Joel Spolsky concordent sur le fait que ces "great hackers" ne sont pas toujours au mieux dans une petite entreprise de développement logiciel. Et puis dans la même veine -- celle du recrutement -- un des blogs de Johanna Rothman : Hiring technical people.

Nettoyage de printemps en été

jeudi 29 juillet 2004 :: perrick :: Connexe(s) :: un commentaire :: aucun trackback

Voilà les vacances arrivent : à chacun son tour... J'ai profité de ma dernière soirée devant un écran d'ordinateur pour faire remettre un peu de fraicheur sur la feuille de style. Note : je pars 15 jours donc ce n'est pas la peine de me dire que ça ne fonctionne pas ou que ce n'est pas beau. Désolé ;-)

Voici quand même le dernier article que j'ai mis dans mes trucs à (re)lire : les Great Hackers [via : LoudThinking]. Y sont évoqués Python, Ruby, les hackers et leur vie, les entreprises qui plaisent et celles qu'on fuit. En filigrane celle que je voudrais que No Parking devienne mais ça c'est une aventure qui n'est pas encore écrite.

Fonction PHP : extract()

mercredi 28 juillet 2004 :: perrick :: PHP :: un commentaire :: aucun trackback

J'ai l'impression qu'il est de bon ton de ressortir des petites fonctions méconnus en PHP. Et come ce n'est plus tous les jours que j'(re)apprends des nouveaux trucs en PHP, voici le résultat de mon dernier passage sur la doc de PHP: extract(), importe les variables dans la table des symboles.

J'en ai eu besoin pour passer de : $ma_liste = array('nom1' => 'valeur1', 'nom2' => 'valeur2', 'nom3' => 'valeur3'); à $nom1 = 'valeur1'; $nom2 = 'valeur2'; $nom3 = 'valeur3';. Un petit truc pratique quand -- et c'était mon cas -- une fonction retourne plusieurs valeurs dans une liste. A noter au passage le nombre d'options pour le traitement des collisions.

Le refactoring pour s'en sortir avec style

mardi 27 juillet 2004 :: perrick :: Développement :: aucun commentaire :: aucun trackback

Il n'y a pas si longtemps, je pestais contre un beau bug d'IE à propos de la superposition d'un formulaire et d'un menu. Quelques jours plus tard, ce n'est plus grave du tout : avec une bonne scéance de refactoring, openTIME peut désormais gérer presque n'importe quel structure de menu ET / OU feuille de style. Il paraît qu'on appelle ça abstraire dans le jargon du TDD. Et un jour peut-être, je pourrais avoir un menu en XUL (ou autre dérivé) au lieu de l'avoir en HTML : en tout cas je suis prêt ;-)

Les clients riches de demain

dimanche 25 juillet 2004 :: perrick :: Développement :: aucun commentaire :: aucun trackback

Lors des apéros PHP qui se font sur Lille de temps en temps, une des questions que j'aime bien posé est : "qu'est-ce que tu sens autour du web en ce moment ?" D'abord et avant tout chose la bataille des standards avec Mozilla, CSS, le Zen Garden et quelques autres qui avaient IE en ligne de mire. Puis la poussée des blogs (dont ma tentative, avortée au stade de béta, de plug-in pour DotClear) : et dire que je n'ai célébré ni mon 100ème post, ni mon premier anniversaire.

Désormais les clients riches de demain : particulièrement révélateur, un post de Koranteng Ofosu-Amaah, développeur chez IBM / Lotus. Il évoque les récentes acquisistions d'IBM dans le domaine des applications web très riches : tableur complet, clône de PowerPoint. Le client email (Oddpost, déjà bluffant quand je l'avais croisé il y a près d'un an, mais IE uniquement) est quant à lui parti chez Yahoo -- face à Gmail de Google...

Et parce qu'un peu de culture informatique ne fait pas de mal, un autre lien qui me revient par ce biais : pourquoi "plus mauvais est bien mieux" ! En attendant qu'Opera mette en place le XMLHttpRequest : moi aussi j'ai envie de m'amuser un peu.

Un formulaire se balladant bras dessus, bras dessous avec un menu stylé

vendredi 23 juillet 2004 :: perrick :: CSS :: 4 commentaires :: un trackback

En voyant fleurir des menus "sémantiquement corrects" un peu partout : Eric Meyer, Suckerfish Dropdowns et dérivé subtil, je me disais que l'occasion arrivait de mettre un terme à mes menus javascript dans openTIME.

Après avoir sué toute une après-midi pour arriver à quelque chose de presque parfait (sur IE, Firefox et Opera - Windows uniquement), je tombe sur une *** de "bug / feature" : dans Internet Explorer (uniquement bien sûr), un élément de formulaire (<input> ou <select>) ne laisse jamais la priorité à un élément stylé qui viendrait se poser par-dessus. J'ai trouvé un bout de code qui pourrait tout remettre dans l'ordre Form Elements Overlapping A Styled Layer mais on retombe dans une couche de javascript supplémentaire. Dommage.

Outils de groupware en PHP

mardi 20 juillet 2004 :: perrick :: PHP :: 6 commentaires :: 3 trackbacks

Pour les membres de l'AFUP, je dois choisir et mettre en place un outil de groupware. Le cahier des charges pour l'instant est assez basique mettre à disposition les documents dont nous disposons. J'ai donc fait un petit tour à droite et à gauche, et voici ma liste d'outils de ce type -- à priori :

D'un autre côté, j'aime bien -- et de plus en plus -- les wikis :

Vous l'aurez compris : si vous avez des préférences sur l'un ou sur l'autre des ces outils (qualité du code ou de la communauté autour par exemple) et surtout si vous avez d'autres pistes que celles ci-dessus, j'attends vos commentaires. Et je vous ferais part de mon choix final -- et de ses raisons -- d'ici quelques temps.

[màj du 26/07/2004 : ajout des noms proposés dans les commentaires]

PHP 5 et PHP 4.3.8 sont de sortie

mercredi 14 juillet 2004 :: perrick :: PHP :: 2 commentaires :: aucun trackback

Je sais que je ne suis pas le premier à l'annoncer (ici, ici aussi et encore par exemple). Mais quand même PHP 5 est sorti, ainsi que PHP 4.3.8. Il me reste une question : combien de temps avant que cette dernière mouture dépasse la branche 4.3 sur le nombre de serveurs en production ? Je parie sur 15 mois : j'attends le vôtre dans les commentaires ou trackbacks (même si ça n'engage à rien du tout, ni moi, ni vous). Les résultats seront ici dans quelques temps.

La maman et la putain : film et numéro de jonglage

mardi 13 juillet 2004 :: perrick :: Perso :: un commentaire :: un trackback

C'est en écoutant un disque de Diabologum - #3 - que m'était venu l'idée de mon premier numéro de jonglage : c'était il y a 18 mois. Sur la huitième piste, on peut y trouver un extrait -- assez cru -- des dialogues du film "La maman et la putain". Avec mes balles, je me mettais dans la peau de cet Alexandre que j'imaginais petit garçon refusant d'écouter sa mère. Elle lui dit que oui elle est une prostitué, mais que oui elle les aime - lui et sa soeur.

Pendant la création du numéro, c'est délibérément que j'avais choisi de ne pas voir le film de Jean Eustache. Et puis hier j'y suis allé : au fur et à mesure des 3h30 du film je me suis rendu compte à quel point j'étais loin de l'histoire originale ! J'ai mis du temps à me laisser convaincre par le jeu des acteurs : les dialogues ont parfois l'air complètement désincarnés, prononcés sans que l'acteur ne s'y implique intimement. Alors que c'est justement ce que je cherchais avec mes petites balles blanches... N'empêche que ça reste une grande pellicule !

Des pépites via une scéance de broutage

lundi 12 juillet 2004 :: perrick :: Ergonomie :: aucun commentaire :: aucun trackback

Si Jeremy Zawodny indique qu'il ne surfe plus sur le web, ça m'arrive encore quelque fois. Même si je dois avouer que c'est beaucoup moins souvent qu'avant.

Toujours est-il que sur CollyLogic -- un bloggueur anglais j'ai trouvé deux pépites :
- le Live preview qui permet de visualiser "proprement" le texte dans une balise <textarea> au fur et à mesure qu'on le tape
- un lien pour le filtre daltonien via une question posée à Simon Willison.

:: onpk :: passe à DotClear 1.2 beta2

dimanche 4 juillet 2004 :: perrick :: Connexe(s) :: un commentaire :: aucun trackback

Voilà c'est fait, j'ai mis à jour ma version de DotClear. Plus de peur que de mal finalement : je craignais pour les liens (mais en fait comme il ne s'agit que de paramètres GET, pas de problème !), pour le thème (aucun soucis particulier) et pour la configuration (à refaire à la main, mon principal regret).

Sinon le travail effectué avec JMF il y a quelques temps restera dans les cartons : depuis est sorti le feed Atom dans la distribution officielle. En tout état de cause, Jean-Marc en aura profité pour préparer son dernier plug-in perso : dcBlogmark.

Et en parlant de Blogmark -- ou linkblog, une belle astuce trouvée chez Simon Willison :
ul#bmarks a:visited {
text-decoration: line-through;
}

Ceux qui lisent le CSS couramment auront compris tout de suite que ces quelques lignes "rayent" les liens déjà visités de la liste : je trouve ça particulièrement astucieux.

[màj : 14/07/2004]Je vous invite aussi à consulter la blogroll de CollyLogic : cette fois-ci ce sont des images (flèche, tick) qui ajoutent des informations supplémentaires.[/màj]

Yooooouuuuppppiiii

mercredi 30 juin 2004 :: perrick :: No Parking :: un commentaire :: aucun trackback

A peine de retour de congés, j'ai déjà l'impression de repartir dans les airs. Des "petits" riens ici, des pistes là. Un tout qui me fait bien plaisir : rien d'officiel pour l'instant mais ça pourrait le devenir dans les mois qui viennent. Note : je sais que ça fait un peu teasing mais il est encore un poil trop tôt... Pour l'instant, c'est juste : Yooooouuuuppppiiii.

A propos de l'optimisation de scripts PHP

:: perrick :: PHP :: 8 commentaires :: aucun trackback

D'habitude plutôt branché Mozilla, Pascal Chevrel propose quand même quelques notes intéressantes sur l'optimisation d'un site chez Online.fr. J'ai même trouvé quelque chose que je ne connaissais pas : 4 - mysql_fetch_array, ajoutez le paramètre MYSQL_ASSOC. Toujours bon à prendre et surtout à faire circuler !
[via : GlazBlog]

Le buzz autour du développement d'applications web

lundi 28 juin 2004 :: perrick :: Développement :: aucun commentaire :: aucun trackback

Le buzz du moment -- ou tout du moins à travers mon filtre personnel sur onpk -- est le futur du développement web. Je vous laisse suivre ou remonter les dicussions à ce sujet -- polémique puisque que facilement compréhensible -- ici ou ou encore ailleurs (note : à chacun de faire sa petite liste).

Du lot, je vois encore une nouvelle structure avec une démarche intéressante : le Web Hypertext Application Technology Working Group. Il s'agit d'un loose unofficial collaboration of Web browser manufacturers and interested parties who wish to develop new technologies designed to allow authors to write and deploy Applications over the World Wide Web. Avec des piliers issus de Mozilla et d'Opera en particulier. J'aime beaucoup leur démarche : The current focus is rapid, open development and iteration to reach that level. Un véritable catalogue de principes agiles. Encore un truc à suivre de près.