gotoAndPlay();: Flash MX et autres bidulles de geek...

Éditeur de commentaire pour MT - Premier test!

Bon voilà, comme vous pouvez le voir au bas, mon petit formulaire Flash de commentaires est installé!

Je commence par recueillir les commentaires avant de le distribuer, je dois aussi faire un peu de ménage dans le code et tenter de le commenter.

Quelques points et choix que j'ai faits pour le développement:
- En premier lieu, je voulais que le truc soit léger, ce n'est qu'un petit module dans le site. J'ai donc mit la pédale douce sur les effets et j'ai travaillé beaucoup avec des composants réutilisables simplifiés. Le poids actuel du swf est 13.5 Kb, ce qui est très léger à mon avis pour tout ce qu'il y a là.
- J'ai opté pour le player 6 (tous les players 6 sans discrimination) plutôt que le 7. Avec le 7 j'aurais pu y aller avec des CSS et des images (et faire une fonction d'émoticons par exemple). Mais j'ai préféré faire un truc qui fonctionnera sur le plus de plateformes possible et rester dans le plus simple.
- Tout est fait avec un peu de transparence, ainsi la coloration est définie par le fond défini dans le html, donc le swf peut-être porté sur n’importe quel site avec n’importe quel look et sortira bien sans devoir toucher la source .fla.
- Un seul composant Macromedia: le scrollBar. De la paresse, il fonctionne bien ce scrollBar. Le reste, j'ai préféré des composants maison très simples, donc légers.
- Je ne suis pas designer (mais vraiment pas du tout!), donc j'ai gardé le visuel simple et standard. Les gens pourront le personnaliser s'ils le veulent.
- Pour le code, je décrirai en détail en donnant les sources, mais en gros j'ai opté pour une approche que je n'avais plus touchée depuis longtemps. Je voulais pouvoir distribuer facilement et à la place de fonctionner avec des classes dans des .as externes, j'ai monté le tout en composants. Ce sera, je le crois, plus facile à comprendre pour tout le monde qui voudrait apporter des modifications sans trop devoir fouiller dans une montagne de code...
- Un truc qui me reste à faire c'est isoler le texte, il y en a d'éparpillé un peu et il faudrait qu'il soit tout au même endroit pour faciliter la personnalisation. Je vais probablement le mettre externe dans un txt et fournir une version française et une anglaise...

Faites-moi vos commentaires! Ensuite je vais adapter selon les commentaires et distribuer un kit avec le swf et les instructions pour l'installer dans MovableType. Ça prend 2 minutes à installer, très simple! Vous pouvez déjà regarder la source du html. Et je vais aussi fournir les sources complètes (que je tente de commenter un peu) pour ceux qui auraient envie de modifier le look et ajouter des fonctions.

Ça reste un truc assez simple, avec un objectif simple. Rien de révolutionnaire, mais selon ce que je vois, ça fonctionne bien. Critiquez à volonté, je suis ouvert à toutes bonnes idées!

Posté par stef |janvier 25, 2004 11:37 PM | TrackBack
Commentaires

C'est impeccable ! Sobre et propre comme j'aime. Super le discret effet d'illumination du champ lorsqu'il a le focus

Bravo !

Posté par: | janvier 25, 2004 11:57 PM

Caramba ! Les accents ne passent pas !

Posté par: | janvier 26, 2004 12:13 AM

ha ben maudit! hahaha! Merci, je vais corriger ca tout de suite, merci!

test: éé

Posté par: | janvier 26, 2004 12:44 AM

Right on !! Stef.... Je vais faire un petit check des accents et apos. : éèêâçÈÉ' '" >"

Posté par: | janvier 26, 2004 12:48 AM

Petit hint.... Quand j'ai fait mon éditeur avec le text flair bidule de Sam Wan, j'ai dû me résoudre à faire un

dictionnary Object avec des arrays associatifs, et ce pour tous les petits charactères latins chiants.

On a ensuite insèrer les mêmes fonctions côté serveur avec les mêmes arrays.... J'espère que tu vas trouver

mieux que ce "workaround" plutôt contraignant. J'ai hâte de voir....

Posté par: | janvier 26, 2004 12:52 AM

Ok voilà, problème réglé je crois...

Mais je ne crois pas la solution soit idéale, j'ai simplement ajouté:

system.usecodepage = true;

J'ai moi-même déjà déconseillé l'utilisation ce ceci (voir ici).

Mais là le problème c'est MovableType. Je ne veux pas devoir modifier l'engin Perl.

Le but est d'avoir un module facile à implanter. Et comme MT est souvent mit à jour, surtout qu'une version 3.0 s'en vient, je ne veux pas toucher les cgi pour utiliser l'encoding unicode...

Je pourrais toujours faire une table de conversion comme Éric propose oui... Mais dans le cas d'un formulaire, comme l'affichage public se fait en html, je crois que usecodepage peut fonctionner... non ?

Posté par: | janvier 26, 2004 01:13 AM

oups... bon, les appostrophes ne passent pas... hehehe! grrr!

Posté par: | janvier 26, 2004 01:20 AM

Ok bien, le problème d'appostrophe devrait être réglé (chiant, je dois poster pour savoir).

Sur Mac dans Safari ils passaient, mais IE 6 sur PC est trop con pour comprendre le code html pour l'appostrophe...

Test de d'autres caractères: |!"/$%?&*()_+=#>¸^:;

Posté par: | janvier 26, 2004 01:43 AM

perso je met

System.useCodePage=true;

et dans le xml faut mettre cdata .mais tutilise koa comme methode d'envoie de flash?

Posté par: | janvier 26, 2004 02:01 AM

J'utilise loadVars:
sendObj.send(this.formURL, "_self", "POST");
Je ne peux pas utiliser XML et je n'ai pas le choix d'envoyer en POST, ni d'envoyer avec "_self" comme target puisque ça doit fonctionner avec Movable Type.
Et je ne veux pas toucher à MT, il est important que la seule chose à modifier soit le template html pour rester compatible avec les futures mises à jours de MT... et pour que ça reste très simple à installer...
Cela limite pas mal, je n'ai pas l'habitude de travailler avec du code côté serveur que je ne contrôlle pas...

Posté par: | janvier 26, 2004 02:28 AM

Yepa !!!

Bien joué stef, et j'aime beaucoup la petite transition de couleur quand un champ prend le focus !!!

Bravo encore, ++ ^^

Posté par: | janvier 26, 2004 03:12 AM

Pour les accents, c'est trés certainement du au fait que tu utilises le .htmlText pour la saisie ... As-tu essayé de mettre un champ texte normal en alpha 0, et un champ html dont le contenu varie en fonction de ce qui est saisi dans le champ texte ? :o

C'est une solution totalement aléatoire, que je n'ai pas teste, mais ca me parait possible ... 8|

++ ^^

Posté par: | janvier 26, 2004 03:17 AM

Merci!

Hehe, l'effet sur les textField est bien simple...

Non en fait le problème des accents n'est pas du à htmlText mais à l'encoding Unicode du player 6 et +.
Le problème des appostrophes lui était du aux htmlText, je l'ai réglé facilement avec un petit replace....

Posté par: | janvier 26, 2004 03:27 AM

Ah oui ... moi j'ai eu un peu le meme probleme sur le mien avec l'UTF8, mais j'ai pu me permettre un petit utf8_decode() pour regler ca ... ;o)

Bien joué en tout cas ... ++ ^^

Posté par: | janvier 26, 2004 05:17 AM

Un p'tit détail auquel je viens de penser : les logiciels qui permettent de spammer doivent deja connaitre l'URL des scripts d'insertions de commentaires de MT, et donc ne pas se servir du formulaire pour envoyer un spam ... MT permet t'il de changer l'URL de ce script ? :o

++ ^^

Posté par: | janvier 26, 2004 05:37 AM

hehe, ouais chanceux! ;)

