Outils pour utilisateurs

Outils du site


issue95:command_conquer

In staying with the theme of the last few articles of C&C, I will be introducing two new JavaScript frameworks for web development. AngularJS, which is all client-side, and Meteor - which can be both client-side and server-side. After all this focus on content management systems, I felt it was necessary to mention a few smaller tools which can help add features to static web pages, without having to use a CMS, or creating massive amounts of custom code. What is AngularJS? AngularJS is a framework designed to make the creation of client-side web applications easier. It integrates into HTML by adding to its syntax. It allows things such as replacing content without reloading a page, simplifying testing, and offering optimizations to how JavaScript is loaded. What is the difference between AngularJS and something like NodeJS? NodeJS is a framework that acts both as a server, as well as a web application in general. This means many things are possible in both systems, but NodeJS won’t integrate into a normal static HTML page. As AngularJS is included into a web page in the normal fashion (with a <script> tag), it can be added into any web project.

Dans la même veine que les derniers articles de C&C, je présenterai deux nouveaux cadres JavaScript pour le développement Web : AngularJS, uniquement côté client, et Meteor, qui peut être à la fois côté client et côté serveur. Après m'être concentré assez longuement sur les CMS (Content Management System - systèmes de gestion de contenu), je sentais le besoin de mentionner quelques plus petits outils qui peuvent aider à rajouter des fonctionnalités à des pages Web statiques, sans devoir utiliser un CMS ou créer des quantités énormes de code personnel.

Qu'est-ce que l'AngularJS ?

AngularJS est un cadre conçu pour rendre la création d'applications Web, côté client, plus facile. Il s’intègre dans le HTML en ajoutant sa syntaxe. Il permet des trucs, tels que remplacer du contenu sans recharger une page, simplifier les tests et optimiser le chargement de JavaScript.

Quelle est la différence entre AngularJS et quelque chose comme NodeJS ?

NodeJS est un cadre qui agit à la fois comme serveur et comme une application Web en général. Cela veut dire que plein de choses sont possibles dans les deux systèmes, mais NodeJS ne peut pas s'intégrer dans une page HTML statique normale. Puisque AngularJS est inclus dans une page Web d'une façon normale (avec une balise <script>), on peut l'ajouter à n'importe quel projet Web.

Where can I start learning AngularJS? AngularJS is included in Code School’s list of courses. For anyone who doesn’t know Code School - it’s a website that offers videos and exercises for learning programming languages. As everything is done in the browser in real-time (including the programming exercises), you’re able to easily check your work, or re-watch sections of the videos to better understand concepts. The AngularJS course is free, and an excellent introduction. For those of you who learn best by doing, you can follow along with the videos in a text editor, and then simply answer the exercises once you reach that stage. Why mention Meteor then? Meteor is an open source system for creating web and apps in pure JavaScript, and offers libraries to make designing the application faster and more efficient. The main difference is that Meteor also offers a Node.JS-based server for running your code, which is integrated with other applications to make deploying a production system easier, among other things.

Où puis-je commencer à apprendre AngularJS ?

AngularJS figure dans la liste des cours de la « Code School ». Pour ceux d'entre vous qui ne connaissent pas la Code School, c'est un site Web qui propose des vidéos et des exercices pour apprendre des langages de programmation. Puisque tout se fait dans le navigateur en temps réel (y compris les exercices de programmation), vous pouvez facilement corriger votre travail ou regarder des sections des vidéos à nouveau pour mieux appréhender des concepts. Le cours sur AngularJS, gratuit, est une excellente introduction. Pour ceux qui apprennent mieux « sur le tas », vous pouvez suivre les vidéos en parallèle avec un éditeur de texte, puis tout simplement répondre aux exercices une fois arrivé à cette étape-là.

Alors, pourquoi mentionner Meteor ?

Meteor est un système Open Source pour la création Web et celle d'applis dans du JavaScript pur ; il propose des bibliothèques pour rendre la conception de l'application plus rapide et plus efficace. La différence principale est que Meteor propose aussi un serveur basé sur Node.JS pour exécuter votre code, qui est intégré avec d'autres applications pour rendre le déploiement d'un système de production plus facile, entre autres.

