background preloader

Node.js partie 1 - Tout ce que vous devez savoir sur Node.js

Node.js partie 1 - Tout ce que vous devez savoir sur Node.js
Parmi les nombreuses technologies qui me passionnent actuellement, Node.js tient une place importante. Et pour plusieurs raisons : développement Javascript côté serveur, gestion des entrées/sorties de manières non bloquantes, communauté très présente avec de nombreux modules comme Socket.IO et bien d’autres choses encore. C’est pour toutes ces raisons, et aussi parce que la nouvelle version 0.4.0 vient de sortir, que Web Tambouille vous propose une série de 4 billets consacrée exclusivement à votre futur serveur préféré : Node ! Et cela commence dès aujourd’hui avec une petite introduction générale du serveur, ses concepts, les interviews et autres vidéos à ne pas manquer, les liens à connaître… bref un condensé de tout ce que vous devez absolument savoir sur Node ! Présentation Node s’appuie sur V8, le moteur Javascript de Google utilisé dans Chrome, qui fait partie des moteurs Javascript les plus puissants du marché actuellement. Prenons l’exemple du serveur Apache. Juste pour pinailler

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

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

Node.js : la tendance JavaScript côté serveur Depuis plusieurs mois, le JavaScript est le langage le plus actif sur github, loin devant le Java ou le PHP. Outre une forte présence sur le côté « Front » des applicatifs, le JavaScript commence à gagner ses lettres de noblesse côté « Serveur ». En témoigne aujourd’hui les nombreux projets autour de Node.js. La surcouche Node.js est de plus en plus choisie pour expérimenter des problématiques de temps réel ou de quasi-temps réel.L’objectif est de proposer des expériences utilisateurs dans des environnements très connectés (jeux vidéo, mobiles, sondage grand public, notification, etc.). A titre d’exemple, le chat et le moteur de recherche de Facebook sont développés en partie avec Node.js. Node.js pour des projets « temps réels » mais pas seulement… V8 JavaScript Engine, développé pour Chrome et noyau de Node.js, est très performant. Ses qualités : Ses challengers pour du temps réel : C, Polling en PHP, Twist en Python, Red5 avec du flash, … Node.js, c’est du JavaScript.

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:

The Node Beginner Book Une introduction au développement node.js sous Windows | French Coding Node.js, aussi appelé simplement Node, est une plateforme de développement permettant l’exécution de JavaScript du côté serveur. La principale spécificité de Node est qu’il utilise un modèle d’exécution asynchrone basé sur les événements. Cette façon de faire le développement est tirée directement du modèle de développement que propose JavaScript. Ce qui permet à Node.js de vivre du côté serveur est l’engin JavaScript utilisé par Google Chrome, V8. C’est aussi par cette façon que Node.js tient une très grande partie de sa rapidité d’exécution. À vue d’oiseau, Node offre les avantages suivants : Permets l’exécution du JavaScript du côté serveur (évidemment!) Un exemple Il est possible d’illustrer un exemple de l’exécution événementielle de Node à l’aide du code suivant : Cet exemple de code fait les choses suivantes Installation La façon la plus simple d’installer Node.js est de passer par Chocolatey. npm Avec npm, l’installation d’une librairie se fait à l’aide de la commande npm install.

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

6 Free E-Books and Tutorials for Learning and Mastering Node.js OK, we won't bore you by telling you what Node.js is again or why it's so dang hot. You want to learn Node.js? There's no completely finished Node.js book out there that we're aware of. No more excuses: Try Node.js for $0.02 or less in just a few minutes No more excuses: Try Node.js for $0.02 or less in just a few minutes is a short tutorial from the developers of NowJS. Up and Running With Node.js Up and Running with Node.js by Tom Hughes-Croucher hasn't been officially released yet, but O'Reilly Media has released a free text preview of the book as part of its Open Feedback Publishing System. Our previous coverage of the book is here. The Node Beginner Book The Node Beginner Book by by Manuel Kiessling is a new Node.js e-book. Kiessling's work is aimed for developers "experienced with at least one object-oriented language like Ruby, Python, PHP or Java, only little experience with JavaScript, and completely new to node.js." Felix's Node.js Guide Mastering Node Bulletproof Node.js Coding

