Atom, l'éditeur de texte de Github

Atom est le nouvel éditeur de texte développé par l’équipe de Github. Le code est open-source et disponible sur le dépôt officiel.

A l’heure actuelle, un installeur officiel n’est fourni que pour Mac OSX. Atom est toutefois testé sur bien d’autres plateformes et il est possible de compiler le projet pour l’utiliser sur son propre environement (si l’on n’a pas de Mac). Je m’y suis essayé sous Ubuntu 14.04 et je n’ai eu aucune difficulté en suivant la documentation officielle.

Installation sous Ubuntu

En résumé, il m’a été necessaire d’installer libgnome-keyring-dev puis de configurer GYP pour utiliser Python 2:

1
2
sudo apt-get install libgnome-keyring-dev
sudo npm config set python /usr/bin/python2 -g

Puis j’ai suivi la procédure suivante pour récupérer le projet et installer Atom:

1
2
3
4
git clone https://github.com/atom/atom
cd atom
script/build
sudo script/grunt install

Après cela, Atom est disponible sur système grâce à la commande atom.

Premiers retours

Je n’ai pas encore eu le temps de beaucoup l’utiliser mais je dois dire que la première impression a été plutôt bonne. La fonctionnalité que je trouve la plus agréable est que Atom détecte automatiquement si un fichier n’est pas commité dans Git et va l’indiquer par une couleur différente selon si le fichier est nouveau ou juste modifié.

Malgré son jeune âge, il existe déjà beaucoup de plugins et de thèmes pour améliorer l’expérience utilisateur. Je pense qu’Atom a tout pour devenir un très bon éditeur de texte pour développeur.

Traduction de Discover Meteor

Discover Meteor est actuellement LE livre à lire si vous souhaitez vous plonger dans le framework Meteor. Il a été écrit par Tom Coleman et Sasha Greif, un Australien et un Français.

Le livre est construit autour de l’application Microscope, le petit frère de Telescope (lui même un clone de Hacker News), et permet de faire un tour d’horizon des possiblités offertes par Meteor.

Une version française du livre est en cours de traduction et est d’ores et déjà disponible sous licence Creative Commons.

Démarrez du bon pied avec la MEAN stack avec MEAN.io

La MEAN stack est un ensemble de technologies JavaScript permettant de créer des applications web performantes rapidement. Elle se compose des composants qui lui donnent son nom:

  • MongoDB pour la base de donnée
  • Express pour le framework serveur
  • Angular.js pour le framework client
  • Node.js pour le serveur web

MEAN.io

MEAN.io est un outil qui permet de créer un projet MEAN rapidement à partir de zéro. Il embarque les technologies suivantes (en plus de celles citées plus haut):

  • Grunt pour automatiser les tâches liées au projet
  • Bower pour gérer les dépendances côté client
  • Bootstrap pour faciliter le développement front-end

Installation

L’installation se fait via npm:

1
npm install -g meanio

Création d’un projet

La création d’un nouveau projet se fait grâce l’application MEAN.io:

1
mean init nouveau_projet

Exécution d’un projet

Après avoir installé les dépendances npm, l’exécution du projet se fait via Grunt:

1
2
npm install
grunt

Et voila! Votre application s’exécute maintenant et est accessible à l’adresse localhost:3000.

Structure de l’application

La structure de base d’un projet initialisé via MEAN.io est divisée en trois parties:

  • server/: Code du serveur web
  • public/: Code du client
  • packages/: Modules du projet

Chaque module a lui même le même type de structure que l’application principale.

Gestion des modules

MEAN.io intègre un système de modules qui permet de découper le code du projet en briques fonctionnelles. Le système de modules est simple à prendre en main.

Lister les modules installés dans le projet:

1
mean list

Installer un module

1
mean install <nom_du_module>

Désinstaller un module

1
mean uninstall <nom_du_module>

Créer un nouveau module local

1
mean package <nom_du_module>

Supprimer un module local

1
mean package -d <nom_du_module>

Conclusion

Avec l’aide de MEAN.io, il est aisé de démarrer un nouveau projet du bon pied. Beaucoup de tâches d’un projet web ont été pensées et structurées de manière à faciliter le développement. Par exemple, l’authentification des utilisateurs, sujet épineux dans le cadre des Single Page Application, est pris en charge de base.

Pour aller plus loin, plus de détails sont disponibles sur la documentation de MEAN.io.

Accédez à la base MongoDB de votre application Meteor

Meteor met à disposition une base de donnée MongoDB dédiée à chaque application. Il est possible d’y accéder pour la consulter ou en modifier le contenu à partir de la console du navigateur ou à partir d’un terminal.

Depuis le navigateur avec Minimongo

Meteor déploie avec toute application un outil qui permet d’accéder depuis la console du navigateur aux collections créées. Il est possible d’utiliser des commandes de bases de MongoDB telles que find,insert, update et remove.

1
MaCollection.find({ attribute: 'foobar' });

Il est important de noter que les accès en lectures et en écritures de Minimongo peuvent (et doivent) être limitées dans l’application pour des raisons évidentes de sécurité. Cela peut être fait grâce aux concepts de publications/subscriptions ainsi qu’aux allow/deny sur chaque Collection.

Depuis un terminal avec le shell MongoDB

Le moyen le plus commun d’accéder à MongoDB est via le terminal. Une simple commande de Meteor permet d’ouvrir un shell MongoDB:

1
meteor mongo

Attention, l’application doit être en cours d’exécution pour pouvoir utiliser cette commande.

Réinitialisez la base

Meteor met également à disposition une commande spécifique pour vider entièrement la base de donnée MongoDB d’une application:

1
meteor reset

Accédez à la base de donnée d’une application déployée

Une fois votre application déployée via la commande meteor deploy, il est toujours possible d’accéder au shell MongoDB grâce à la commande suivante:

1
meteor mongo mon_application.meteor.com

Utilisez des fragments avec Docpad

Grâce au plugin docpad-partial, il est possible de découper des fragments d’un site Docpad afin de les importer à un ou plusieurs endroits. De cette manière, le code est mieux structuré et réutilisable.

Installation

Le plugin s’installe très facilement, comme tous les plugins Docpad:

1
docpad install partials

Utilisation

Par défaut, les plugins seront recherchés par l’application dans le répertoire src/partials du projet. Le nom de chaque fichier sera utilisé comme nom de fragment.

Par exemple, si j’ai le fragment suivant dans mon projet:

dd7f01b90d51b9a513f9?file=article.html.eco

Je pourrais l’utiliser dans un autre fichier en l’incluant grâce à la directive suivante:

dd7f01b90d51b9a513f9?file=post.html.eco

Sur ce blog, j’utilise quelques fragments pour les éléments de navigations ainsi que pour injecter les articles.