
Une introduction à node.js Node.js est un framework implémentant, coté serveur, la version 8 du moteur Javascript de Google (pour une présentation rapide, je vous conseille de parcourir ces quelques slides). L'objectif de ce billet est d'installer Node.js sur votre machine GNU/Linux et d'exécuter votre premier programme (hello.js). Il n'existe pas, à l'heure à laquelle je rédige ce billet, de "package" officiel de Node.js pour Debian/Ubuntu (voir le chapitre suivant pour une installation depuis un PPA). L'installation est cependant assez simple. Pour installer la dernière version (stable) depuis le dépôt officiel GIT, il suffit de saisir les commandes suivantes: mkdir ~/src cd ~/src git clone cd ~/src/node git checkout v0.8.0 sudo mkdir /opt/node . L'installation va se faire dans le répertoire /opt/node. Pour vérifier que Node.js est bien installé sur votre machine: Pour étendre les fonctions de bases de Node.js, il faut utiliser l'utilitaire NPM (Node Package Manager). # node . [/cc]
Programmation fonctionnelle en Javascript Parmi les sujets qui nous ont occupés en 2010, je retiendrai une fois de plus l’intérêt croissant des grands du Web pour la Programmation Fonctionnelle (Scala, F#…). Un paradigme qui, s’il est bien appliqué, permet d’avoir un code complètement réutilisable grâce aux objets immutables (pas de modification ni de partage d’état), aux fonctions en tant que type (String, Integer et maintenant Function)… mais aussi de construire des applications hautement disponibles. Pour une introduction de la programmation fonctionnelle, je vous renvoie vers l’excellent article sur haskell.org. Mais ce ne sont pas que les grands du Web qui en auront besoin, en effet nos architectures orientée web ou WOA (Web Oriented Architecture) vont aussi avoir besoin de la programmation fonctionnelle et cette vidéo nous le prouve. Nous allons voir comment écrire un code de manière fonctionnelle en Javascript ou plutôt comment transformer un code Javascript de tous les jours en code Javascript fonctionnelle. Conclusion
Cross-compile node.js on ARM - the WigWag devblog. 3/5/13 –> We don’t have time to post updates right now, but if you need a working script for node 0.8 using an ARM toolchain, see example Gist here Note: the information was current as of node 0.7.0 top of tree, from circa Jan 21, 2012. So modify as necessary. There are three major steps/challenges in getting node.js to compile on ARM We need to get V8 to compile on your target arch. We are going to assume that you have successfully got V8 compiling for your hardware. Understanding the node.js build process. As of 0.6.x, node.js uses gyp (Generate Your Projects) from the Chromium project. node is configured using a python script, configure, in the root of the source. configure has an option for cross compile, –dest-cpu=ARCH where it says arm, ia32 and x64 are valid architectures. Full cross compile support does not really seem to be baked into node.js yet. setup-cross.sh For this script to work, I ended up needing to make some minor changes to node 0.7.0. So we need armv7 to ! and
Node.js Tuto Part2 Suite de la série de billets consacrés à Node.js. Après une petite introduction de ce serveur Javascript, nous allons faire un petit tour du côté des environnements de développement. Un précédent article de Web Tambouille avait déjà détaillé comment débuguer une application Node par Eclipse ou à l’aide de node-inspector. Moyennant l’installation du Eclipse debugger plugin for V8, il sera donc possible d’utiliser tout IDE qui s’appuie sur le noyau Eclipse : Eclipse Classic, Eclipse for Javascript Developpers, Aptana et bien d’autres encore. Je vais donc vous présenter un tout autre IDE à savoir Cloud9. Au menu : Yet another Javascript IDE, installation, utilisation, points forts, points faibles, roadmap et une petite conclusion. Yet Another Javascript IDE ? Cloud9 est un IDE spécialement conçu pour les développeurs Javascript. Mais depuis peu, un autre IDE fait du bruit : Cloud9, l’IDE fait par des Javascripteurs pour des Javascripteurs . Installation Pour l’utiliser, 2 possibilités :
Felix's Node.js Convincing the boss guide « Home / All Guides Now that you're all hyped up about using node.js, it's time to convince your boss. Well, maybe. I have had the pleasure of consulting for different businesses on whether node.js is the right technology, and sometimes the answer is simply no. So this guide is my opinionated collection of advice for those of you that want to explore whether node.js makes sense for their business, and if so, how to convince the management. Bad Use Cases CPU heavy apps Even though I love node.js, there are several use cases where it simply doesn't make sense. That being said, node.js allows you to easily write C++ addons, so you could certainly use it as a scripting engine on top of your super-secret algorithms. Simple CRUD / HTML apps While node.js will eventually be a fun tool for writing all kinds of web applications, you shouldn't expect it to provide you with more benefits than PHP, Ruby or Python at this point. NoSQL + Node.js + Buzzword Bullshit Good Use Cases JSON APIs Single page apps
EJS - Templating for Node.JS ImagePreloader - Un plugin JQuery pour précharger vos images JQuery Image Preloader est un plugin JQuery pour précharger des images en fond dans le but d'accélérer le chargement de vos pages. Vous le savez certainement, la nouvelle mode dans le Web consiste à optimiser le temps de chargement de vos pages à l'aide de Sprites CSS par exemple, en minifiant vos codes JS et CSS, en réduisant le plus possible le nombres de requêtes vers des médias (Images, vidéos, scripts...) ou encore via des logiciels pour compresser au maximum vos images. Les moteurs de recherche tiennent désomais en compte la métrique d temps de chargement des pages web dans leurs algorithmes. Le concept: Lorsque tous les chargements d'une page ont été effectués, il ne se passe plus grand chose, et vous pourriez charger des images présentes sur d'autres pages du site en attendant. Les navigateurs les mettent en cache, ainsi lorsque vous vous rendez sur une autre page, ces images pré-chargées s'affichent directement. On y gagne, une fois de plus, en temps de chargement. Utilisation:
Node.js on Android I mainly use node.js since one year ago at work, and I really like it. On my work project, I have to create a system which uses socket.io, but I don't have enough time to re-create a system using Android Java. But I finally figure out how to run node.js on Android. * This is really advanced topic, so I don't aim for Android beginners. Just for my memo. 1. First of all, you have to obtain root permission of your Android. 2. Debian kit for Android is really awesome tool. Debian kit for An Instr $> cd /data/local/tmp $> wget $> sh debian-* ... ... 3. Before install node.js, you also need couple of debain packages. #> apt-get install openssl build-essential python libssl-dev git-core To install node.js for Debian, you might need to compile node.js from source code. If your Android uses ARM architecture, you might be get couple of errors. #> .
Node.js Tuto Part4 Dernier article (et oui déjà) de la série consacrée à Node.js et, maintenant que nous avons codé notre première application Node.js Web Sockets et HTML5, nous allons terminer en beauté le déploiement de l’application sur le cloud. Et c’est le sujet de cette 4ème partie avec l’étude du service Nodester, une plateforme de déploiement open source d’applications Node. Nous allons regarder de plus près comment fonctionne cette plateforme, comment déployer notre application et où se trouve t-elle, comment gère t-elle les modules Node… en bref : qu’est-ce que Nodester et comment l’utilise t-on ! Au menu : introduction (EC2, Git…), les outils pour Nodester, détail de l’API REST, enregistrement au service et déploiement de l’application, déploiement d’une autre application, les plateformes de déploiement sur le cloud équivalentes et enfin une petite conclusion. Introduction Nodester est une plateforme de déploiement d’applications Node sur le cloud. Pas mal non ? Outils Ready ? Voilà ! That’s all !
The Node Beginner Book Package.json dependencies done rightblog This is part one of a three part post on npm Dependency management. Need I say more? Npm recently received a pretty serious makeover in Version 1.0. Npm installs modules and applications based on an interpretation of the package.json specification. How npm works with dependencies in a package.json manifest. tldr;? There are two separate (but equally important) entities that must have specified versions in a package.json manifest: modules dependencies and node version. What is slightly modified about it? Ok, so npm uses semver, awesome. The versions for both the dependencies and node properties in the example above are interpreted using node-semver, a library created and maintained by isaacs for working with semantic version strings. Now suppose that we install the above example using npm: The node version installed on the current system is compared against the version specified in the package.json. Here is a sample package.json that uses the best practices we will discuss: e.g.: 0.3.18
Symfony2 - Les nouveautés + résumé Symfony Live 2011 Nous revenons de deux jours de Symfony Live 2011 à Paris avec le plein de nouveautés pour Symfony2. Les nouveautés de Symfony2 Symfony2 est en cours de stabilisation. La version 1 officielle de Symfony2 sera disponible dans quelques semaines (Fin mars en théorie). Fabien Potencier a fait du teasing lors de la Keynote de clôture du Symfony Live 2011 ! Nouveau site pour Symfony2 Un nouveau logo, un nouveau site et un nouveau nom de domaine pour Symfony2: Différentes distributions du framework Symfony2 à télécharger Différentes distributions du framework seront téléchargeables suivant l'utilisation souhaitée. Une édition standardUne édition CMS: Plus adapté à la gestion de contenusUne édition SandboxUne édition Hello World: La version de bench sur le fameux hello world (joke) Ce système de distributions, bien connu dans le monde linux, est intéressant pour disposer rapidement du framework prêt à emploi. Au début, seule la "Symfony2 Standart Edition" est disponible. Par PHPTv