Mais j'ai bien l'impression que le useCodePage sera ok pour ce cas-ci. Pas encore certain, je dois tester avec plusieurs systèmes et configs... Sinon, une petite table de conversion règlera le problème.

a+

Posté par: | janvier 26, 2004 05:42 AM

Oups, tu as posté durant que je postais!
Prochaine étape: système de commentaires avec Unity 2! héhé! ;)

Oui, les robots utilisent peut-être directement mt-comments.cgi
Ce fichier peut-être renommé et il sera recommandé dans mon tutoriel de le faire. Seule inconnue c'est: est-ce que les robots en sont rendu au niveau d'utiliser directement les fichiers en 'include' de mt-comments.cgi ?
Il faut espérer que non... Ça me suprendrait beaucoup!

Posté par: | janvier 26, 2004 05:47 AM

Beau travail Stef, c'est vrai que useCodePage règle pas mal de trucs pour ce genre d'application et comme ce n'est pas pour un client et que tu sais quel genre de plateforme tu utilises pour faire tes 'post', ça ne devrait pas causer problème. Par contre, des fois ça ne fonctionne simplement pas pour certains charactères, par exemple le fameux '~'....

Posté par: | janvier 26, 2004 08:52 AM

Wow!!! Ben, tu as fait le tour de la question.... hehehe!! Fantastique.

Bravo Stef, bravo aussi LAlex.

Posté par: | janvier 26, 2004 08:54 AM