Node.JS – Introduction » Veille Techniv J’ai récemment découvert Node.JS. Il s’agit d’une plateforme de développement d’application web en JavaScript. Par plateforme, j’entends bien développement ‘server side’, à l’instar de PHP ou Java/J2EE. Oui oui, vous avez bien entendu. Du JavaScript exécuté coté server. Mais alors ça sert à quoi ? À développer des applications ou éléments d’applications évolutifs et à forte disponibilité. Comment ça marche ? Et bien contrairement à Apache par exemple, qui crée un thread pour chaque requête à l’intérieur duquel elle va être traitée, Node.JS ne possède qu’un seul thread traitant les requêtes comme des évènements appelant un callback. De plus, à l’instar de Java/J2EE, Node.JS s’exécute dans un contexte partagé. Ok c’est bien tout ça. C’est le point faible. Alors pourquoi pas vous aussi ? Ce billet est le premier d’une série sur la découverte de Node.JS. Étapes suivantes :

Déplacer des champ input à la volée : Javascript, AJAX function Efface_ligne(index, tab){ if (typeof tab == 'object' && tab instanceof Array && index >= 0 && index < tab.length) { tab.splice(index,1); } return tab;} // TEST var tab = Array(0,1,2,3,4,5,6,7); alert('Prend l\'index 6 du tableau ('+tab+') soit le septième élément contenant la valeur 6 et le place en 3 position soit l\'index 2 du tableau'); tab = Modif_ordre(6,2,tab); for (i=0; i < tab.length; i++) { alert('index = '+i+' contenu = '+tab[i]); } alert('efface maintenant la troisième ligne, soit l\'index 2 du tableau');tab = Efface_ligne(2,tab); alert('Insert maintenant la valeur 6 à l\'index 6 soit en septième position du tableau'); tab = Insert_ligne (6,6 ,tab);for (i=0; i < tab.length; i++) { alert('index = '+i+' contenu = '+tab[i]); } --></script>

JavaScript Garden Although JavaScript deals fine with the syntax of two matching curly braces for blocks, it does not support block scope; hence, all that is left in the language is function scope. function test() { // a scope for(var i = 0; i < 10; i++) { // not a scope // count } console.log(i); // 10} There are also no distinct namespaces in JavaScript, which means that everything gets defined in one globally shared namespace. Each time a variable is referenced, JavaScript will traverse upwards through all the scopes until it finds it. The Bane of Global Variables // script Afoo = '42'; // script Bvar foo = '42' The above two scripts do not have the same effect. Again, that is not at all the same effect: not using var can have major implications. // global scopevar foo = 42;function test() { // local scope foo = 21;}test();foo; // 21 Leaving out the var statement inside the function test will override the value of foo. // global scopevar items = [/* some list */];for(var i = 0; i < 10; i++) { subLoop();}

Introduction à Node.js Introduction Node.js est une plateforme de développement Javascript. Ce n'est pas un serveur, ce n'est pas un framework, c'est juste le langage Javascript avec des bibliothèques permettant de réaliser des actions comme écrire sur la sortie standard, ouvrir/fermer des connections réseau ou encore créer un fichier. Il est souvent confondu avec un serveur car c'est son origine : Node.js a été créé par Ryan Dahl dans le but de pouvoir créer des applications temps réel où le serveur est capable de pousser de l'information au client. C'est dans ce but qu'il utilise la bibliothèque libuv pour réaliser son modèle d'entrée sortie non bloquante. Pourquoi utiliser Node.js ? Node.js peut être comparé à Python, Ruby, Java, PHP. logiciel libre (licence MIT).performance du moteur v8.modèle non bloquant.communauté très active.système de paquet intégré (NPM).les grandes entreprises l'utilisent. Mais si j'ai craqué ce n'est pour aucune de ces raisons, elles m'ont simplement confortées dans mon choix. npm

Related: