Stylus

Stylus c’est un préprocesseur CSS, c’est un outil informatique permettant de générer dynamiquement des fichiers CSS. En gros, la syntaxe simplifiée ou enrichie en entrée est analysée et compilée dans un langage que nous connaissons tous et que nous utilisons au quotidien : CSS.

Il en existe plusieurs et stylus fait partie des plus connus avec SASS et LESS, l’objectif étant de mieux structurer et  d’améliorer la clarté du code.

Stylus est donc l’un des préprocesseur les plus utilisé. Pourquoi le choisir plutôt qu’un autre?

Tout d’abord, il est plus rapide que quasiment tous les autres préprocesseurs, y compris SASS et LESS. De plus, il est très permissif sur la syntaxe (on peut choisir d’utiliser ou non « ;:{} »), il gère également les héritages (mixin) et scope les variables (c’est-à-dire que l’on peut choisir l’étendue de la portée d’une variable) ce qui permet au développeur de gagner en productivité.

Attention! A noter qu’un préprocesseur CSS ne remplace pas le CSS en lui-même, il faut continuer à le travailler.

Pour plus d’info vous pouvez aller voir la doc officielle de stylus: http://stylus-lang.com/

Yarn

Après mon dernier article sur NPM, je continue sur le même thème avec Yarn.

Yarn, c’est le petit nouveau parmi les « package manager » pour Node.js. (Petit rappel, les « package manager » ou gestionnaires de paquets en français permettent de simplifier la gestion des dépendances -voir l’article sur NPM pour plus de détails-).

Yarn est né de l’association de plusieurs entreprises, entre autre Google et Facebook. Il a vu le jour pour palier à plusieurs petits problèmes que les utilisateurs peuvent rencontrer sur NPM, comme par exemple sa lenteur.

L’avantage avec Yarn, c’est qu’il est en de nombreux points identiques à NPM au niveau de son infrastructure. Autres atouts de Yarn, sa rapidité (environ 40% en moyenne), le fait qu’il soit plus sécure et le fait qu’il sera toujours possible d’installer les bonnes versions de toutes les dépendances. De plus, il est compatible avec NPM et bower, ce qui signifie qu’au lieu d’avoir à gérer deux gestionnaires de paquets, tout peut se faire depuis Yarn.

Bien qu’il ne soit sorti que très récemment, Yarn a déjà prit énormément d’ampleur et sera d’ici peu une référence incontournable en matière de gestionnaires de paquets.

 

Si vous voulez aller y jeter un coup d’œil, voilà le site: https://yarnpkg.com/

Black Friday vs Cyber Monday ?

A cette période de l’année, chez nos amis les américains, un phénomène qui concerne des millions de personnes se propage à travers l’Amérique : le Black Friday.

Pour contextualiser, le Black Friday , le vendredi qui suit Thanksgiving,  est considéré comme le début des festivités pour le shopping à la saison de Noël. Les magasins ouvrent très tôt, ferment très tard, proposent des promotions hors normes, et plusieurs millions de consommateurs américains se font plaisir durant cette journée particulière.

Qui dit plusieurs millions, dit endurance physique. La foule se bouscule pour les produits à prix très réduit, on y perd nos mamies, mais on y trouve le bien qu’on attend depuis un petit moment. En France, le Black Friday se déroule principalement sur Internet, comme sur Amazon, Apple, Fnac… les amerlots, eux, attendant sagement le Cyber Monday pour faire leurs courses en ligne.

Que choisir entre le Cyber Monday et le Black Friday si on devait choisir?

Nous pouvons lister quelques avantages & inconvénients que ces 2 jours peuvent apportés :

Black Friday

Pour :

  • L’offre d’importante réduction sur les ordinateurs et autres bien pour les ménages.
  • L’opportunité d’essayer les habits ou de voir les produits avant l’achat.
  • Pas de frais de livraison.
  • Des promotions qu’on ne retrouverai peut être pas online.

Contre :

  • Se réveiller, si on habite aux Etats-Unis, à 4h du matins pour aller au magasin très tôt.
  • Et en cette période de l’année, on peut s’attendre à attendre dans le froid, à être serrer dans la foule, ne pas forcement trouver chaussure à son pied…

Cyber Monday :

