À l’occasion de mon travail sur l’intégration du protocole WebDAV au gestionnaire d’association Garradin j’ai développé un petit client WebDAV JavaScript permettant avec son navigateur web d’envoyer et télécharger des fichiers, gérer les répertoires, prévisualiser les images et autres fichiers, mais aussi éditer directement des fichiers textes.
Sortie de Deno 1.0
Deno est un possible successeur à Node.js. Ryan Dahl, qui est l’auteur à l’origine de Node.js, a présenté lors d’une conférence il y a deux ans une liste de dix choses qu’il regrette à propos de Node.js. À partir de cette liste, il a voulu créer un nouveau moteur d’exécution de script qui tourne en dehors du navigateur mais qui en reprend les conventions. Le projet s’appelle Deno et il vient d’atteindre la version 1.0.
Les travaux de Marijn Haverbeke
Marijn Haverbeke est un développeur que j’apprécie beaucoup. Ses projets sont pour la plupart écrits en JavaScript, langage que j’apprécie habituellement que moyennement, mais la qualité de son code le rend plaisant à lire. Et c’est toujours très bien documenté ! Comme ses travaux n’ont pas encore eu beaucoup d’échos sur LinuxFr.org, je me propose de vous les présenter.
Illico Editor : rétrospective 2017-2018
En quelques mots, Illico Editor est un couteau suisse de la qualification de données qui :
- s’adresse à tous et à toutes (pas uniquement à des experts en informatique) ;
- simplifie le nettoyage de données (corriger, restructurer des données issues d’un tableur, d’une base de données, d’une application métier) ;
- simplifie leur exploitation (indicateurs statistiques simples ou complexes, lister, filtrer, enrichir ou croiser avec d’autres sources, etc.).
L’application a été entièrement revisitée en 2017 et 2018 pour créer une nouvelle expérience utilisateur…
Oui, Illico !
Toute ressemblance avec des personnes existantes ou ayant existé est purement fortuite.
> Dis Arnaud, tu n’aurais pas un outil magique pour m’aider à nettoyer mes données et m’éviter d’y passerma journéema soiréemon week‐end ? :(
> Si, Illico !
En très court, Illico propose un catalogue de fonctionnalités prêtes à l’emploi, génériques (paramétrables) pour améliorer la qualité des données.
Et en une minute, Illico, c’est quoi ?
Illico Editor est un couteau suisse de la qualification de données, en JS/HTML, publié sous licence GPL v3. L’outil s’adresse à tous et toutes (et pas uniquement à des expert·e·s informatiques) et permet de manipuler, corriger, re‐structurer des données en quelques clics. Par exemple, des données issues d’un tableur, d’une base de données, d’une application métier, etc., que l’on souhaite corriger ou pour lesquelles on souhaite établir des indicateurs statistiques simples ou complexes, lister et filtrer ces données, les enrichir avec d’autres sources, etc.
Angular 2 est en version finale, Ninja Squad vous met le pied à l’étrier
Ninja Squad proposait un e‐book sur Angular 2 quand ce framework n’était alors qu’en bêta (cf. la dépêche précédente Deviens un Ninja avec Angular 2 : un e‐book sans DRM à prix libre et en soutien à l’EFF).
Cette semaine, Angular 2 est — enfin — passé en version finale. Ce qui signifie qu’il est utilisable sans trop de crainte en production (plus de changements incompatibles) et qu’il est donc temps de s’y mettre sérieusement.
Après l’e‐book (à jour de la dernière version), Ninja Squad propose désormais un « pack pro », proposant de mettre en pratique la théorie apprise dans l’e‐book en construisant pas à pas une application complète, avec une batterie de tests fournie couvrant le code produit à 100 % : à chaque étape, on soumet sa solution, dont la qualité est analysée ; un score est donné ; on peut alors améliorer son implémentation, ou sauter les trois exercices suivants, ou même tricher en consultant la solution fournie respectant les bonnes pratiques et l’état de l’art ; on suit ainsi sa progression dans la trentaine d’exercices proposés (entre 3 et 5 jours de travail).
Cela devrait faire gagner des heures sur vos projets personnels et professionnels, en ayant toujours sous la main du code fonctionnel et à jour des dernières versions couvrant l’essentiel des cas d’usage d’une application d’entreprise (les mises à jour sont évidemment gratuites).
Tarif normal : 199 €.
Code de réduction pour les lecteurs de LinuxFr.org : LinuxFrRocks
, -30 % pour les 20 premiers acheteurs.
La plate‐forme est testable gratuitement sur les six premiers exercices : https://angular2-exercises.ninja-squad.com/.
N. D. M. : la licence de l’e‐book (201 pages A4) interdit explicitement la vente, l’utilisation commerciale et la redistribution. Le site annonce actuellement environ 2 800 acheteurs et 114 packs pro, ayant généré 6 452 € de dons à l’EFF.
Sortie de Electron 1.0
Electron permet de construire des applications de bureau multi-plateformes avec les technologies du web (HTML, CSS et JS). Il était initialement développé par Github pour son éditeur de texte Atom et est maintenant un projet à part entière. Il vient d'atteindre la version 1.0, signe d'une certaine maturité.
Node.js passe la sixième vitesse
Node.js est la principale implémentation du langage JavaScript côté serveur. Elle utilise V8, le moteur JavaScript de Google Chrome, et vient d’atteindre la version 6.0.0 le 26 avril 2016.
La montée de version de V8 vers la version 5.0 a d'ailleurs permis une meilleure prise en charge d'ES6, avec 93 % des fonctionnalités couvertes. Parmi les autres nouveautés, on trouve des performances accrues (notamment pour le chargement des modules), une meilleure stabilité et utilisabilité des API JavaScript (notamment Buffer et File System).
Peu de temps après la sortie de la version 6.0.0, des failles OpenSSL ont été annoncées, ce qui a conduit à la sortie d'une version 6.1.0.
Et si JavaScript allait droit dans le mur ?
Cette dépêche pose la question de l’avenir du JavaScript. Celui‐-ci continue de gagner en popularité, mais aussi en complexité. L’auteur du journal a étudié d’autres langages encore peu connus (Elixir, Elm, Pony, Oden et Crystal) et ceux‐ci lui ont fait sauter aux yeux les défauts du JavaScript. Il s’interroge donc sur le futur de ce langage.
Dans les commentaires du journal, de nombreux développeurs ont fait un retour sur leur expérience. Certains apprécient le JavaScript (souvent, un sous‐ensemble de ce langage qui va à l’encontre des dernières nouveautés). D’autres, souhaiteraient fortement s’en débarrasser, mais quasiment tous sont d’accord sur le fait qu’il va rester grâce à son monopole sur les navigateurs).
Certains ont encouragé à essayer leur langage de prédilection : Go, OCaml, ClojureScript, etc.
Enfin, on peut également retrouver un certain espoir avec WebAssembly (le successeur d’asm.js), qui permettrait à de nombreux langages d’être compilés vers la plate‐forme Web.
Sortie de iTowns v1.0 : framework web pour la donnée géographique 3D
Le projet iTowns est heureux d'annoncer la sortie de la première version OpenSource de iTowns, un nouveau framework de visualisation de données 3D géospatiales.
iTowns est un framework web écrit en Javascript/WebGL basé sur THREE.js pour la visualisation de données géographiques 3D, permettant également des mesures précises en 3D. Son premier but est la visualisation d'images type "street view" et de nuages de points LIDAR terrestre, mais il supporte bien d'autres types de données.
La version 1.0 est la première version OpenSource de iTowns, publiée sous license CeCILL-B. Il s'agit du cœur de l'application originelle iTowns développée ces dernières années au laboratoire de recherche MATIS de l'IGN. L'IGN a travaillé ces derniers mois sur la transition de cet outil depuis un logiciel interne vers un projet ouvert et libre.
Deviens un Ninja avec Angular 2 : un ebook sans DRM à prix libre et en soutien à l'EFF
Deviens un Ninja avec Angular 2 : un ebook sans DRM à prix libre et en soutien à l'Electronic Frontier Fondation (EFF).
Ninja Squad propose un livre permettant d'apprendre à maîtriser le framework web Angular 2. Sur le modèle des Humble Bundle, cet ebook est proposé à prix libre, et en soutien optionnel à une association : l'EFF, qui défend un Internet libre dans le monde.
Si Angular 2 est encore en beta, cet ebook vous donnera toutes les clés pour connaître ses prérequis (ECMAScript 6, TypeScript, Web Components), découvrir sa philosophie (ce qui a évolué depuis la version précédente AngularJS), et construire une véritable application.
Les mises à jour de l'ebook seront fournies gratuitement.
NdM: la licence interdit explicitement la vente, l'utilisation commerciale et la redistribution.
ECMAScript 2015 est approuvé
La spécification ECMAScript 6e édition a été approuvée le 17 juin 2015 sous le nom ECMAScript 2015.
Parmi les nouveautés, il faut noter l'arrivée des classes, des modules, des fonctions fléchées, des boucles for-of
, des générateurs, des proxies et de plusieurs nouvelles méthodes.
RapydScript, le JavaScript qui se déguise en Python
RapydScript est un langage qui se compile en JavaScript, avec une syntaxe et des fonctionnalités qui se veulent proches de Python. Pour ceux qui connaissent coffeeScript, RapydScript est pareil mais inspiré par la lisibilité de Python. Il ne s'agit pas d'une nouvelle tentative de faire tourner Python dans le navigateur, comme par exemple Pyjamas. RapydScript reste du JavaScript, il n'introduit aucune limitation ni surcoût. Il paraît juste plus propre et donne l'impression d'écrire du Python.
Ses quelques fonctionnalités :
- comme CoffeeScript, RapydScript répare les incohérences et inconsistances de JavaScript ;
- un système de classes similaire à Python ;
- support des listes en compréhensions ;
- des exceptions comme en Python ;
- des modules, plus flexibles que les modules Python ;
- des arguments optionnels pour les fonctions, comme en Python ;
- des décorateurs (sans arguments) ;
- un système d'héritage plus puissant que celui de Python et plus clair que celui de JavaScript ;
- le support d'objets (dictionnaires) avec fonctions anonymes, comme en JavaScript ;
- la possibilité d’appeler n'importe quelle fonction, méthode, code JavaScript ou appel au DOM de n'importe quel framework, sans syntaxe spéciale ;
- le choix entre les méthodes et fonctions à la Python ou leurs équivalents JavaScript ;
- RapydScript s'auto-compile, c'est à dire que le compilateur est lui-même écrit en RapydScript et compile en JavaScript.
Worldwide Meteor 1.0 Day le 6 novembre 2014 chez Numa (Paris)
Rejoignez nous à Paris jeudi 6 novembre vers 18h30 chez Numa pour un événement unique : le Worldwide Meteor 1.0 Day ! Meteor est une plate‐forme open source facilitant le développement d’applications modernes Internet et mobiles en JavaScript.
Toute la communauté Meteor organise des meetups simultanément à travers le monde le 6 novembre ; ouvert à tous ceux qui sont intéressés à en apprendre plus sur la plate-forme Meteor.
Vous aurez la chance de rencontrer des développeurs d'applications réalisées avec Meteor, jouer avec les nouveaux exemples et tutoriels ainsi que de participer à une session de questions/réponses via Hangouts avec un développeur du Meteor Development Group et d'experts de la communauté.
Meteor 1.0
Meteor est une plate‐forme open source facilitant le développement d’applications modernes Internet et mobiles en JavaScript. Il offre des fonctions de mise à jour automatique des interfaces permettant le travail collaboratif temps réel et des interfaces intuitives assurant la même expérience utilisateur qu’une application de bureau. Ces applications peuvent s’exécuter dans un navigateur Web, ainsi que sur tous les appareils mobiles (applications natives avec Cordova/PhoneGap).
Meteor 1.0 est sorti hier soir, annoncé par Matt DeBergalis du MDG (Meteor Developpement Group). Cette version assure la stabilité de l’API, qui jusqu’alors évoluait fortement entre chaque version.
Voyez sa description en seconde partie de l’article…
Un ebook sur AngularJS à prix libre et pour une bonne cause
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
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
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
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
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).
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
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
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
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
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.
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
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.