Lorsque l'on gère une application à part entière assez conséquente, on peut passer à côté de certaines erreurs qui peuvent empêcher certaines interactions pour l'utilisateur et donc risquer ne plus le voir revenir sur votre site si ces erreurs sont récurrentes.
Heureusement il existe des méthodes permettant de monitorer les erreurs survenant sur son site. Ici je vais vous parler exclusivement des erreurs Javascript car c'est le genre d'erreur qui est difficile à détecter lorsque l'on est sur un environnement de développement/production. En ce qui concerne les erreurs applicatives (côté serveur) vous avez en général des logs d'erreurs, ce qui n'est pas le cas pour le Javascript qui est exécuté côté client.
Dans cet article je vais vous exposer deux méthodes permettant de catcher ces erreurs :
Java Query Written Mobi (jQ.Mobi) est un autre framework javascript pour le développement d'applications sur smartphone. D'après les développeurs, ce framework serait jusqu'à 2.5 fois plus rapide que la version de jQuery bien que certaines fonctions/APIs sont utilisées par jQ.Mobi et il utilise seulement 3KB de mémoire.
Pour l'instant le framework est en phase de bêta et est destiné à être utilisé dans les applications de développement pour les systèmes disposant d'un navigateur WebKit comme Android, iOS et les versions plus récentes de l'OS de Blackberry.
Vous pouvez le voir en action depuis votre téléphone et pour plus d'informations je vous invite à aller jeter un oeil sur leur blog.
Utile lorsque l'on souhaite débugger son code Javascript, cette petite fonction vous sera utile pour inspecter le contenu d'un objet. 3 paramètres sont à passer: - L'objet - Le nombre maximum de niveaux à inspecter (par défaut 1) - Le niveau à partir duquel on commence à inspecter (par défaut 0)
Je reçois beaucoup de mails concernant mon nouveau site et certains sont intrigués par mon système de minifying du Javascript et du CSS. Je vais faire un bref point descriptif sur son fonctionnement même si je vous fournirai les sources bientôt c'est promis
Alors tout d'abord j'ai une classe qui liste les différents scripts que j'utilise. Rien n'est directement mis dans l'entête du layout (corps de la page). Cette classe sera appelée afin de générer le header avec la balise script pour le Javacript et link pour le CSS.
Par exemple sur mon site cela donne :
%MINIFYHTML73f16909563bb18cd4d907efc076cb938%
Comme vous pouvez le voir l'attribut src est assez spécial ainsi que son contenu.
Le paramètre g concerne le type (pour cet exemple js comme javascript) et h concerne l'host pour la sélection des scripts (tous ne sont pas chargés suivant la page et le domaine).
Le script appelé est une classe PHP qui va générer l'entête d'un fichier javascript ou css qui peut être encodé en Gzip suivant si on choisit ou non de compresser les scripts. Voici l'entête HTTP du script en exemple :
Le Content-Length ne pèse que 200Ko car celui-ci est compressé. Normalement il pèserait plus de 2Mo! Le système de compression est donc relativement intéressant pour réduire les temps de chargement du site.
Un autre point intéressant dans ma classe concerne l'obfuscation du code javascript. Je ne ais pas m'étaler sur ce point, vous aurez juste à jeter un œil au code source si vous êtes curieux pour tout comprendre
Autre point essentiel concerne la gestion du cache du côté du serveur Apache. Voici ma configuration de gestion du cache :
Le Javascript est un langage de script incorporé dans un document HTML. Historiquement il s'agit même du premier langage de script pour le Web. Ce langage est un langage de programmation qui permet d'apporter des améliorations au langage HTML en permettant d'exécuter des commandes du côté client, c'est-à-dire au niveau du navigateur et non du serveur web.
Ainsi le langage Javascript est fortement dépendant du navigateur appelant la page web dans laquelle le script est incorporé, mais en contrepartie il ne nécessite pas de compilateur, contrairement au langage Java, avec lequel il a longtemps été confondu.
Javascript a été mis au point par Netscape en 1995. A l'origine, il se nommait LiveScript et était destiné à fournir un langage de script simple au navigateur Netscape Navigator 2. Il a à l'époque longtemps été critiqué pour son manque de sécurité, son développement peu poussé et l'absence de messages d'erreur explicites rendant dure son utilisation. Le 4 décembre 1995, suite à une association avec le constructeur Sun, Netscape rebaptise son langage Javascript (un clin d'oeil au langage Java développé par Sun). A la même époque, Microsoft mit au point le langage Jscript, un langage de script très similaire. Ainsi, pour éviter des dérives de part et d'autre, un standard a été défini pour normaliser les langages de script, il s'agit de l'ECMA 262, créé par l'organisation du même nom (ECMA, European Computer Manufactures Association).
Source : [CCM]
Comment l'activer ou le désactiver?
L'activation de Javascript nécessaire dans la mesure où l'on souhaite accéder à toutes les fonctionnalités des pages web qui l'utilisent. La procédure est différente suivant le navigateur que vous utilisez. La voici pour les navigateurs les plus connus: