Tag: Javascript

Notes (75)

Tern Eclipse IDE

La dernière version d'Eclipse, Néon, souffre de nombreux bugs dans sa gestion du javascript à tel point qu'il était devenu plus facile d'éditer mes fichiers dans un simple éditeur de texte comme Gedit. Je me suis donc mis en quête d'un remplaçant. Rapide revue d'effectif et solution envisagée.

Filtrer une liste

Un petit bout de code html/css/javascript tout simple pour filtrer l'affichage des items d'une liste à partir d'une valeur tapée dans un champ. A étendre pour appliquer à des besoins plus sépcifiques.

Benchmarks javacript

En programmation, on doit toujours garder en tête les moyens d'améliorer les preformances de son code : chercher l'algorithme le plus efficace, éviter d'accéder trop souvent au DOM (en javascript), utiliser les méthodes natives des objets quand elles sont disponibles, garder des données en « cache » quand elles doivent être réutilisées, etc. Mais la quête de performance peut parfois se heurter à d'autres principes de programmation, comme la factorisation du code. Petit exemple pratique...

Détection de fonctionnalités

Durant les premières années de développement, la librairie javascript rnb-js se basait essentiellement sur la détection des navigateurs pour implémenter une action ou un comportement. Depuis plusieurs mois, j'applique plutôt une technique fortement recommandée : la détection de fonctionnalités.

Opera ne cesse de m'étonner

Opera me surprendra toujours : souvent à la pointe de la technologie, il a plutôt bonne presse dans la communauté des développeurs web mais je l'utilise rarement ; trop rarement. Et c'est un tort, car en corrigeant un bug qui empêchait l'exécution du javascript, j'ai découvert qu'il était toujours plus en pointe que les autres, notamment dans la gestion des événements personnalisés.

Nettoyage de printemps

A force de développer le site en continu, le code a fini par s'accumuler, parfois de manière un peu chaotique, sans que j'ai vraiment le temps de penser sa pertinence ou sa structure. Il est donc temps de faire un peu le ménage.

Les CSS d'abord, le javascript ensuite

Quand on construit des applications ou des sites web, on associe toujours très étroitement CSS et javascript, a tel point qu'on oublie parfois que la présentation graphique peut être utile en dehors même de son utilisation dans un objet javascript...

Console for everybody

L'extension Firebug pour Firefox a révolutionné le développement en javascript, à tel point qu'on se demande aujourd'hui comment nos prédécesseurs ont pu faire sans lui. Le revers de la médaille, c'est qu'on peut oublier qu'il n'est pas toujours présent, y compris sous Firefox ; l'utilisation de la console pour débuguer peut donc parfois entrainer des… bugs. Karl Dubost signale une solution pour éviter pareille erreur. Voilà pour ma part la méthode que j'utilise depuis plusieurs années dans ma librairie javascript rnb :

Le javascript m'emmerde !

Curieux cri du coeur pour quelqu'un dont le boulot, c'est d'écrire du javascript. En fait, ce n'est pas le langage en lui-même qui insupporte (quoique certaines « subtilités » donnent envie de se taper la tête contre les murs), plutôt son utilisation de plus en plus outrancière...

Traversée aléatoire des éléments

Les nouvelle spécifications web (HTML 5 , DOM 3, CSS 3) sont de plus en plus implémentées dans les navigateurs web, à des degrés divers certes mais de manière suffisante pour pouvoir déjà être utilisées dans nos documents. Sauf qu'il faut encore et toujours faire attention : Le « browser implementation sniffing » n'est pas mort.

Sélecteurs, identifiants et classes

Il existe plusieurs manières d'appliquer des styles aux éléments d'un document web à travers la notion de « sélecteurs ». On use (et abuse) souvent de deux d'entre eux, les sélecteurs de classes et les sélecteurs d'ID, mais pourrions-nous nous en passer ?

HTML5 pour les développeurs

A quoi voit-on que le HTML 5, malgré tous ces défauts, est tout de même un language qui facilite la vie des développeurs ? Quand on s'apperçoit que des techniques que l'on utilise depuis des années sont dorénavant intégrées aux spécifications. Petit exemple avec la manipulation de l'attribut class.

Outliner javascript pour Gedit

Quand on atteint une certain degré de complexité dans son code, l'assistance d'un outliner ou de l'autocomplétion devient presque indispensable. Des outils qui font encore cruellement défaut dans Gedit, notamment pour le développement web (javascript).

ParentNode : IE et les autres