Why choose one or the other? It depends on the scope and aim of the project. If you have a static HTML page, and want to simply add some modern features to it (no refresh, or making certain content dynamic), then AngularJS is best. This is because it can be added into the existing HTML page, and is relatively lightweight. If you’re writing an entire application from scratch, and need systems in place on both the server and the client side, you’ll be better suited to Meteor. The same is true if you’re deploying a web application on various devices (phones, tablets, desktops), and it will be more than just an HTML page with some dynamic content. Lastly, it boils down to personal choice. If both AngularJS and Meteor can do the things you need, pick the one that you like the look of best. If the extra features of Meteor appeal to you, use it. What about a CMS? As AngularJS is not a server-based framework, however, there are some CMS that integrate it into their systems. As AngularJS integrates easily into existing webpages, you could technically use it with any CMS you may already know. In the case of Meteor, there are some CMS that I’ve seen: OrionJS, Meteor-Admin, or Azimuth. I have not used any of them, and they seem to vary in size and complexity. Depending on the size of the project, and on what features of a CMS you may need, simply creating a custom system in Meteor may be easier and faster.

Pourquoi choisir l'un ou l'autre ?

Cela dépend de l'envergure et de l'objectif du projet. Si vous avez une page HTML statique et que vous voulez tout simplement y ajouter quelques fonctionnalités modernes (pas de rafraîchissement ou un rendu dynamique d'un contenu précis), alors AngularJS est le meilleur. C'est parce qu'il est assez léger et peut être ajouté à une page HTML existante.

Si vous écrivez une application entière à partir de zéro et avez besoin d'un système des deux côtés (client et serveur), Meteor vous conviendra mieux. Il en va de même si vous déployez une application Web sur divers appareils (phones, tablettes, ordinateurs de bureau) et si elle est davantage qu'une simple page HTML, avec un peu de contenu dynamique.

Finalement, en résumé, c'est votre choix personnel. Si les deux, AngularJS et Meteor, peuvent répondre à vos besoins, choisissez celui dont vous préférez l'apparence. Si les fonctionnalités supplémentaires de Meteor vous tentent, utilisez-le.

Quid d'un CMS ?

Cependant, puisque AngularJS n'est pas un cadre basé sur le serveur, quelques CMS l’intègrent dans leur système. Puisque AngularJS s'intègre facilement dans des pages Web existantes, il serait techniquement possible de l'utiliser avec tout SGC que vous pourriez déjà connaître. Dans le cas de Meteor, j'ai vu quelques CMS : OrionJS, Meteor-Admin ou Azimuth. Je n'en ai utilisé aucun et leur taille, leur complexité, semblent variables. Selon la taille du projet et les fonctionnalités d'un CMS dont vous pourriez avoir besoin, créer un système personnalisé dans Meteor peut être plus facile et plus rapide.

Will you write a tutorial on either AngularJS or Meteor in a C&C article? As AngularJS is featured in Code School, I feel an article focused on this would be a duplication of effort. However, if there are specific questions, I will be happy to answer them. Also, if there is enough interest in an article on Meteor, I will happily write that too. Hopefully this has enthused some readers to give AngularJS and Meteor a shot in some of their existing (and/or future) projects. If you run into any specific issues, or are interested in a proper tutorial on Meteor, feel free to send me an email at the following address. Also, if anyone has any questions, suggestions, or requests for C&C articles in general, feel free to email me at lswest34+fcm@gmail.com. Further Reading https://angularjs.org/ - Official homepage of AngularJS http://campus.codeschool.com/courses/shaping-up-with-angular-js/ - Code school free AngularJS course https://www.meteor.com/ - Official homepage of Meteor

Pensez-vous écrire un tutoriel sur, soit AngularJS, soit Meteor dans un article C&C ?

Puisqu'un cours sur AngularJS est disponible dans la Code School, il me semble qu'un article le concernant serait inutile. Cela étant dit, si vous avez des questions précises, j'y répondrai avec plaisir. Si vous êtes vraiment intéressé par un article sur Meteor, je serais également heureux d'en écrire un.

J'espère que ceci aura motivé quelques lecteurs pour qu'ils essaient AngularJS et Meteor dans quelques-uns de leurs projets (existants et/ou à venir). Si vous rencontrez des problèmes précis ou êtes intéressé par un tutoriel dans les règles de l'art sur Meteor, n'hésitez pas à m'envoyer un mail à l'adresse qui suit. En outre, si, de façon générale, vous avez des questions, des suggestions ou des demandes d'articles C&C n'hésitez pas à m'écrire à lswest34+fcm@gmail.com.

Pour aller plus loin

https://angularjs.org/ - Page d'accueil officielle d'AngularJS.

http://campus.codeschool.com/courses/shaping-up-with-angular-js/ - Cours gratuit sur AngularJS à la Code School.

https://www.meteor.com/ - Page d'accueil officielle de Meteor.

issue95/command_conquer.txt · Dernière modification : 2015/04/30 11:32 de andre_domenech