Archive par rédacteur

Symfony: Personnaliser le nom du fichier lors d’un upload avec sfWidgetFormInputFileEditable

system-software-update On emploie tous je pense, assez couramment maintenant, le widget sfWidgetFormInputFileEditable qui permet de rajouter quelques fonctionnalités à un widget d’upload classique, en l’occurrence visualisation et suppression. Le souci que j’ai rencontré récemment, c’est par contre la personnalisation du nom du fichier ainsi généré.

En effet, par défaut celui-ci est une empreinte sha1 généré aléatoirement, ce qui convient pour la majeure partie des cas, mais parfois ne suffit pas. Mais là encore Symfony étonne par le mécanisme mis en place pour contourner cette problématique, encore faut-il le savoir malheureusement.

Lire la suite

Développement Web: les bons plans de la semaine #8

system-search Quelques changements dans notre rubrique hebdomadaire. Ceux qui suivent auront deviner de quoi il s’agit.
Première modification, on passe du vendredi au lundi. Pourquoi? Ca me laissera le week end pour faire quelque chose de moins à l’arrache et essayer de voir si c’est parce que ces billets sortent le vendredi qu’ils sont moins lus ou juste moins intéressants.

La deuxième découle de la première, finalement, on aura un lien « lire la suite » histoire d’être sûr de mesurer toutes les lectures. Bref, des détails, rien de bien grave et voici la sélection de la semaine!

Lire la suite

How to: Créer un plugin fckeditor

applications-system Dans le monde du développement web, il y a un domaine où je n’ai pas encore trouvé une recette miracle: La publication de contenu avec un éditeur WYSIWYG. En même temps, la problématique est costaud, faire éditer du HTML à des gens qui ont déjà du mal avec Word, sans qu’ils sachent qu’ils éditent du HTML.

Après avoir définitivement abandonné TinyMCE, car trop usine à gaz et n’en faisant qu’à sa tête, j’ai essayé nicedit comme je vous l’avais signalé dans un bon plan de la semaine. Malheureusement, il reste un peu juste pour certains besoins.
Sur les conseils de Sam, je me suis donc relancé dans une vieille connaissance, FCKEditor, un des plus vieux RTE avec TinyMCE.

Lire la suite

Développement web: Les bons plans de la semaine #7

applications-other Après un retour à Symfony cette semaine, on continue sur notre bonne lancée avec les bons plans du développement web de la semaine. Les vrais nouveautés deviennent de plus en plus en rare en cette période de vacances, donc ne soyez pas surpris que je mette quelques liens plus anciens.
Bon clics!

  • Comment utiliser Firephp
    Tout le monde connait firebug, l’extension Firefox qui a un peu révolutionné le debug web. Et parmi ces plugins les plus connus, on note yslow et firephp qui permet de débuguer du PHP! Voilà donc un tutorial très bien fait pour se lancer.
  • 10 conseils pour écrire en Anglais
    Même si en tant que français, on adore parler et écrire en français, on sait bien que pour se faire une place dans la communauté web des blogs, il devient obligatoire d’écrire son blog en anglais. Pas toujours très facile quand on voit la tête des cours qu’on a pu avoir du collège au lycée. Voici un article très intéressant qui conseille ceux qui voudraient se lancer. Il mériterait par contre une traduction pour le coup ;)
  • Construire un moteur de recherche en PHP
    Ah les moteurs de recherche. Un vaste sujet dans le monde du PHP et je n’avais jamais trouvé une base solide jusqu’à présent. Un très bon article qui va vous montrer les bases pour créer un moteur de recherche sans écrire 10000 lignes
  • QuickFlip
    Voici un nouveau plugin jquery qui permet à la manière d’un panneau publicitaire de permuter 2 images sur une même zone et avec le petit effet qui va bien. Fluide, customisable et léger, il confirme que jQuery a un réel potentiel pour remplacer le flash dans les petites animations.
  • Comment éviter que nos illustrations de code débordent
    Tout bon développeur qui se respecte à déjà eu l’occasion de copier/coller du code dans un de ces billets. Très souvent pour se faire, on utilise la balise <pre> qui à le mérite de ne pas casser une grande ligne (comme ça peut arriver dans du code). Mais du coup, c’est le design du blog qui en pâtit. Alors plutôt que de mettre un scoll, voici un petit snippet jquery qui permet d’élargir ces boites de code sur le survol seulement.
  • Multiselect amélioré en jquery
    Dans un formulaire, il n’est pas rare d’avoir des select à choix multiples. Le problème arrive quand on a beaucoup d’items à l’intérieur. Et bien voilà, un petit plugin qui reconstruit notre select en 2 colonnes (sélectionnés et disponibles) avec un petit filtrage sur la colonne disponible pour retrouver rapidement ces petits. Testé et approuvé par mes soins!
  • mPDF
    Peut-être que vous connaissez vu que c’est relativement ancien, mais personnellement j’ai découvert cette librairie PHP qui permet d’exporter une page html en pdf et en gardant le style! Une solution à beaucoup de casse tête pour mrt