Pour:

  • C’est plus rapide.
  • Des promotions plus importants si un produit ne se vend pas très bien.
  • Le shopping online offre des avantages que le Black Friday ne pourra pas égaler comme acheter depuis chez soi, depuis le boulot, depuis un endroit confort au lieu d’attendre dans le froid et se battre contre la foule.

Cons:

  • On peut rater l’opportunité de voir un produit spécifique avant d’entrer sa carte de crédit sur le site.
  • Plusieurs sites, donc potentiellement plus de produit, donc plus d’argent dépensé… A part si on se le permet.
  • Quand on shop en ligne, on est potentiellement en « compétition » contre le monde entier pour acheter le produit en premier, donc il faut pas hésiter !

Suivant les dispositions de chacun, certains préféreront l’un et d’autre l’autre… Pour ma part, shopper en ligne me semble moins épuisant, mais rappelons-le, un bon dev est un dev fainéant.

Node.js

Après 2 mois de formations, nous avons pu bien travailler sur de nombreux langages différents comme JavaScript, PHP, HTML, CSS etc. Mais aujourd’hui je vais vous parler de Node.js.

nodejs
Ce langage ou plutôt cette façon de construire notre site qui nous permet de créer des pages JavaScript directement sur notre serveur. Jusqu’à maintenant on créait des pages en PHP pour interagir avec notre serveur et ajouter du contenu non visible sur notre navigateur internet. Grâce à Node.js on peut faire la même chose mais en JavaScript au lieu du PHP habituellement utilisé.

Pourquoi utiliser Node.js plutôt que PHP ?

Premièrement : je tiens à préciser que Node.js ne supplante pas forcement PHP. Rien ne vous empêche d’utiliser les deux langages sur votre serveur.

Deuxièmement : Node.js est basé sur le moteur V8 de Google Chromium (Non ce n’est pas un moteur physique comme dans une voiture). Ce moteur est conçu par Google Chromium pour optimiser au mieux JavaScript. Ce qui rend Node.js bien plus performant que PHP depuis 2010.

Troisièmement : Node.js fonctionne de manière asynchrone. Et oui vu qu’il fonctionne de la même manière que JavaScript. Il permet d’exécuter plusieurs algorithmes en même temps sans avoir besoin que l’une se finisse pour passer à l’autre. Encore du temps de réponse gagné et donc par conséquence un gain de performance non négligeable lors de la création de gros site web.

Dernièrement : Node.js c’est du JavaScript mais coté serveur donc il s’écrit exactement comme JavaScript. Si vous faites déjà pas mal de JavaScript pour dynamiser vos pages web coté client, vous ne serez pas dérouté de l’écrire coté serveur.

fonctnodejs

En gros Node.js peux très bien remplacer PHP sur notre serveur pour créer des site web ou des applications qui doivent répondre à de nombreuses requêtes rapidement et efficacement, en temps réel comme pour des sites de tchats ou encore de d’uplaod. Car le site n’attendra pas que le téléchargement du fichier ou dossier coté serveur soit terminé pour faire d’autres instructions.

Enfin si vous voulez commencer à utiliser Node.js pour vos applications ou votre site, je vous conseille d’aller sur le site de Open Classrooms : https://openclassrooms.com/courses/des-applications-ultra-rapides-avec-node-js/installer-node-js
Il vous explique très bien la démarche à suivre.

Sources :
Open Classrooms
Blog : PHP vs Node.js
Blog: Retour sur le passage de php à Node.js/
Wikipedia Node.js
Wikipedia V8 (moteur JavaScript)

Notre capacité de réflexion

Bienvenue sur notre blog. Parlons de l’influence qu’ont les langages de programmation sur notre réflexion à un problème.

“Programming languages have a devious influence: they shape our thinking habits.” – Dijkstra

Djikstra est un informaticien à l’origine de l’algorithme du même nom. Son algo permet de solutionner le problème du plus court chemin dans un graphe. (Culture général)

Chaque langage de programmation à sa structure et sa propre façon de solutionnée un problème, on parle là de paradigme. Ceux sont ces aspects qui influenceraient nos pensées et qui limiteraient inconsciemment notre créativité.

Voici quelques paradigmes : la programmation orienté objet, la programmation fonctionnelle, la programmation impérative, etc… Ces paradigmes posent la façon de formuler une solution à un problème.

Du coup d’après Sharon Fisher éditrice du blog Simplicity 2.0, le premier langage de programmation appris ou votre langage de programmation préféré peuvent changer votre manière de penser et vous inculquer certaines habitudes de programmation.

