CrEv's blog

Aller au contenu | Aller au menu | Aller à la recherche

Mot-clé - coffeescript

Fil des billets

2012 déc. 6

Ecrire une page web de nos jours, suite des aventures

Il faut croire que l'épisode précédent vous a intéressé (mon petit doigt me dit qu'il est même passé sur un incubateur d'excellence aux dires des mytiloïdes qui s'y trouvent). Voici donc la suite tant attendue.

    Comment ça une suite ?

Ben vous croyez quoi ?! On fait de la page oueb monsieur ! C'est un sujet sérieux ! Pas question de s'arrêter avec juste un peu de Haml, Sass, Ruby, Rake et git. Cela suffirait à des développeurs inexpérimentés, pas pour des vrais bons comme nous !

Lire la suite...

2012 sept. 20

De tout, de rien, des bookmarks, du bla bla

Introduction

Pfiou, la dernière news remonte à un moment quand même.... Bon, je vais essayé de reprendre le rythme même si mon nouveau boulot ne m'en laisse pas vraiment le temps pour le moment...

Quoi qu'il en soit voici quelques news en vrac, il y a probablement des choses qui datent un peu mais ça devrait le faire quand même.

Bonne lecture !

Un peu de contenu

Développement

Vous connaissez probablement tous atom. S'il est plutôt souvent utilisé il reste relativement lourd et complexe. Voici donc hAtom qui est un microformat basé sur un sous ensemble d'atom mais en étant plus orienté vers les articles de news, les blogs, etc. Je ne sais pas si ça a un intérêt réel mais je trouve l'idée assez intéressante tout en prenant en compte l'existant (atom) plutôt que de vouloir tout réinventer.

En tant que sujet quelque peu récurrent, voici des articles au sujet de go (le langage). Tout d'abord un petit exemple, une petite introduction au langage et quelques libs : quick and clean in go. Ce que je trouve vraiment intéressant est la facilité, rapidité avec laquelle on se retrouve avec un serveur web, un moteur de template, une connexion à mongodb, etc. Plutôt pas mal pour un langage initialement plutôt système.

Deuxième article, cette fois expliquant comment créer un chat avec go et les websockets HTML5.

Ensuite, un petit retour de la part de bitly et de leur usage de go, Go go gadget.

Et enfin, voici un ensemble d'outils (un framework ?) web pour go, Gorilla.

Tout ceci me donne sacrément envie de tester Go. Je pense que ça va être, vraiment, le prochain langage que je vais apprendre (outre le fait que je recommence le php, le ruby et que je début en coffeescript...).

Pour continuer dans les langages de développement, voici une petite partie dédiée à javascript et au web (je ne pouvais pas faire sans ;) )

Tout d'abord voici un article qui parle de garbage collector en javascript. En gros, comment écrire du code qui va permettre d'être bien pris en compte par le garbage collector. C'est un sujet qui est peu abordé en javascript, mais avec l'augmentation des performances et l'augmentation de l'usage de ce langage, ça devient vraiment intéressant de s'en préocuper.

D'ailleurs, si vous souhaitez vous améliorer en javascript, deux ressources peuvent vous intéresser. Tout d'abord un superbe bouquin (en CC NC-ND) sur les design patterns en javascript. Ce livre est plutôt complet, et plus qu'un livre à lire d'un bloc c'est je pense une bonne référence à garder sous le coude en cas de besoin. Si jamais vous souhaitez lire d'autres livres sur javascript, voici par contre la référence ultime : JSbooks. Il liste une belle petite collection de livres (libres/gratuits) sur javascript ou coffeescript. J'aimerais vraiment pouvoir faire des doubles journées pour avoir le temps de tout lire...