Symfony: Faites passer le message

accessories-text-editor Petit retour sur Symfony pour débattre d’un sujet que je traine dans mes cartons depuis le début de ce blog quasiment mais dont je n’avais jamais vraiment eu le temps de parler: La communication entre l’application et l’utilisateur.

Je profite donc de n’avoir pas de sujets brûlants à vous faire part, pour attaquer ce billet.

En effet, c’est souvent un détail qu’on oublie très vite et il n’y a qu’à voir les maquettes qu’on reçoit pour nos devs, je pense que les bon élèves qui pensent à faire un petit mockup d’un message utilisateur sont pas forcément légions. Et pourtant, dans une optique purement IHM, l’application se doit de communiquer avec l’utilisateur pour montrer qu’il comprend bien la requête.

Difficilement d’imaginer d’appuyer sur un bouton et ne pas savoir si l’application a bien saisi et effectué notre demande. Et pourtant ce n’est pas rare de croiser encore de telles applications même si la tendance s’est inversée depuis l’avènement du deux point zéro.

Le souci, c’est que c’est souvent un peu fastidieux à mettre en place. Heureusement, nous on utilise Symfony et il va nous simplifier les choses pour peu qu’on pose les bonnes bases.

Lire la suite

Développement web: Les bons plans de la semaine #6

system-software-update Une nouvelle semaine qui prend fin, mais qui aura été assez pauvre en technique car chargée en boulot. On essaiera de faire mieux la prochaine fois.

Pour l’heure, voici les bons liens de la semaine avec comme d’habitude, beaucoup de ressources anglophones. J’en profite au passage pour signaler que pour ceux qui ne sont pas à l’aise avec la langue de Shakespear, que je suis ouvert à toute propositions d’adaptations de ressources anglophones en français, du moment que ca traite d’un sujet sur le développement web au moins.

