Premier défi JavaScript

| Equipe Web | Editions ENI |

Cette page recense toutes les propositions reçues pour le premier défi JavaScript.
Commentez

- Titre : Premier défi JavaScript

- Auteurs : Equipe Web, Editions ENI

- Parution : 7 juin 2009

- Mise à jour : 26 octobre 2009

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2009 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Projets reçus

- II. Projets de la rédaction

- III. Avis du jury

- Grunk (64/100)

- Raphpell (77/100)

- Montor (55/100)

- III-D. Z3vil (60/80)

I - Projets reçus

Vous trouverez ici une liste des projets reçus.

Nom

Page de test

Archive

Grunk

rssJS-Grunk

rssJS-Grunk

raphpell

raphpell_RSS

raphpell_RSS

Z3vil

Lien en attente d'une solution d'hébergement

Z3vil

montor

montor

montor

II - Projets de la rédaction

Vous trouverez ici une liste des projets venant de l'équipe.

Nom

Page de test

Archive

DoubleU

DoubleU

DoubleU

III - Avis du jury

Grunk (64/100)

- Code

Structure
Le code compacté avec Aptana ne présente aucune erreur.
Il présente certaines surcharges (définition du tableau _date, fonction _mergeObjects inutile et d'autres.
En revanche, le code est facile à suivre.
Utilisation appropriée des parseurs XML JavaScript !
Gestion des erreurs
Message "chargement en cours" mal géré
Minimaliste. Gère une erreur de réception du flux.
Lisibilité, commentaire
Le fichier texte est bien rédigé, à la lecture, on sais à quoi s'attendre de la classe et comment l'intégrer.
Clair, bien commenté.
Compatibilité
Les accents sont perdus sous Opera pour le rss du Figaro.
Dommage, n'a pas su gérer complètement les encodages...
Originalité
La page d'exemple est un peu pauvre en fonctionnalités, mais l'utilisation d'options est un plus agréable.

- Ergonomie / intégration

Un peu pauvre.
Le strict minimum... La page d'exemple n'est pas vraiment "sexy".

- Respect des standards

Le code est valide XHTML / CSS, mais avec si peu, le contraire aurait été décevant...
Pas spécialement d'effort porté sur l'accessibilité.

- Divers

Répond aux règles du défi, mais sans plus.
Le code est prometteur, mais on reste strictement dans le cadre énoncé, donc pas de surprise !

Raphpell (77/100)

- Code

Structure
Compacter le code avec Aptana provoque 49 erreurs de syntaxe. Ce n'est pas forcément grave, mais c'est dommage.
Entre autre, il manque beaucoup de ';' et d'accolades.
Il est dommage de ne pas avoir regroupé les fonctions utilitaires dans un espace de noms unique.
En revanche, ces fonctions sont bien pensées et bien structurées.
Le code est assez imbriqué donc pas toujours facile d'en suivre le cheminement, ceci dit, la gestion des objets est efficace.
Dommage de passer par des événements on plutôt que d'implémenter une gestion addEvent.
target.innerHTML plutôt que le DOM, c'est dommage.
Fonction "_" très étrange dans le nom et la déclaration, pourquoi pas déclarer la fonction sans argument et utiliser directement le tableau arguments plutôt que de mixer les 2 ?
Gestion des erreurs
Quand la réponse est vide, le message aurait pu être plus explicite et indiquer une erreur de communication par exemple.
Il a été bien apprécié qu'il fournisse dans sa liste un flux provoquant une erreur.
Lisibilité, commentaires
Le code est bien commenté mais le fichier texte joint récapitule l'arborescence sans indiquer comment l'utiliser.
Dommage que les contraintes d'intégration ne soient pas présentes (nommage des champs).
Code complexe, difficile à reprendre.
Originalité
La présentation différenciée des flux en fonction de l'emplacement est une bonne idée bien réalisée.

- Ergonomie / intégration

C'est de loin celui qui a fait le plus d'efforts au niveau de la présentation (avec en particulier un favicon) !
La compréhension du comportement de la page n'est pas particulièrement intuitif.
Les contraintes d'intégration ne sont pas précisées.

- Respect des standards

Des erreurs peu graves invalident le HTML et le CSS, mais évite l'utilisation de code propriétaire et bonne utilisation des commentaires conditionnels pour la gestion (la non-gestion en fait !) des PNG avec IE6.
Non valide CSS, XHTML, pas d'effort sur l'accessibilité (taille des dates minuscules).

- Divers

Le design, le choix de l'emplacement des blocs dans lesquels afficher les flux, des flux supplémentaires et la gestion des tags HTML dans ces flux ont été appréciés.
Le sujet préçisait qu'il fallait tenter de nous surprendre sur les fonctionnalités et la gestion du placement des flux dans la page rempli bien ce rôle.
Des efforts manifestes pour obtenir un résultat satisfaisant.
Seul bémol, le comportement des selects n'est pas vraiment intuitif.

Montor (55/100)

- Code

Structure
25 erreurs pour le code compacté avec Aptana.
Le script n'est pas facile à lire, les variables ne sont pas nommées de façon explicite.
De la POO ecrite clairement, mais sorti de là, impossible de comprendre le fonctionnement.
Pourquoi parser à la main le résultat de la requête plutôt que d'utiliser les méthodes du DOM ?
En revanche, sa façon de parser le flux, "bien que exotique" est assez bien réalisée.
La gestion du template est bien réalisée aussi.
Le proxy "triche" un peu, en faisant plus que simplement retourner le flux RSS.
Gestion des erreurs
Le minimum syndical, un alert.
Malheureusement, il existe des erreurs de chargement des flux non gérées (seul Firefox renvoie une erreur).
Lisibilité, commentaires
Le fichier texte ne renseigne pas beaucoup sur le fonctionnement et l'intégration.
Le code est commenté, mais cela reste difficile de s'y retrouver.
Originalité
Utiliser un parser de string plutôt que le DOM, c'est original, bien que pas très productif.
Même s'il faut réussir à comprendre que le générateur de template est fonctionnel, c'est une idée assez intéressante !
Dommage qu'il n'ai pas pensé (ou pas eu le temps / courage ou autre) de créer une interface admin et une utilisateur.

- Ergonomie / intégration

Pas beaucoup d'effort de fait sur le design...
La classe rssParser rend l'intégration facile théoriquement, mais elle ne gère pas les événements qui sont déclaré inline.
Les explications concernant les contraintes sont absentes.
Le code JavaScript est très dépendant du code HTML, c'est vraiment dommage.

- Respect des standards

DTD transitional, mais code HTML non valide et souvent par manque de rigueur minimum.
Non valide XHTML, pas d'effort sur l'accessibilité.

- Divers

C'est vraiment dommage d'avoir mis la finition de coté.
L'idée de base est relativement originale et bien réalisée.
L'idée du système de template est vraiment excellente, pour intégration dans un CMS ou un site de type réseau social par exemple.

III-D - Z3vil (60/80)

- Code

Structure du code
Même si le code ne semble pas finalisé ni épuré (présence de fonctions dans les classes non utilisées), le code est propre, bien structuré et facile à lire.
Gestion des erreurs
A chaque étape, les possibilités d'erreur sont prises en compte.
Lisibilité, commentaires
L'auteur n'est pas francophone et avait prévenu de cette lacune, en dehors de cela, la volonté de commenter et d'expliquer est manifeste.
Originalité
On s'en tient au minimum, sélection ou ajout puis affichage de flux.

- Ergonomie / intégration

Un effort évident d'obtenir un visuel attrayant.
Le script est facile à intégrer mais repose sur le code HTML en ce qui concerne les éléments impactés.

- Respect des standards

CSS valide, mais quelques erreurs HTML.

- Divers

C'est probablement lui qui a fait le plus d'efforts sur la qualité de son projet.
Non fini de noter pour le moment car certains critères ne sont pas évalués.