Un ebook sur AngularJS à prix libre et pour une bonne cause

Posté par Cyril Lacôte . Édité par Benoît Sibaud. Modéré par patrick_g. Licence CC by-sa
Tags : aucun
18
4
sept.
2014
JavaScript

Devenez un Ninja avec AngularJS : un ebook à prix libre et en soutien à une association caritative.

Ninja Squad propose un livre permettant de découvrir ou d'approfondir ses connaissances du framework web AngularJS. Sur le modèle des Humble Bundle, cet ebook est proposé à prix libre, et en soutien optionnel à une association caritative : Docteur Souris, qui fournit des ordinateurs et des accès internet sécurisés pour les enfants hospitalisés.

Si AngularJS est un framework web extrêmement puissant, il est aussi très exigeant. Il permet d'atteindre des vitesses de développement inégalées, pour peu que l'on prenne le temps de le maîtriser.
Ce livre devrait vous permettre de comprendre en détails tous les principes et pratiques d'AngularJS, des bases aux dernières nouveautés introduites par la version 1.3.

Intercooler.js

Posté par (page perso) . Édité par Benoît Sibaud. Modéré par ZeroHeure. Licence CC by-sa
Tags :
20
5
juil.
2014
JavaScript

Intercooler.js est une énième, mais nouvelle bibliothèque JavaScript pour les sites web orientés client lourd.

Elle propose un mécanisme déclaratif assez intéressant : le comportement de l'interface est codé dans les attributs de balises HTML standard.
Elle simplifie la vie du développeur en évitant de devoir intégrer des évènements sur des sélecteurs JQuery (ou ses concurrents) : celui-ci a le choix de provoquer un appel AJAX ou un appel interne sur une fonction javascript, de manière déclarative dans le code HTML.

Intercooler est basé sur le concept de Partial View Controller. Dans cette approche, le serveur renvoi des fragments de HTML à intégrer dans l'interface.

Proxy HTTP(s) gatejs

Posté par . Édité par Xavier Teyssier, Benoît Sibaud, Pierre Jarillon et Christophe Guilloux. Modéré par ZeroHeure.
20
20
juin
2014
JavaScript

gatejs est un nouveau mandataire/proxy HTTP(s) (forward & reverse) qui a pour vocation de remplacer squid, nginx, varnish ou encore apache, dans leurs fonctions de proxy (forward & reverse). Il est publié sous licence GPLv3.

Il est développé en JavaScript (2/3) et en C++ (1/3). Il est prévu que la proportion de C++ se réduise au fil du temps. Ce proxy utilise le moteur Javascript V8 et nodejs.

Il a été initialement conçu pour offrir plus de flexibilité sur l'interception et le traitement d'informations en HTTP.

Pour ceux qui ne sont pas pro-JavaScript, il est important de préciser que les performances de gatejs sont proches, voire dans certains cas, supérieures à nginx.

De plus, l'utilisation de Javascript permet d'augmenter la lisibilité des codes, de les factoriser et de renforcer la sécurité, surtout pour des opérations complexes.

Les configurations sont écrites au moyen de la notation d'objets Javascript (JSON).

Retour d'expérience sur sql.js

Posté par . Édité par Nÿco, ZeroHeure, palm123, Benoît Sibaud et Nils Ratusznik. Modéré par tankey. Licence CC by-sa
33
15
juin
2014
JavaScript

J'aimerais parler ici de mon expérience lors du développement de sql.js, un port de SQLite en JavaScript. Pour ceux qui ne s’intéressent pas aux technologies du web, la deuxième partie de cette dépêche pourrait quand même vous intéresser, on va parler de SQLite.

Note : cette dépêche a initialement été postée en tant que journal.

Atelier Back to Basics : Javascript

8
28
mai
2014
JavaScript

L’association Silex Labs propose une série de quatre ateliers pour travailler ensemble avec des outils devenus incontournables et partager des retours d’expériences sur les bonnes pratiques d’organisation et de travail collaboratif. Le prochain aura lieu le mercredi 28 mai de 19h à 21h à l’IESA Multimédia (Paris) sur le thème Javascript (après ceux sur HTML5 et CSS3, et avant celui sur Node.js le 18 juin).