Allez, c’est parti, à vos souris:

  • Support Symfony dans NetBeans
    NetBeans, le principal concurrent de Eclipse dans le monde des IDE libre a annoncé que sa prochaine version aurait le support natif de Symfony (le choix de symfony ayant été voté par la communauté). C’est beau! A quand, la même chose pour Eclipse?
  • Open Web Tools Directory
    Voila ce qu’on peut faire avec canvas et du javascript. Le flash n’a qu’a bien se tenir.
  • Hébergement de projets open source (via spawnrider)
    Ca y est, le géant du développement en France, se lance dans un projet à la sourceforge pour les projets open sources et francophones. Belle initiative!
  • Slickmap CSS
    Voilà, une petite feuille de style qui permet de donner un style très classe à une liste (<ul>) représentant un sitemap. A voir la démo sur le site.
  • Mieux rentabiliser adsence
    Bon tout le monde est censé connaitre SmashingMagazine maintenant. Mais cet article étant si bien écrit et si instructif que je ne pouvais pas l’éviter.
  • Kit de démarrage de plugin jquery
    Une idée tout bête mais qu’elle est bonne. Vous pouvez depuis cette interface créer le squelette de votre plugin, en 2/3 mouvements.
  • Zoom d’image en JS
    Et oui certains code encore à l’ancienne, en tout cas voici un zoom d’image qui peut trouver plusieurs applications.
  • Parcourir un menu avec son clavier
    Un petit code jquery qui permet de naviguer dans un menu avec les touches haut/bas de votre clavier. Un peu plus intuitif que Tab pour le coup.
  • L’avenir du développement HTML/CSS
    Et oui, bientôt voilà ce qu’il faudra savoir manier pour pondre des sites dernières générations à base de HTML5/CSS3.
  • Le site de la semaine
    Maintenant chaque semaine, je vais essayer de trouver un site entier qui peut s’avérer utile, et le premier gagnant c’est un site qui recense les bonnes et les mauvaise pratiques dans le web développement. Avec un design sympathique, il mérite le détour, tant vous allez y apprendre quelque chose ;)

Les Geeks: Une BD qu’elle est bien

internet-group-chat Et oui, on peut aussi parler culture sur amicalement-web! Bon ok, ça reste assez geek et assez limité vu qu’on parle de BD. Mais c’est un peu mon coup de coeur de la semaine (vu que j’ai eu la chance d’avoir les 3 tomes à mon anniversaire): Les Geeks.
Une série de BD dans le style, une page, une histoire qui a signé en mai dernier son 3e tome et qu’on doit au collectif GANG (scénario) et Thomas Labourot et Christian Lerolle pour la réalisation (dessein/couleur).

Lire la suite

Twitter: Premiers bilans

tweeter L’été est maintenant lancé, ca va modifier un peu mon rythme de bloging, en particulier autour de Symfony, donc le mardi ca sera un peu plus freestyle maintenant. Et aujourd’hui on va reparler twitter.

Il y a un peu plus d’un mois de ça, je me lançais dans l’aventure Twitter histoire d’approfondir mon opinion sur ce sujet qui retient l’attention de toute la blogosphère. Mes premières impressions de simple utilisateur n’ont pas été très positives et je comptais faire un billet dessus.

Lire la suite

Développement web: Les bons plans de la semaine #5

edit-cut Nous voilà au terme d’une nouvelle semaine bien riche. Et comme j’ai pas pu poster un vrai billet technique cette semaine, je vais essayer de me rattraper avec une grosse liste de liens en ce Vendredi, jour des clics. A votre souris.

  • Interview Fabien Potencier (vidéo)
    Et oui on commence avec une interview qui reprend le parcours de Mr Symfony avant qu’il le devienne. Document très intéressant.
  • IE6 se fait doublé par IE8 (via @Tristan Nitot)
    Et voilà, ce fut long, mais IE6 est devenu la version de IE la moins utilisé derrière IE7 et IE8. Même si IE8 finalement n’a pas pris énormément de part à IE6, c’est toujours intéressant à noter
  • jQuery plugin pour permettre d’afficher son password
    Une petite feature qui m’a toujours plu dans ubuntu, c’est de pouvoir afficher en clair un password, histoire de vérifier qu’on l’a bien tapé. Et bien voilà un équivalent jQuery.

  • jQuery password iphone style
    Un autre plugin jQuery sur les mots de passe qui permet de simuler la saisie d’un mot de passe avec la petite feature iphone qui montre en clair le caractère en cours de saisie, un autre moyen de s’assurer qu’on tape pas n’importe quoi.
  • jTransfer, une double list new generation
    Amateur de Symfony, vous connaissez bien l’admin double list, ce widget qui sait se rendre indispensable. Voilà un équivalent jquery, un peu plus poussé. Il mériterait une adaptation en widget Symfony, des amateurs?
  • Améliorer votre expérience utilisateur
    Une liste de 10 outils qui permettent de tracker les clics en détails de ses internautes et ainsi de voir ce qu’il peut être améliorer dans l’expérience utilisateur de son site.
  • Twitter en France
    Quelques chiffres sur l’utilisation de Twitter en France. On voit que la mayonnaise n’a pas encore pris totalement par chez nous, excepté dans la capitale
  • Alerte sur des modifications de pagerank
    Les mises à jour de pagerank devenant de plus en plus fréquentes, il peut être intéressant d’être averti des modifications pour son site quand google se décide à lui modifier sa note
  • 10 possibilités sympa offertes par cURL (php)
    Avec la propagation des API pour tous les services web, cURL montre tout son potentiel quand il s’agit de piloter ces services depuis PHP

SourceForge Community Choice Awards: Symfony et le reste

applications-internet Aujourd’hui retour d’un petit break de 5j, donc pas grand chose de très technique à dire. Du coup, je vais rebondir sur la grosse actu de la semaine dernière concernant Symfony: Après les nominations lors du SourceForge Community Choice Awards, Symfony a été nommé dans 3 catégories:

  • Meilleur projet
  • Meilleur outil pour développeur
  • Meilleur projet dans le monde de l’entreprise

Il faut donc votez dès maintenant si ce n’est pas déjà fait! Personnellement, comme à mon habitude, j’en ai profité pour faire un petit tour de la « concurrence » et j’ai même trouvé des projets que je connaissais pas, mais qui me semble très intéressant. Petit tour d’horizon.

Lire la suite

PHVsPjxsaT48c3Ryb25nPndvb19hZHNfcm90YXRlPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzE8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTEuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfaW1hZ2VfMjwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9hZHMvd29vdGhlbWVzLTEyNXgxMjUtMi5naWY8L2xpPjxsaT48c3Ryb25nPndvb19hZF9pbWFnZV8zPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy93b290aGVtZXMtMTI1eDEyNS0zLmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzQ8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vYWRzL3dvb3RoZW1lcy0xMjV4MTI1LTQuZ2lmPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzE8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hZF91cmxfMjwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8zPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfdXJsXzQ8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19hbHRfc3R5bGVzaGVldDwvc3Ryb25nPiAtIGN1c3RvbS5jc3M8L2xpPjxsaT48c3Ryb25nPndvb19hdXRvX2ltZzwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY29udGVudF9hcmNoaXZlczwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY29udGVudF9ob21lPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fZmF2aWNvbjwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlZWRidXJuZXJfdXJsPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZ29vZ2xlX2FuYWx5dGljczwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2xvZ288L3N0cm9uZz4gLSBodHRwOi8vd3d3LmFtaWNhbGVtZW50LXdlYi5uZXQvd3AtY29udGVudC93b29fdXBsb2Fkcy8zLWxvZ28ucG5nPC9saT48bGk+PHN0cm9uZz53b29fbWFudWFsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tLzwvbGk+PGxpPjxzdHJvbmc+d29vX25hdl9leGNsdWRlPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fcmVzaXplPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3J0bmFtZTwvc3Ryb25nPiAtIHdvbzwvbGk+PGxpPjxzdHJvbmc+d29vX3RoZW1lbmFtZTwvc3Ryb25nPiAtIFR5cGViYXNlZDwvbGk+PGxpPjxzdHJvbmc+d29vX3RodW1iX2hlaWdodDwvc3Ryb25nPiAtIDEwMDwvbGk+PGxpPjxzdHJvbmc+d29vX3RodW1iX3dpZHRoPC9zdHJvbmc+IC0gMTAwPC9saT48bGk+PHN0cm9uZz53b29fdXBsb2Fkczwvc3Ryb25nPiAtIGh0dHA6Ly93d3cuYW1pY2FsZW1lbnQtd2ViLm5ldC93cC1jb250ZW50L3dvb191cGxvYWRzLzMtbG9nby5wbmc8L2xpPjwvdWw+