Bravo Stef! Well done!
test: Baudelaire Ingmar Bergman Ulysses JJ www.gotoandplay.ca

  • System.useCodePage=true; ouais... pas très joli, je ne l'aime pas du tout mais je l'utilise... cependant, il faut le dire, c'est pas vraiement une solution :(
  • mt-comments.cgi on peut changer le nom effectivement, et puis les include... c'est possible...
  • avoir un module facile à implanter - rester compatible avec les futures mises à jours de MT... et pour que ça reste très simple à installer... : tout à fait, c'est bien là le dèfi ;)

  • Qu'est-ce que t'en penses sur ton 'MT-gotoAndComment' ;) et
  • mt-blacklist
  • throtling - IP banning dans MT 2.66.1.


  • Posté par: | janvier 26, 2004 09:44 AM

    Héhé, MT-gotoAndComment !
    Oui! :)

    Posté par: | janvier 26, 2004 02:08 PM

    chapô bas Stef....,
    bravo encore et bô travail ^_^

    Posté par: | janvier 26, 2004 03:08 PM

    beau travail stef !
    ton blog est maintenant a l'abris des spammer compulsif. Par contre,si le 'posteur' n'a pas de site web(comme le post de Yaya plus haut) , le lien sur son nom sera http:// . je crois que ce ne sera pas un gros probleme a regler ;)
    l'idée de unity2 est exellente aussi.

    Posté par: | janvier 26, 2004 07:10 PM

    ha! Bien noté liguorien, merci!
    J'y ai pensé au début et oublié par après, je dois faire une validation et vider la string si elle contient seulement 'http://' !

    Merci!

    Posté par: | janvier 26, 2004 07:56 PM

    Bien joué Stef....surout que c'est limité comme contrôle sur cette plateforme.

    Posté par: | janvier 26, 2004 11:34 PM

    Ca à l'air de plutôt bien marcher, merci!

    Posté par: | janvier 27, 2004 07:22 AM

    Un bien bel outil dis donc ... j'arrive apres tout le monde donc tout a l'air de tres bien fonctionner ! C'est niquel.

    Posté par: | janvier 27, 2004 08:24 AM

    Ok liguorien, je n'ai même pas eu rien à coder, j'avais déjà un paramètre que j'ai juste eu à activer! Hehe, j'en oublie moi-même mes propres features!
    Donc voilà, ça n'envoie plus le 'http://' quand la personne ne rentre rien d'autre.

    J'ai encore quelques trucs à corriger, dont un bug avec Safari utilisé avec SuitCase. grrr!

    Posté par: | janvier 27, 2004 04:29 PM

    Pas mal cool, et si maintenant on testait le tout dans le formulaire d'édition de MT, sur la page d'édtion de posts? On pourrait même rajouter quelques boutons, qui pourraient même êtres configurés par un fichier de config en xml... en tout cas, expérience très intéressante!

    Posté par: | janvier 27, 2004 09:53 PM

    Merci Sylvain.
    À ce que je crois, il n'y a presque rien à changer pour le formulaire d'édition de MT. Ça fonctionnera #1 très facilement. Je me demande si ça vaut la peine... Sur PC on a déjà quelques bouttons pour formatter le texte, c'est pas wysiwyg, mais ça marche quand même bien. Moi je me suis même ajouté un bouton pour insérer des images. Ces boutons ne sont pas visibles sur mac, mais anyway personellement je préfère éditer mes billets avec NetNewsWire sur Mac.

    L'avantage principal de ce module c'est d'éviter le spam...

    Mais si ça intéresse des gens, ça ne serait vraiment pas long à adapter pour ça. Je verrai après! J'essaie de terminer celui-ci ce soir.

    a+

    Posté par: | janvier 27, 2004 11:06 PM

    hello :)
    j'ai un problème avec le focus ... et toi tu n'en as pas sur ton éditeur :)
    A chaque fois que je fais une sélection et que je change le format comme par exemple avec le bouton bold au dessus sur ton blog je ne perd pas l'affichage du focus... alors que pour ma part à chaque fois je le perds malgré l'utilisation de :

  • Selection.setFocus(field);
  • Selection.setSelection (begin, end) ;
  • Là c'est étrange ?? :)

    Posté par: | janvier 28, 2004 03:51 AM

    Comme je disais, j'ai utilisé la classe de Flair de Samuel Wan (chapitre 13 de OOP with ActionScript).
    Je viens de terminer de packager la source complète et je vais la poster dans quelques minutes, tu pourras voir et comparer! :)

    Posté par: | janvier 28, 2004 04:19 AM
    Poster un commentaire

    Vous souhaitez suivre les commentaires sur ce site ? Un fil RSS est disponible ici.
    bottom