Titre de l'image

NdM : l'inscription coûte 15 € (ou une adhésion annuelle à Silex Labs couvrant tous les ateliers).

La troisième rencontre de la communauté JavaScript de Lille - Jeudi 25 juillet 2013

Posté par CoworkingLille . Édité par Benoît Sibaud, Nils Ratusznik, NeoX, Nÿco et Xavier Teyssier. Modéré par Xavier Teyssier. Licence CC by-sa
Tags : aucun
6
22
juil.
2013
JavaScript

Tous les passionnés de JavaScript ont rendez-vous au CoworkingLille pour discuter de JavaScript. L'accueil des participants se fera dès 19H30 au CoworkingLille au 10 rue de la Piquerie 59000 Lille.

Dans la communauté JavaScript les promises (en français, promesse, engagement) font l'actualité. Selon le Wiki CommonJS, une promise, en JavaScript, est un objet représentant une valeur qui pourrait être retournée par l'exécution d'une opération unique (souvent asynchrone). Nicolas Froidure nous fera, lors de cette rencontre, une présentation de cette nouvelle techno et de son expérience acquise pendant le développement de Liar.

Vous pouvez trouver sur ce lien la spécification des promises (polyfill inside).

Cette présentation sera suivie d'une table ronde sur NodeJS, la production et les outils existants. Nous aborderons les différentes approches :

Tous les retours d'expériences sont les bienvenus avec des exemples d'application en production à l'appui.

ChtiJS sur Twitter : @chtijs

Apéro Web à Nancy

Posté par krampstudio . Édité par Xavier Claude, Nÿco et Benoît Sibaud. Modéré par patrick_g. Licence CC by-sa
Tags : aucun
7
8
juil.
2013
JavaScript

Après Bash, un nouvel Apéro Web se déroulera à Nancy le 18 Juillet 2013 au Classico (1 Rue Général Hoche) à 19h. Le but de ces évènements est de partager, discuter sur ces thèmes autour du Web, dans une ambiance agréable. Le thème de la soirée du 18/07 sera Node.js :

« JavaScript sort de son navigateur pour vous en mettre plein les yeux avec Node.js. Plus qu'un serveur web de nouvelle de génération, Node.js est une plateforme avec une communauté et des outils autant destinés au serveur qu'au client.

Durant cette introduction, les spécificités de Node.js seront décortiquées : event-driven model, non-blocking I/O, CommonJs, packages, etc. Puis, nous vous présenterons un des outils de l'univers node: Grunt.js, le task-runner sortira de son terrier pour vous aider à automatiser vos projets Javascript. »

SlimerJS 0.6

Posté par (page perso) . Édité par Nÿco, tuiu pol et Xavier Teyssier. Modéré par Nÿco. Licence CC by-sa
24
3
mai
2013
JavaScript

SlimerJS est un navigateur web « scriptable », utilisable en ligne de commande. Par le biais d'un script Javascript, il vous permet de charger une page, de « cliquer » dessus, de manipuler la page, d'en extraire des données, etc. SlimerJS est en fait un navigateur similaire à PhantomJS, excepté qu'il est basé sur Gecko, le moteur de rendu de Firefox, au lieu de WebKit. Et il propose une API identique à celle de PhantomJS. Dans cette première version stable de SlimerJS, l’implémentation de cette API n'est pas 100% terminée, il est toutefois déjà possible de réaliser pas mal de chose.