Voilà ce qui m’a semblé intéressant c’est qu’à l’inverse si un langage de programmation ne supporte pas le concept qui vous permettrait de résoudre votre problème. Vous serez alors dans l’incapacité de trouver une solution. Sharon conclut donc ici que « nos pouvoirs créateurs sont limités par les idées qui peuvent être exprimées dans le langage de programmation que nous utilisons » et certaines solutions sont tout simplement « hors de notre portée parce qu’elles ne peuvent pas être clairement exprimées dans ces langages ».

Finalement, n’est-il pas mieux de faire abstraction des langages appris afin de laisser libre court à notre créativité lorsque l’on veut résoudre un problème. En tout cas, j’essaierai.

Et par la même occasion on peut se dire que notre langue maternelle influence notre façon de pensé, et que tout comme un langage de programmation elle a ses limites. Et du coup, je pense que c’est à ce moment là que l’on a besoin des maths.

Je vous dis à bientôt pour toujours plus de contenus.

Source : La-capacite-de-reflexion-d-un-programmeur-serait-influencee-par-son-premier-langage

The SVG CAT black_cat_black_and_white

black_cat_black_and_whiteSalut, je suis un chat récurrent de l’internet. Ma spécificité est que j’existe grâce à la combinaison de formes planes et de segments ajustables et sauvés au format vectoriel SVG. Mes formes sont ainsi directement éditables avec Adobe Illustrator, Inkscape et Gimp. Je deviens même interactif après le rajout d’actions dans le code source. J’ai l’avantage d’être plus léger que mon copain PNG mais légèrement plus lourd que le SVGZ.
black_cat_black_and_whiteHello, my name is CAT and I am a SVG image which means that I have been created with plane forms and line segments finally saved into the vectorial format SVG. My forms have been created and can still be edited using Adobe Illustrator or open source softwares such as Inkscape and GIMP. As such, the SVG format allows the user to modify forms, colors and add interactivity with direct actions on the source code. Plus side, I am much lighter than my friend PNG but slightly heavier than the SVGZ format.

Bien que je sois super célèbre, on ne m’a pas officiellement donné les droits d’entrée sur le site WordPress de l’ACS.
However, and even if I am super famous on the web, I haven’t been given the rights to stay here.

Pour me rencontrer, suit le lien suivant et CLIQUE SUR MON NEZ! 
You can still meet up with me by following this link and do not forget to CLICK ON MY NOSE!

 

black_cat_black_and_white

 (Sorry currently not working on bloody Internet Explorer but fine on all other browsers and on mobiles!)

SOURCE: https://github.com/jubry/ACS/tree/master/Atelier

PS: if interested, be quick to download the elements as I am not quite sure how long these are going to seat there?!

La flute, les métiers à tisser et votre processeur à 48 cœurs…

Quel rapport puisque, comme tout le monde le sait, l’invention et les avancées de l’informatique sont principalement liées aux guerres et aux besoins que nous avions de décoder des langages chiffrés et de diriger des missiles ?

Peut-être que le lien est bien plus subtile et amusant que vous ne l’imaginez. Il ne faut pas exclure les avancées technologiques que les guerres ont nécessitées, cependant il est possible de raccrocher l’histoire de l’informatique à des évènement bien plus heureux et sensibles.

Une flute, objet servant à faire vibrer des molécules pour générer un son, fabriquée par l’homme des cavernes à partir des ossements d’une créature préhistorique, apportait-elle un quelconque avantage au niveau de la survie ? C’est peu probable, et c’est pourtant une réalité : nos ancêtres choisissaient parfois de créer des objets non pas parce qu’ils leurs permettaient de rester en vie ou de se nourrir, mais simplement parce qu’ils étaient amusants ! Et de manière encore plus intéressante, beaucoup de ces objets « futiles » ont été à l’origine de grandes avancées dans nos sociétés.

En version accélérée, la flute donna naissance à l’orgue qui lui-même donna vie au clavecin puis au piano jusqu’à ce qu’un jour, quelqu’un ait l’idée improbable de produire autre chose que des notes de musiques en appuyant sur les touches du clavier, et inventa la machine à écrire (aussi nommée « the writting harpsichords » ou « clavecin à écrire »). Parallèlement il y a 1000 ans de cela, 3 frères vivant à Baghdad décidèrent de créer un orgue automatique, capable de jouer une partition de musique inscrite sur un cylindre métallique (l’équivalent grand format des boites à musiques que nous connaissons encore de nos jours). Il s’agissait d’un grand pas en avant puisqu’il suffisait alors de changer le cylindre pour changer de partition … ca vous rappelle quelque chose ? On vous a déjà parler de variables et de fonctions ?