Internet Explorer ne cessera jamais de m'étonner. Alors qu'on croit avoir fait plus ou moins le tour de toutes les tracasseries les plus évidentes et les plus courantes, que ce soit en css, en javascript ou en html, v'la ti pas qu'on peut encore tomber de sa chaise en déboguant du javascript au boulot. Ou pourquoi un élément fraîchement créé possède un noeud parent alors qu'il n'a encore été inséré nulle part.

Projets en cours

Un point sur les projets en cours. Outre le nettoyage de la liste des tags qui poursuit son chemin afin de disposer d'un vocabulaire un peu mieux contrôlé, deux développement accaparent la majeure partie de mon temps libre : un outil de gestion de collections et un convertisseur d'outliners.

Insérer une balise style en javascript

Imaginons : vous devez insérer un élément ou fragment de document lambda dans un document web via le DOM. Cet élément doit obéir à certaines règles CSS et, comme il n'a aucune raison d'être dans le dit document si la gestion du javascript est désactivée, vous insérez ces règles elles-aussi en manipulant le DOM. L'opération serait finalement triviale s'il n'y avait Internet Explorer.

Formulaire des index, second round

J'avais installé depuis quelque temps sur les pages index des fonctions javascript qui permettaient de modifier la liste des brèves ou des articles en fonction de la date ou de la catégorie de publication. Or, sans javascript, impossible d'accéder à ses fonctionnalités. J'ai donc traduit les fonctions en PHP.

Include en javascript

Du nouveau dans la gestion du javascript, avec la découverte d'une astuce qui répond parfaitement aux besoins de ce site : appeler un fichier javascript à la manière des « include » PHP.

Articles (22)

Omacronides 8

Après une mise à jour avortée (la 7, prévue l'été 2011), voici enfin que j'arrive à peu près au bout des modifications et évolutions que je souhaitais apporté au site cette année (2011).

Select : gérer la sélection multiple

L'élément HTML select manque cruellement de fonctionnalités à partir du moment où l'on active la sélection multiple et que l'on souhaite par exemple limiter le nombre de sélection ou connaître l'ordre des sélections… Voilà donc quelques pistes de réflexions / expérimentations.

Objet javascript vs DOM

Pour créer un comportement graphique qui n'existe pas nativement dans un document web, on peut soit écrire un objet javascript dédié, soit se reposer sur les objets DOM disponibles. Comparaison des 2 techniques.

GSettings

Depuis Gnome 3, le stockage de la configuration d'une application se fait par l'intermédiaire de GSettings, une API « agnostique » dont l'utilisation dans un plugin Gedit ou une extension Gnome-shell pose de petits problèmes car elle nécessite les droits administrateurs. Voici quelques pistes pour l'utiliser « en local ».

Evénément change des éléments select

Analyse et tentative de d'harmonisation du comportement d'un élément select et de l'émission de l'événement change lors de la navigation au clavier sous différents navigateurs web. Où l'on voit que l'action la plus généralement adoptée n'est pas forcément la plus pertinente, surtout quand elle ne suis pas les recommendations W3C...

Click sur des labels

La délégation d'écoute d'événements est très préciseuse en javascript mais, dans certains cas, elle peut engendrer des comportements particuliers. C'est le cas si l'élément sur lequel on écoute les événements « click » possède un label.

Omacronides 6

Après plusieurs semaines passées dans un état lamentable, ou toute requête se terminait par une réponse 404 (même si la page était correctement affichée), voici la nouvelle version du site. Comme toujours, plus de chambardements dans l'arrière-cours qu'en vitrine...

Récupérer les enfants d'un noeud DOM

Récupérer les enfants d'un noeud DOM est moins simple qu'il n'y paraît. Des solutions existent, et les récentes évolutions des spécifications W3C offrent de nouvelles perspectives mais un développeur web a encore besoin de créer ses propres outils. Petit tour de la question.

Des styles en fonction du navigateur

L'utilisation des feuilles de styles en cascade pour mettre en page son site web n'est pas toujours évident, non que cette technique soit compliquée mais parce que, malgré l'existence de normes communes, chaque navigateur n'en fait un peu qu'à sa tête. Heureusement, des solutions existent. Cependant, leur utilisation ne risque-t-elle pas d'entretenir le statu quo ?!

Projets (5)

Simple Slides

SimpleSlides est un projet tout simple, un POC pour illuster la manière dont on peut réaliser rapidement une visionneuses d'images avec du HTML, un peu de CSS et de javascript. Sa seule ambition est d'éventuellement servir de base à des projets plus aboutits et complets.