NdM : Licence MPL 2.0 (http://mozilla.org/MPL/2.0/), sauf certains composants qui ont été spécifiquement positionnés dans des licences différentes type MIT (voir https://github.com/laurentj/slimerjs/blob/master/LICENSE)

jQuery 2.0

Posté par (page perso) . Édité par Davy Defaud, Benoît Sibaud, Florent Zara, Christophe Guilloux et Nÿco. Modéré par Christophe Guilloux. Licence CC by-sa
Tags : aucun
35
24
avr.
2013
JavaScript

jQuery est une bibliothèque JavaScript qui a pour but de simplifier l’utilisation de ce même langage dans les pages Web (notamment d’abstraire les différences entre navigateurs). L’opérateur de sélection $ est sans doute l’élément le plus connu de la bibliothèque.

logo jQuery

La principale nouveauté de cette version est l’abandon de la prise en charge des versions 6, 7 et 8 d’Internet Explorer. La bibliothèque est aussi de 12 % plus légère, ce qui accélère le chargement des pages Web qui l’utilisent. Et si l’on veut l’alléger plus encore, il est possible de construire une version personnalisée en retirant, ou pas, jusqu’à 12 modules différents.

Au niveau des fonctionnalités, elles sont, sauf bogues, équivalentes à celles de la version 1.9 ; et il est, pour l’instant, prévu que la compatibilité entre les branches 1.x et 2.y soit conservée. Ainsi la version 2.1 sera compatible avec la version 1.11. La version 1.10 étant réservée pour inclure les corrections de bogues et les différences qui ont été constatées pendant les bêtas des versions 1.9 et 2.0.

EditableGrid, des nouvelles du projet

Posté par (page perso) . Édité par Florent Zara, Nÿco et Benoît Sibaud. Modéré par Florent Zara. Licence CC by-sa
37
24
avr.
2012
JavaScript

Il y a un an et demi, j'avais publié ce billet concernant une bibliothèque Javascript nommée Editablegrid. Pour rappel, cette bibliothèque permet de créer facilement des tableaux éditables. C'est l'outil idéal pour gérer des données provenant d'une base de données par exemple.

Depuis la première publication le projet a bien évolué et la bibliothèque s'est enrichie de nouvelles fonctionnalités, entre autres grâce aux retours des utilisateurs. Mais il y a un autre grand changement : la licence. Le projet est désormais publié sous double licence MIT et GPL afin de permettre son utilisation dans des projets non-GPL.

Node.js passe en version 0.6.0 et arrive sous Windows

Posté par (page perso) . Modéré par Nÿco. Licence CC by-sa
27
5
nov.
2011
JavaScript

Node.js est un environnement JavaScript côté serveur, sous licence MIT. Sa particularité est son approche asynchrone pour faciliter la montée en puissance dans des contextes avec beaucoup d’entrées‐sorties, notamment réseau. En pratique, il se compose :

  • d’un interpréteur JavaScript, à savoir V8 ;
  • de require(), un chargeur de modules compatible CommonJS ;
  • d’une bibliothèque standard, volontairement restreinte (une sorte de libc JavaScript où tous les appels sont asynchrones) ;
  • d’un ensemble de conventions : par exemple, les fonctions de retour indiquent toujours en premier paramètre si l’appel s’est bien passé, et dans le cas contraire, quelle a été l’erreur ;
  • et d’un exécutable, « node », pour lancer tout ça.

La version 0.6.0 est sortie aujourd’hui et apporte quelques nouveautés de taille (plus de détails en seconde partie) :

  • la prise en charge de Windows en utilisant les I/O Completion Ports (IOCP) ;
  • un répartiteur de charge entre plusieurs processus Node.js intégré ;
  • des moyens de communications entre des processus Node.js plus efficaces ;
  • des améliorations du débogueur en ligne de commande ;
  • des bindings pour la zlib ;
  • la mise à jour de V8, passant de la version 3.1 à la 3.6.

La prise en charge de Windows, sans dégrader les performances pour les UNIX, a pris plus longtemps que prévu. Cela a fortement retardé la sortie de cette version, mais Ryan Dahl, son créateur, souhaite sortir la prochaine version stable de Node.js (la v0.8.0) pour janvier 2012.

Dart va‐t‐il remplacer JavaScript comme langage dans les navigateurs ?

51
11
oct.
2011
JavaScript

Google a publié une première version, dite « preview release », de son nouveau langage de programmation : Dart. Google espère que ce langage va remplacer JavaScript comme langage de référence dans les navigateurs.

Un mémo interne qui a fuité nous informe des intentions de Google. Les ingénieurs de Google, et tout particulièrement l’équipe travaillant sur V8, considèrent que le JavaScript est une impasse : il serait trop lent, très mal adapté pour des développements de grande taille et souffrirait d’erreurs de jeunesse irréparables. Google a donc décidé de proposer son propre langage, Dart, dont la première version vient tout juste de sortir.

Pour le moment, les programmes écrits en Dart peuvent être compilés en JavaScript pour tourner dans les navigateurs. D’ici peu, Chrome devrait être en mesure d’exécuter directement du code en Dart, étape nécessaire pour des performances accrues. Les plans de Google sont ensuite de proposer son moteur aux développeurs des autres navigateurs, mais il semble peu probable dans l’immédiat que ceux‐ci acceptent.

Dart se distingue de JavaScript par :

  • le typage statique optionnel ;
  • les classes et interfaces (par opposition aux prototypes du JS) ;
  • l’obligation d’utiliser les « ; » pour séparer les instructions ;
  • une bibliothèque standard plus riche ;
  • la possibilité d’être outillé plus facilement (meilleure prise en charge pour l’IDE et outils de ré‐usinage par exemple).

Pour autant, Dart a reçu un accueil très froid de la part des développeurs. Par exemple, Brendan Eich, le créateur de JavaScript, considère qu’il est plus simple et plus efficace de faire évoluer le JavaScript que de développer un nouveau langage.

3 bibliothèques javascript à découvrir : D3, Sugar et Batman

27
30
août
2011
JavaScript

D3.js

D3.js est une bibliothèque javascript légère et libre qui permet de manipuler et représenter graphiquement des documents en s'appuyant sur leurs données. Elle est une réécriture de protovis et s'appuie sur des technologies comme HTML5, CSS3 et SVG pour afficher des données et interagir avec elles. Je vous encourage à aller voir les exemples pour voir de quoi est capable d3.js.

Sugar.js

Sugar.js est une bibliothèque qui vise à faciliter la manipulation des objets natifs Javascript et à combler les différences entre navigateurs. Elle ajoute des méthodes bien pratiques aux entiers, chaînes de caractères, fonctions, tableaux, objets, dates... En revanche, elle ne concerne ni les requêtes AJAX ni le DOM (jQuery fait ça très bien).

Batman.js

Batman.js est un petit framework MVC sous licence MIT. Il est écrit en CoffeeScript et peut donc naturellement être utilisé en Javascript afin de structurer une application web qui ferait un fort usage du JS. S'inspirant des principes de Rails (convention over configuration, etc.), il doit permettre de développer rapidement des applications web mono-page.

Découvrez Backbone.js 0.5.0 pour organiser votre code JavaScript

Posté par (page perso) . Modéré par tuiu pol. Licence CC by-sa
34
3
juil.
2011
JavaScript

Backbone.js est un framework JavaScript sous licence MIT que Jeremy Ashkenas a écrit dans le cadre de son travail chez DocumentCloud. Il permet d’apporter de la structure à des applications JavaScript grâce à une bibliothèque qui ne fait pourtant qu’un millier de lignes de code en tout.

Pour cela, il apporte la séparation du code en classes :

  • les modèles et collections sont responsables de la logique métier et peuvent également servir pour la persistance, aussi bien locale avec localStorage que distante via des API RESTful en JSON. Les modèles proposent des enregistrements clé‐valeur et des événements associés. Les collections offrent un catalogue bien pratique de méthodes d’énumération : ce sont les méthodes map, reduce, filter importées depuis underscore.js, une des rares dépendances de Backbone.js ;
  • les vues font la liaison entre les modèles et le DOM. Elles mettent à jour le code HTML en fonction des modifications des modèles et, dans l’autre sens, peuvent gérer les événements du DOM ;
  • le routeur permet de modifier l’URL de la page (le #fragment ou, depuis la version 0.5.0, le chemin complet grâce à pushState) et de retourner à l’état associé quand la page est rechargée. Cela permet d’avoir des URL qui peuvent être mises en favoris ou partagées.

Backbone.js a atteint la version 0.5.0 il y a quelques jours et est déjà utilisé sur des projets notables comme Basecamp Mobile.

Sortie de Node.js 0.4.0

Posté par (page perso) . Modéré par patrick_g.
16
12
fév.
2011
JavaScript
Node.js est un environnement JavaScript côté serveur, sous licence MIT. Sa particularité est son approche asynchrone pour faciliter la montée en puissance dans des contextes avec beaucoup d'entrées-sorties, notamment réseau. En pratique, il se compose :
  • d'un interpréteur JavaScript, à savoir V8 ;
  • de require(), un chargeur de modules compatible CommonJS ;
  • d'une bibliothèque standard, volontairement restreinte (une sorte de libc JavaScript où tous les appels sont asynchrones) ;
  • d'un ensemble de conventions : par exemple, les fonctions de retours indiquent toujours en premier paramètre si l'appel s'est bien passé et dans le cas contraire, quelle a été l'erreur ;
  • et d'un exécutable, node pour lancer tout ça.

La version 0.4.0 sortie cette semaine est la deuxième stable (c'est comme pour l'ancien mode de développement du noyau Linux : le numéro mineur est pair pour les versions stables et impair pour les versions de développement). Les principaux changements depuis la version stable précédente (la version 0.2, pour ceux qui suivent) sont les suivants :
  • nouveau client HTTP, avec une API plus simple et la gestion d'un réserve (pool) de connexions ;
  • refonte du module TLS/SSL ;
  • augmentation des performances, grâce à l'allocation plus rapide des tampons mémoire (Buffer) ;
  • meilleure prise en charge des gestionnaires de paquets comme npm, grâce à l'amélioration de require() ;
  • une mise à jour de V8 pour la version 3.1.2 ;
  • un débogueur fonctionnel, mais encore très limité pour le moment ;
  • un module os qui expose des informations sur le système ;
  • et, bien sûr, plein de corrections de bogues.

Sortie de Node.js v0.2.0

Posté par (page perso) . Modéré par baud123.
15
23
août
2010
JavaScript
Node.js, dont le slogan est Evented I/O for V8 JavaScript, a pour but d'offrir un moyen simple d'écrire des applications réseau scalables. Le code est placé sous licence MIT.

Pour bien comprendre ce qu'est Node.js, je vous propose le cheminement suivant. Partons de V8, la machine virtuelle développée par Google qui permet d'interpréter du javascript. Ajoutons un modèle événementiel, similaire à EventMachine en Ruby ou à Twisted en Python. Cela tombe bien, en javascript, c'est assez naturel de procéder de cette manière : le javascript dans les navigateurs utilise déjà un modèle événementiel (les événements sont 'DOM chargé', 'touche pressée' ou encore 'clic de la souris'). C'est un bon début, mais le javascript ne possède pas de bibliothèque standard pour manipuler des fichiers ou faire des opérations réseau. Utilisons donc notre modèle événementiel pour ajouter des API qui permettent de faire ça de manière asynchrone. Une autre lacune de javascript est l'absence de moyen de charger une bibliothèque depuis un script, et comme on n'a pas spécialement envie de tout écrire dans un seul fichier, rajoutons donc une fonction require pour charger un autre script. Enfin, saupoudrons le tout avec quelques API utilitaires, un interpréteur interactif, et vous obtiendrez une bonne idée de la composition de Node.js.

Node.js permet ainsi de développer simplement des applications en javascript que l'on peut qualifier de server-side. Voici quelques exemples de ce que l'on peut faire avec Node.js :

La version 0.2.0 est sortie le 20 août et marque une première stabilisation du projet. Jusqu'à maintenant, les versions s'enchaînaient à un rythme soutenu (2 à 3 par mois), avec souvent des changements d'API et des problèmes de compatibilité divers et variés. Il est donc difficile pour les développeurs de bibliothèques de les maintenir, et pour les développeurs d'applications, de trouver les bonnes bibliothèques qui fonctionne avec la dernière version de Node.js. Cela devrait maintenant changer : Ryan Dahl a promis d'assurer la compatibilité de l'API pour les versions 0.2.x. Si vous souhaitez essayer Node.js, c'est donc le bon moment pour vous lancer !