Maintenant que vous êtes au fait de javascript, vous vous demandez probablement comment packager vos applications web ? Non ? Heu... Bon c'est pas grave, twitter s'est un peu posé la question et ils ont sorti bower. Bower est un outil générique pour résoudre des dépendances. Il peut récupérer directement depuis git et n'est pas spécifique à javascript (même si c'est l'une des cibles privilégiées). Un package peut aussi bien contenir du javascript que du css, de l'html, des images, etc. Il est plutôt bas niveau, utilise node.js (et donc npm node package manager pour s'installer). Je ne l'ai pas encore testé mais ça me semble plutôt intéressant. Twitter est entrain de migrer son frontend pour utiliser bower. Comme outil utilisant déjà bower, on retrouve yeoman dont j'avais déjà parlé et qui est désormais public. Je n'ai pas non plus eu le temps de le tester (doubles journées, toussa) mais ça figure en très bonne position sur ma todo list. Quelqu'un l'a-t-il déjà testé et pourrait faire un retour ?

Mais il n'y a pas que le javascript sur le web. Il y a aussi le CSS ! Voici donc quelques liens plutôt sympa sur le sujet. Tout d'abord, une mine d'information sur linear-gradient. Si vous ne saviez pas comment utiliser cette propriété vous n'avez désormais plus aucune excuse. Voici également une présentation des nouvelles possibilités des régions CSS. J'attends réellement ça avec impatience tant le gain est important. Pour avoir bosé pendant un temps du côté de l'édition et donc avoir eu à cotoyer ce type de bloc, c'est vraiment une très bonne avancée pour la publication sur le web. Et si vous voulez avoir des designs qui ont de la gueulle, voici une présentation sur les possibilités typographiques en CSS. Allez la voir, ça prend pas longtemps mais c'est vraiment instructif.

Maintenant, il faut dire que de plus en plus on utilise des préprocesseurs CSS. L'un des plus connus est SASS, qui vient de passer en version 3.2. Vous trouverez pas mal de ressources sur le net, dont par exemple cette liste de mixins à garder sous le coude pour ne pas réinventer tout le temps la roue.

Misc

Et sinon, en vrac, voici une présentation sur le fonctionnement de github, Google qui prévoit d'arrêter le support d'IE8, une présentation sur la CLI. Voici également une explication du design de la page de status d'heroku

Graphisme & co

Voici un article réellement intéressant sur les couleurs. J'ai hésité un peu à le placer dans les liens de développement mais finalement il a plus sa place ici car traite du choix de couleurs à partir d'algorithmes. Un très bon article à lire, vraiment.

Je ne résiste vraiment pas à vous partager ce dessin réalisé au stylo à bille, c'est juste impressionnant !

Liste des liens présentés

Développement

Misc

Graphisme & co

2012 juil. 31

De tout, de rien, des bookmarks, du bla bla

Introduction

Un numéro de zappé, mais c'était pour la bonne cause : ma css linuxfr-solarized. Finalement ça prend plus de temps que prévu, donc moins de liens collectés. Et faut dire aussi que j'ai l'impression que pas mal de monde a commencé les vacances, donc beaucoup moins d'activité. Donc toute petite revue cette fois-ci, mais revue quand même.

Un peu de contenu

Développement

On commence directement avec du développement web. L'une des questions qui revient toujours est de savoir quelles sont les fonctionnalités supportées et disponibles pour un navigateur. Ce site, haz.io, ne vous renseignera pas sur le support pour l'ensemble des navigateurs, mais mettra en évidence ce que votre navigateur supporte. Et pour quasiment chaque fonctionnalité un lien vers les specs (ou draft) du W3C est réalisé, est ça c'est bien.

Toujours côté web, la fonction css calc() est désormais non préfixée. Enfin presque, c'est pour firefox 16. C'est une très bonne chose, c'est réellement une fonctionnalité intéressante pour le design web. Voici le bug chez mozilla. Cette fonctionnaltié existe aussi dans IE9, ce qui permet de l'utiliser (en rajoutant les bons préfixes) sur tout navigateur récent, IE >= 9, firefox et webkit.

Pour continuer les précédents numéro, un peu de coffeescript : j'ai découvert qu'on pouvait chainer les comparaisons :

Au lieu d'écrire ça

js value < 100 && value > 50

on écrit simplement

js 100 > value > 50

Mais pourquoi les autres langages n'ont pas ça ?

Une petite astuce toute simple pour ceux qui débutent avec git et qui ont peur des merges. En gros c'est l'utilisation des branches comme bookmark (pour une fois que je peux employer un terme hg en parlant de git ;-) ) pour pouvoir avoir un point de restauration si on se plante.