En vérité, c’est la musique qui a permis à l’idée des « machines programmables » de rester vivace pendant environ 700 ans. C’est en France, durant les années 1700 que le système se perfectionna avec les « automates », jouets pour l’élite Parisienne de l’époque. C’est un inventeur Français du nom Jacques de Vaucanson qui eut l’idée d’utiliser le procédé afin de demander à une machine de tisser des motifs avec du tissu. L’idée fut ensuite reprise par un autre Français, Joseph Marie Jacquard, qui améliora l’invention de Vaucauson en remplaçant les cylindres métalliques par des cartes de papier perforé. Dois-je vous montrer une photo des premiers ordinateurs et de leur mode de fonctionnement ? Souhaitez-vous que je google ça pour vous ?

 

Bref, vous l’aurez compris, les guerres ne sont clairement pas les seules responsables de nos avancées technologiques, et certainement pas responsables à elles seules de la création de l’ordinateur. En vérité si l’on prend encore un peu de recul, on voit par le biais de cette histoire que la nécessité n’est pas mère de toute invention. Comme disait Einstein « play is the highest form of research ». Le jeu est à la base des inventions qui ont forgées notre évolution et nos sociétés.

Il s’agit d’un sujet qui me tient énormément à cœur et que je développerai peut-être dans un prochain billet de blog, mais en attendant je peux vous laisser avec une excellente référence si vous vous intéressez au sujet : « On the Origin of Stories » de Brian Boyd est un des livres les plus intéréssant qu’il m’ait été donné de lire sur le sujet de l’évolution humaine en parallèle de son besoin de fiction et de jeu.

 

ref – TED talk qui m’aura inspiré cet article de blog.

NPM

NPQuoi? NPM pour Node Package Manager (ou pas!)

 

Qu’est-ce donc? A quoi ça sert?

Excellente question, puisqu’il s’agit d’une découverte pour moi aussi.

En fait, c’est le gestionnaire de paquet officiel de NodeJs. Ça permet de trouver, de partager et d’utiliser des librairies (telles que JQuery, Bootstrap…). Ici, les librairies sont appelés « modules », il y en a plusieurs dizaines de milliers de disponible . Il est très utilisé par les développeurs.

 

Comment ça fonctionne?

Il y a une convention d’écriture à respecter pour pouvoir l’utiliser de façon optimale:

Il faut créer un dossier nommé « node_modules » qui permettra d’appeler les différents modules téléchargés.

Cela permettra d’intégrer facilement les différents modules téléchargés dans notre code.

De plus, gros atout, il gère les dépendances, c’est-à-dire que si un module à besoin d’un autre module pour fonctionner, NPM ira le télécharger automatiquement.

Aller y jeter un coup d’oeil: https://www.npmjs.com/

Pour continuer sur le même thème, le prochain article parlera de Yarn! ;)

 

Les flux RSS !?

Bonjour, aujourd’hui je vais vous parler des flux RSS et de leurs utilités.

rss-feeds-symbole-d-39-interface-ios-7_318-33538

Que ce qu’un Flux RSS ? 

Un flux RSS est une ressource Web dont le contenu est généralement produit automatiquement en fonction des mise à jour faites sur un site web.

Mais comment est ce que sa marche ?

Les flux RSS permettent de rester toujours au courant avec l’actualité des sujets qui nous intéressent, ils fonctionnent généralement avec ce qu’on appelle un agrégateur ou un lecteur de flux, ceux ci permettent d’afficher toute les dernières actualités dans une même fenêtre.

Imaginer que vous suiviez une dizaine de site d’infos diverses, le temp perdu à rechercher chacun des articles dans chaque site, sans parler des temps de chargements des pages, le temp perdu est juste considérable.

flux

Netvibes permet d’afficher tout les flux RSS que je suis et de les afficher.

Dans mon cas j’utilise un site appeler Netvibes qui me permet de faire ma veille beaucoup plus efficacement et rapidement.

en somme le flux RSS est juste un incontournable pour récolter de l’information.