Je remonte également un lien trouvé dans un commentaire de nono sur les EBook : une lib javascript pour afficher des maths dans une page web. Entre autre chose une utilisation importante des polices de caractères, ce qui permet au rendu de suivre les zooms. Et ça c'est vraiment bien, bien mieux que n'importe quel plugin, mieux qu'une image, et même mieux qu'une image vectorielle finalement (ne serait-ce que parce que c'est toujours du texte). A avoir sous le coude si vous devez inclure des maths dans de l'html.

Comme vous l'avez probablement remarqué, je suis toujours en quête d'un bon outil pour gérer mes sources, mes bugs, mes code reviews, etc. Cette fois-ci je vous propose phabricator. Phabricator regroupe tout ça et même plus. C'est à la base un projet de facebook et ça me semble plutôt pas mal. Je suis justement en cours d'installation.

Actuellement j'utilise github, j'ai aussi des repositories sur baregit. J'ai aussi une instance de gitorious mais je n'en suis pas totalement satisfait (il manque pas mal de choses, même si le côté hébergement de source fonctionne plutôt bien). J'aimerais en fait pouvoir avoir une instance chez moi d'un équivalent (fonctionnel) à github et simplement avoir des miroirs des sources (pour alléger ma bande passante si certains veulent faire un clone).

Dans la liste des versions à tester, j'ai également gitlab qui vient de passer en version 2.7 avec pas mal de nouveautés.

Misc

Si vous êtes sous gnome, vous apprécierez peut-être ce client mail : Geary. Pour ma part je ne l'ai pas testé, mais il me semble plutôt sympa, au moins pour du mail "perso".

Vous aussi vous avez un site web ? Vous aussi vous stockez des mots de passe ? Alors ne faites simplement pas comme Tesco. Voici un article très intéressant vous rappelant plusieurs règles de sécurité à adopter, en prenant comme contre exemple Tesco. Faut dire qu'ils l'avaient un peu cherché en twittant :

Passwords are stored in a secure way. They're only copied into plain text when pasted automatically into a password reminder mail.

Qu'est ce qui motive les gens ? Les récompenses ? Leur donner le choix ? Les forcer ? Les autonomiser ? Voici un Ted talk plutôt connu dans lequel Dan Pink tente d'apporter quelques réponses : The surprinsing science of motivation. Et pour ceux qui ne le savent pas, le lecteur est plutôt bien fait avec entre autres de nombreuses transcriptions et traductions, liées à la vidéo.

Graphisme & co

Un lien sympa (parmi plein d'autres) pour savoir faire des formes en css.

Liste des liens présentés

Développement

Misc

Graphisme & co

2012 juil. 17

De tout, de rien, des bookmarks, du bla bla

Introduction

Je suis un peu en retard par rapport à ce que je voulais faire (boulot, changement, toussa), et au final j'ai pas trop de liens intéressants. Mais tant pis, voici la petite sélection de la semaine passée avec, je l'espère, tout de même quelques liens qui pourront vous intéresser.

Un peu de contenu

Développement

Voici une petite présentation de CoffeeScript. Si vous connaissez déjà le langage vous n'apprendrez rien du tout. Si vous ne le connaissez pas et connaissez javascript çar peut être intéressant. Entre autre ça pointe certains points négatifs de CoffeeScript et ça c'est bien (il est domage dans certaines prez de les masquer, connaître les limites est vraiment important je trouve).

C'est plus de la sécurité que du développement, mais voici un article intéressant et plutôt simple à lire concernant Stuxnet et ses mises à jour.

Voici encore un outil de code reviews, barkeep. Je ne l'ai pas testé, mais si quelqu'un a un comparatif / retour entre les différents outils existant (reviewboard, crew, etc) je suis preneur.

Oula, je ne pensais pas qu'on pouvait encore faire des migrations du genre : les ports de FreeBSD viennent de migrer de CVS vers SVN ! Hum, je comprend qu'on a pas forcément réellement besoin de plus que SVN (quoique...) mais je trouve étonnant de migrer vers SVN tout de même. Quelqu'un aurait des infos sur pourquoi SVN et par Git par exemple ?

Misc

Google a libéré les slides utilisées durant Google I/O. Evidemment (ou pas) il s'agit de slides à exécuter dans un navigateur web récent... sous webkit. Je n'ai pas vraiment essayé avec un autre, je ne sais pas trop ce que ça donne mais surtout je ne sais pas pour quelle raison cela ne pourrait pas fonctionner avec, par exemple, un firefox récent. Quoi qu'il en soit ces slides sont plutôt sympa, assez propres et claires. J'aime beaucoup le fait qu'on puisse ouvrir plusieurs fois le même document pour avoir l'un en plein écran (pour le public) et un autre avec les commentaires par exemple (un mode présenteur quoi). C'est vraiment un point intéressant pour le coup (la communication se faisant via postMessage). Ca semble également assez bien adapté à la présentation d'extraits de code. Plutôt bien quoi.

Là où je suis par contre plutôt surpris (mais bon, je ne devrais pas il est vrai) et qu'ils n'utilisent pas les différentes libs Google mais à chaque fois un équivalent :

C'est un peu étonnant, et j'ai parfois du mal à capter la logique. Surtout que si on continue a regarder ces points ont arrive entre autre jusque Yeoman, même si pour le coup j'attend un peu de voir et tester.

Pour rester sur le même sujet, il existe d'autres outils permettant de faires de présentations en HTML5. Entre autre, voici celui utilisé par nono (mais non je ne cherche pas à me faire bien voir, il n'a qu'à pas balancer des choses intéressantes :-) ) : Slide'em up. Il y a tout de même quelques différences. Entre autre je n'y ai pas vu de mode présenteur (j'affectionne particulièrement pour ma part), et c'est basé sur du Ruby. L'écriture des slides est égalemment réalisée en Markdown (c'est à priori aussi possible pour celles de Google). De ce que j'en ai compris, il s'agit par contre d'un fork de ShowOff avec des thèmes et surtout le remplacement de Sinatra par Goliath. De ce que j'ai compris il s'agit de serveurs web en ruby, Goliath étant asynchrone (un peu comme si on faisait du nodejs, non ?). Sinatra est plus un DSL et non un vrai serveur ? Si nono passe pas là je suis pas contre une explication de ce choix de remplacer l'un par l'autre. En fait juste pour bien comprendre les différences entre les deux et pourquoi c'est plus intéressant d'avoir Goliath dans ce cas que Sinatra.

Voici, beaucoup plus léger, une photo que j'ai vu passé sur twitter, peut-être vous aussi : good - cheap - fast. Une façon assez sympa de présenter trois catégories de réalisations, un peu comme le théorème CAP finalement.

Humans.txt est une initiative assez intéressante. Il s'agit de replacer un peu d'humain dans les sites web. On a par exemple des fichiers robots.txt pour parler aux moteurs de recherche. Là il est question d'un fichier qui, pour le coup, est destiné aux humains : déclaration des autheurs, des créateurs, remerciements. Par contre, j'ai pas bien compris la ligne IDE, je vois pas trop ce que ça vient faire dedans... Vous trouverez une explication sur le site robots.txt...

Graphisme & co

Si vous utilisez balsamiq pour faire vos maquettes d'interfaces, vous serez probablement ravis d'apprendre qu'il existe une nouvelle alternative, moqups. Il s'agit d'un outil assez similaire, en html (au lieu de flash/air) et qui plus est gratuit. Par contre, ça ne semble pas libre.

Liste des liens présentés

Développement

Misc

Graphisme & co