Mensuel Shaarli

Tous les liens d'un mois sur une page.

February, 2017

Le RSI à été condamné.. enfin! … – Les moutons enragés

Pour toi DOUDOU !!!

SOAT Blog » Une autre manière d’écrire du code asynchrone en Javascript

Outch ! Je peux vous assurer qu'entre la programmation asynchrone, les générateurs, les itérateurs, les call-backs imbriqué et le mot-clef yield (qui à mon sens est un goto déguisé), cela va être de plus en plus compliqué d'appréhender JS pour le chaland.

Il faut vraiment s'y mettre maintenant, dans deux ans il sera trop tard.

Un tuto d'optimisation de Linux Mint par Sebsauvage

J'ai repris certains points comme les DNS de FDN, merci Seb.

Automates et Grammaire - PDF

Je suis en train de me remettre au parser / lexer. Cette article (enfin ce cours en PDF) reprendre à partir de la page 47 les techniques de réductions d'automate à état fini qui peuvent parser des grammaires hors contexte.

Je le bookmark pour mémoire.

Élection présidentielle 2017, Sondage en temps réel....Présidentielle 2017, liste des candidats 2017, sondages sur les candidatures à l'élection ...

A tout ceux qui ne connaissent pas encore candidat-2017, ce site propose aux internaute de voter pour un candidat afin d'avoir une vraie statistique, une qui soit vraiment représentative.

#Asselineau2017 est en tête malgré l'absence de diffusion dans les grands médias. Je vous invite à vous renseigner sur ce parti et à comprendre pourquoi il fait mieux dans ce sondage que tous les autres candidats et ceci depuis 1 mois ! (le sondage est réactualisé tous les jours).

Pulvérisation aérienne - Ciel Voilé

Les chemtrails (pour chemical trails, ou épandage chimique en français) est une thèse exprimant l'idée suivante : la pollution planétaire a déjà atteint un seuil critique et pour la compenser, on utilise la science de la géo-ingénierie qui consiste en des épandages de nano-particules diverses (mais notamment d'argent) afin de minimiser l'entrée des rayons solaires dans l'atmosphère. Ceci évite donc aux industries du pétrole de cesser leurs activités plus que rentables.

Ici, une vidéo d'un avion qui vole pépère puis d'un coup d'un seul, se met à condenser de l'eau en plein ciel bleu. Cela n'étant pas normalement possible à ma connaissance (surtout avec un tel volume), l'hypothèse probable - si la vidéo n'est pas un fake - et qui vient juste ensuite est celle de l'épandage.

Je ne révoque pas la thèse des chemtrails, mais tant que je n'ai pas la réponse à la question : à qui profite le crime ? Je préfère modérer mes propos à ce sujet. En tout cas, la vidéo est assez parlante. A vous de voir pour la suite.

Configurer un proxy pour APT-GET et APTITUDE

Deux choses que j'ai dues faire de mon côté :

1) Définir les variables suivantes dans votre fichier ~/.profile :

LOGIN="votre login"
PASSW="votre password"
PROXY_HOME="l'url du proxy"
PROXY_PORT="8080"
PROTOCOL="http:"

# En version HTTP (minuscule et majuscule car il faut les deux parfois) :
export http_proxy="${PROTOCOL}//${USER_LOGIN}:${USER_PASSW}@${PROXY_HOST}:${PROXY_PORT}"
export HTTP_PROXY="${PROTOCOL}//${USER_LOGIN}:${USER_PASSW}@${PROXY_HOST}:${PROXY_PORT}"

# En version HTTPS (minuscule et majuscule car il faut les deux parfois) :
export https_proxy="${PROTOCOL}//${USER_LOGIN}:${USER_PASSW}@${PROXY_HOST}:${PROXY_PORT}"
export HTTPS_PROXY="${PROTOCOL}//${USER_LOGIN}:${USER_PASSW}@${PROXY_HOST}:${PROXY_PORT}"


2) Ouvrir ou créer le fichier /etc/apt/apt.conf.d/proxy et y coller la ligne :

# ATTENTION, j'ai ajouté deux espaces entre "http:" et "//" parce que mon parser markdow faisait du caca. Ces espaces sont à supprimer
Acquire::http::Proxy "http:  //USER_LOGIN:USER_PASSW@PROXY_HOST:PROXY_PORT";
L’imposition des dividendes en 2016

Une explication de la fiscalité sur les dividendes en SAS

HTML5 - Le stockage local (local storage) du navigateur

Je cite:

En JS, utiliser le stockage local :

Écrire du contenu dans une "variable" « foo » :

var data = "bar";
localStorage.setItem('foo', data);

Lire la variable « foo » :

var data = localStorage.getItem('foo'); // contains "bar"

C’est tout !

JavaScript bootstrap : comment installer et configurer NodeJS & NPM ?

Le petit rappel qui va bien :


NodeJS c'est quoi ?

NodeJS est une machine virtuelle capable d'exécuter des applications écrites en JavaScript côté serveur ; avec la capacité de démarrer un serveur web, de se connecter à une base de données, d'écrire sur le disque, etc. NodeJS est basé sur le moteur JavaScript développé pour WebKit et fournit sa propre implémentation du standard ECMAScript 6 (aka. ES2016), c'est-à-dire la dernière version standardisée de JavaScript en ce début 2017.

NPM c'est quoi ?

NPM est le gestionnaire de dépendances/paquets de NodeJS. Il est founi avec l'installation de NodeJS et utilisé par les développeurs pour télécharger, installer et exécuter l'ensemble des dépendances transitives de leurs projets JavaScript.

NPM peut :

  • Gérer les dépendances pour les librairies s'exécutant côté client.
  • Gérer les dépendances pour les librairies s'exécutant côté serveur.
  • Exécuter des commandes dans la syntaxe du shell courant (et donc toutes les commandes figurant dans le path du-dit shell).

Comment qu'on setup toussa ?


1) Télécharger la dernière version (stable de préférence) de NodeJS

  • La dernière version LTS (pour Long Term Support) est disponible ICI.
  • Veillez à choisir la version compatible avec votre système, c'est-à-dire OS + architecture (32 ou 64 bits).

2) Installer NodeJS

Décompresser le tar.gz téléchargé dans un répertoire dédié, par exemple /tools/apps/nodejs-6.9.1.

Modifier votre fichier ~/.profile ou au choix ~/.bashrc comme suit :

  • Créer la variable d'environnement $NODE_HOME
    export NODE_HOME="/tools/apps/nodejs-6.9.1"
  • Ajouter le sous-répertoire $NODE_HOME/bin/ dans votre path système :
    export PATH="$PATH:$NODE_HOME/bin"
  • Veillez à bien enregistrer les changements et redémarrer votre console si vous avez modifié le fichier ~/.bashrc et votre session pour le fichier ~/.profile.
  • Hop vous avez à présent NPM et NodeJS disponible sous les commandes npm et node depuis un shell.

3) Configurer NPM

N.B : Dans la suite, le répertoire /tools/repositories peut en réalité être celui de votre choix. Moi je stocke tout dans /tools (en fait dans /opt/tools mais on s'en fiche).

  • Nous allons dire à NPM où stocker les versions zippées des librairies qu'il a téléchargé, pour cela il faut ajouter/modifier la ligne suivante dans le fichier ~/.npmrc.
    cache="/tools/repositories/npm/cache"
  • Ensuite nous allons indiquer à NPM où décompresser les librairies télécharger au point précédent en ajoutant au fichier ~/.npmrc
    prefix="/tools/repositories/npm/modules"
  • Modifier votre fichier ~/.profile ou au choix ~/.bashrc comme suit :
    export NPM_MODULES="/tools/repositories/npm/modules"
    export PATH="$PATH:$NPM_MODULES/bin"
  • Et encore une fois veillez à bien enregistrer les changements et redémarrer votre console si vous avez modifié le fichier ~/.bashrc et votre session pour le fichier ~/.profile.

4) Dis-nous comment ça marche en moins de 60 secondes ?

## Télécharger un outil et l'installer dans le répertoire global contenant les modules, par exemple Gulp :
npm install -g gulp

## Exécuter Gulp en tapant
gulp --version

## Télécharger un outil et l'installer uniquement pour votre projet (i.e dans le sous-répertoire ./node_modules):
npm install --save-dev gulp

## Exécuter Gulp en tapant
./node_modules/gulp/bin/gulp --version

## NDR : des fois il faut taper ceci à la place
node ./node_modules/gulp/bin/gulp.js --version

## Installer une librairie en tant que dépendance de votre projet (elle sera mise dans le répertoire ./node_modules).
npm install -save aurelia-framework

## Installer une librairie qui ne sera pas livrée avec votre projet (par exemple un framework de test) :
npm install --save-dev jasmine

Et voilà en prime le lien vers le site officiel de NPM :D

Exact Instructions Challenge - THIS is why my kids want to kill me. - YouTube

Une vidéo trouvaille : demandez à vos enfants de vous écrire les instructions pour faire deux tartines pain / beurre de cacahuètes / confiture et exécutez ces instructions comme le ferait un ordinateur (c'est-à-dire sans pré-requis cognitifs).

Excellente idée pour apprendre à vos enfants le principe de l'algorithmie. Spéciale casse-dédie ma regrettée Noëlle qui m'apprit ce principe avec un robot devant déposer une balle dans un panier.

Comme quoi, certains enseignants vous marqueront pour votre vie.

Booster les performances de Firefox et Thunderbird sur clef USB

En mettant la propriété :

# Pour Firefox :
browser.cache.disk.parent_directory="/tmp/cache/mozilla/firefox"

# Pour Thunderbird :
browser.cache.disk.parent_directory="/tmp/cache/mozilla/thunderbird"

Ne fonctionne que si /tmp est monté dans la ram biensûr !

TypeScript : compiler configuration

Voici ma configuration pour le compilateur TypeScript à mettre dans le fichier tsconfig.json. La première à destination de la production (avec beaucoup de check et de contraintes) et la seconde à destination du mode développeur (qui autorise plus de chose afin d'exécuter les tests en continue) :

PROD configuration :

{
    "compilerOptions": {
        // BUILD GLOBAL OPTIONS : 
        "module": "commonjs",
        "outDir": "./target/js",
        "sourceMap": true,
        "target": "ES5",                // The aimed JS version (ES5, ES2016, ES2017 or ESNext

        // BUILD OUTPUT :
        "diagnostics": true,
        "pretty": true,

        // ENCODING
        "charset": "utf8",              // The targeted file encoding
        "newLine": "lf",                // File will use Line Feed as EOL character (Unix format)

        // COMPILER BEHAVIOR :
        "allowJs" : false,              // Allow JS syntax
        "preserveConstEnums": true,     // 'const enum' are kept in generated code
        "removeComments": true,         // Comment removed from transpiled code

        // COMPILER ENFORCING :
        "noImplicitAny": true,          // 'any' type is mandatory
        "noImplicitThis": true,         // Forbien to mix 'any' and 'this' in the same expression
        "noImplicitReturns": true,      // Raise error is a 'return' is missing in part of a function
        "noUnusedLocals": true,         // Report errors on unused locals
        "noUnusedParameters": true      // Report error on unused parameters
    },

    "include": [
        "./src/main/**/*"
    ]
}

DEV configuration :

{
    "compilerOptions": {
        // BUILD GLOBAL OPTIONS : 
        "module": "commonjs",
        "outDir": "./target/js",
        "sourceMap": true,
        "target": "ES5",                // The aimed JS version (ES5, ES2016, ES2017 or ESNext

        // BUILD OUTPUT :
        "diagnostics": true,
        "pretty": true,

        // ENCODING
        "charset": "utf8",              // The targeted file encoding
        "newLine": "lf",                // File will use Line Feed as EOL character (Unix format)

        // COMPILER BEHAVIOR :
        "allowJs" : false,              // Allow JS syntax
        "preserveConstEnums": true,     // 'const enum' are kept in generated code
        "removeComments": true,         // Comment removed from transpiled code

        // COMPILER ENFORCING :
        "noImplicitAny": true,          // 'any' type is mandatory
        "noImplicitThis": true,         // Forbien to mix 'any' and 'this' in the same expression
        "noImplicitReturns": true       // Raise error is a 'return' is missing in part of a function
    },

    "include": [
        "./src/main/js/**/*"
    ]
}
Comment rédiger la déclaration 2777-D-SD pour rémunérer ses dividendes en SAS

Je cite :

En principe, le prélèvement fiscal de 21 % doit être effectué par la société dans tous les cas dès lors que l’associé est une personne physique.

Toutefois, il est prévu que les associés qui appartiennent à un foyer dont le revenu fiscal de référence de l’avant-dernière année est inférieur à 50.000 € (contribuables célibataires, veufs ou divorcés), ou à 75.000 € (couples soumis à imposition commune), peuvent demander, sous leur responsabilité, à être dispensés du prélèvement fiscal de 21 %.

A cet effet, ils doivent remettre chaque année à la société, avant le 30 novembre de l’année précédant celle du paiement, une demande de dispense de ce prélèvement.

A noter : seuls peuvent donc être exemptés du prélèvement fiscal de 21 % cette année, les associés qui ont remis à la société une dispense de paiement de ce prélèvement avant le 30 novembre 2014.

En pratique, cette demande doit prendre la forme d’une attestation sur l’honneur dont nous vous proposons le modèle suivant :

Par exemple :

Pour les dividendes :

  • De l'exercice fiscal 2016
  • A se verser en 2017

Si mon revenu fiscal de référence de 2015 est :

  • Inférieur à 50 000 € pour une personne seule.
  • Inférieur à 75 000 € pour un coupe.

Alors je dois remettre une attestation sur l'honneur à ma société exprimant le fait que je suis exempté de verser l'accompte de 21%.

=> Le modèle est disponible ici.

NPM versus Yarn - the epic fight for speed in Continuous Integration in Stapp.space

Un benchmark en Yarn et NPM qui montre que Yarn "ça trou le cul !". Yarn est vraiment plus rapide que NPM d'un facteur 2,5 à 25 !

Which hashing algorithm is best for uniqueness and speed? - Software Engineering Stack Exchange

Quel est la meilleure fonction de hachage à utiliser pour des hashmap ?

7 raisons pour lesquelles tant d’hommes ne comprennent pas le consentement sexuel – Vous n'êtes pas ici

Woaaa. Anne ce post est pour toi !

SpaceVim - Use Vim As A Java Ide

Quand Vim se transforme en IDE Java. C'est juste ouf !

Je me réponds à moi-même sur un post de 10 ans !

Chers amis, en 15 années j'ai changé. Incroyablement changé. Pour ceux qui ne le savent pas, je suis passée de libertarienne (droite ultra-uber-néo-libérale) à anarchiste (absence d'état, respect individuel maximal, généralement à l'extrême des extrêmes gauche) - même si j'ai toujours eu un penchant naturel pour l'anarchie ; qui n'est pas le chaos je le répète. Vous trouverez ci-dessous un article qui date de début 2007 où la chroniqueuse parle du programme de la LCR.

En normal vous trouverez mes commentaires de l'époque et en gras mes réponses à mes propres commentaires maintenant que ma compréhension de la plupart des sujets n'est plus la même.

Votre serviteuse ayant passé son dimanche à décrypter le programme de la LCR pour incrémenter les dossiers de fond de ce site (au passage merci de nous lire!), elle a eu envie de vous faire partager en "guest news" quelques perles - en attendant que vous alliez développer votre connaissance du petit révolutionnaire illustré en cliquant sur le visage de notre facteur préféré dans le carré VIP à votre droite, oui juste là c'est ça.

Comme diraient qui vous savez, "mettons nous en situation".

Mai 2007: la France devient LCR. Ca ressemble à quoi ?

On commence doucement:

on se dirige tranquillement vers une généralisation des 35, 32, et enfin 30h par semaine pour tous.

En même temps c'est leur credo, donc je trouve ça normal.
La situation actuelle est qu'il y a un marché du travail. Cela signifie que l'on considère l'emploi comme un produit qui s'échange et dont le salaire correspond à au prix de ce produit. Il y a donc un arbitrage entre l'offre d'emploi et la demande d'emploi.

Notre économie, à cause entre-autre de l'automatisation complète des postes et des moyens de production, se dirige inexorablement vers un chômage de masse ; il y a de plus en plus d'emplois qui sont robotisés (caissière, conducteurs, manutentier dans les entrepôts, etc). En conséquence, augmenter le nombre d'heures de travail par semaine, revient à augmenter le nombre d'heures de travail réclamé alors que la demande en heures de travail par semaine diminue. Sauf que dans une économie où il y a un marché de l'emploi, l'augmentation de la demande par rapport à la baisse de l'offre cela va intrinsèquement conduire à réduire les salaires. Et c'est là que le clash avec le SMIC rentre en jeu. Soit il faudra abandonner le SMIC, soit les entreprises n'embaucheront plus (car main d’œuvre trop chère par rapport au coût d'un robot).

on réévalue les salaires des femmes

Là encore si c'est dans les filières où nous gagnons moins pour la même activité, c'est normal.
Nous gagnons toujours 25 % de moins que les hommes à emploi et qualification équivalente en 2017. En dix ans rien a changé. Je suis restée consistante avec moi-même :)

tout le monde gagne au moins le SMIC, qui est à 1500 €.

La LCR parle du SMIC brut, du coup ça ne fait que du 1250 € net. Du coup même si c'est cher à payer, c'est moins provocateur.
**Alors dans les faits, 1500 € brut reviennent à du 1150 € net et non 1250 € (je n'étais pas entrepreneuse à l'époque, donc je ne pouvais pas le savoir). Et le SMIC est passé à 1480 € brut depuis le 1er janvier 2017 donc nous y sommes presque. Pourquoi la LCR souhaitait avancer cette augmentation de 10 ans ? Simplement parce que la théorie du ruissellement ne fonctionne pas. Je m'explique, cette théorie (sur laquelle s'appuie le FMI au passage) dit qu'un riche qui gagne beaucoup va dépenser beaucoup, que ces dépenses vont aller dans des entreprises qui vont payer beaucoup de salaires. En somme que l'argent ruisselle naturellement du riche vers le pauvre.

Sauf que dans les faits, le riche épargne comme un porc (à hauteur de 25% en 2010 pour les deux derniers déciles contre moins de 5% de leur revenus pour les quatre premiers déciles), et que l'hyper-riche non seulement joue cet argent en bourse, mais lorsqu'il le dépense auprès d'une société, il s'agit en général de la sienne, et donc ce même argent lui revient une seconde fois sous la forme de dividendes.**

Pour le lulz voici la théorie du ruissellement en une image.

Je rappelle qu'au 1er janvier 2017, les 8 individus les plus riches détiennent autant que la moitié des individus les plus pauvres sur Terre !

tout le monde a droit à une retraite complète dès 60 ans et 37,5 annuités.

De toutes façons vu qu'on ne pourra pas payer les retraites tant qu'à faire autant y aller à fond, on s'en fou après tout.
J'ai dit une énorme bêtise là. À l'époque, Rafarin nous disait que c'est le nombre d'actifs qui paie la retraite du nombre de passifs. Un exemple, en 1970 nous avions 3 jeunes qui payaient pour 2 vieux. 3 > 2 donc ça marche. En 2007 nous avions 3 jeunes pour 4 vieux, 3 < 4 on voit bien que ça ne marche pas. Oui mais sauf que non. En réalité, c'est la richesse produite par les actifs qui paie la retraite des vieux. Et les actifs de 2007, avec les robots et l'informatique (bref, avec l'automatisation à outrance des moyens de production) les actifs de 2007 produisent plus que ce que les actifs de 1970 ne produisaient (je crois que c'est 2 fois).

A ce moment nous avons l'équivalent de 6 actifs qui paient la retraite de 4 vieux, ce qui nous ramène à une fraction du type 3 pour 2 et comme en 1970, et là ça marche. J'ai cru à l'époque à ce que la télé me disait, elle cette télé nous racontait à tous un mensonge d'état qui servait les intérêts des plus fortunés.

les études sont gratuites pour tous et chaque jeune touche, de 16 et 25 ans, une allocation indépendance de 1000€ par mois

Ça ma fait marrer ! Je sais qu'il y a un effet Tanguy, mais faudra trouver l'argent pour nous payer. Quand on connaît la suite cette idée est encore plus comique.
Entre 1905 et 2007, la part de la richesse récupérée par les actionnaires des grandes entreprises est passé de 5 % à 35 % (bientôt 40% en 2017). Cela revient au fait qu'au début du 20-ième siècle, les patrons se payaient au plus 20 fois le salaire du plus pauvre de leurs ouvriers, aujourd'hui le ratio moyen est de 350 fois...

Je repense à cette phrase d'un ami : "mais que font ces riches de plus que moi tous les jours pour mériter un tel salaire ? Ils se lèvent, n'ont même pas à aller taffer, ils mangent, ils chient..." 20 fois, de nos jours ferait du 25000 € net d'impôt par mois, je pense que c'est raisonnable et que si l'on souhaite une société plus juste (attention, pas une société égalitaire mais uniquement plus juste car je crois toujours que nous ne sommes pas égaux - et pas au sens racisme du terme ! Au sens intelligence, état physique, paresse, handicap, etc) alors ce ratio apparaît comme correct.

les transports en commun sont (rendus gratuits et) développés, de même que les gardes d'enfant, les enseignements artistiques, la gratuité des soins médicaux ……….

Le point positif c'est qu'il n'y aura plus de fraudeurs dans le train. Olivier aurait-il trouvé la solution à la délinquance ?
Nous avons un enjeu environnemental considérable et depuis 30 ans. Augmenter le prix des transports en commun qui sont plus contraignant qu'un véhicule personnel revient à augmenter le nombre de véhicules. Si les transports sont gratuits, entre payer pour se déplacer avec sa voiture qui pollue et ne pas payer pour se déplacer en RER qui pollue littéralement 400 fois moins, c'est crucial. Il y a des choses non-négociables, protéger l'environnement permet la survie de l'espèce et il n'y a plus de profit à faire si l'on est tous morts.

tous les sans papiers sont régularisés , tous les résidents ont droit de vote et d'éligibilité.

Quand je pense que la LCR insistait sur le NON à l'Europe afin (notamment) de conserver son indépendance décisionnel politique.
Encore une fois j'ai cru à un mensonge d'état. L'Union Européenne n'est pas l'Europe et l'on nous racontait que l'UE luttait contre les guerres et contre le racisme et qu'en étant dans l'UE nous étions plus fort et donc plus indépendants.

En réalité l'UE nous prive :

  • De la création monétaire (article 123 du TFUE - la France ne peut plus battre sa monnaie et la monnaie française publique est créée au moment du crédit par les banques privées).
  • Du pouvoir Législatif (article 121 du TFUE - il y en a d'autre).
  • Du pouvoir Judiciaire (la Cassation française demande à présent conseil sur ces verdicts auprès de la CJUE - Commission de Justice de l'Union Européenne).
  • Du pouvoir Exécutif (nous ne décidons plus des interventions militaires française car faire parti de l'UE oblige à faire parti de l'OTAN où le corps d'armé est au service de la direction de l'OTAN. Impossible donc de protéger les intérêts nationaux).

Bref, sortir de l'UE est justement ce qui nous permettrait de redevenir indépendant. Et en ce qui concerne le droit de vote aux étrangers résidents, c'est ce qui était le cas lors de la rédaction de la constitution française de 1789 car nombre d'étrangers nous avaient aider à chasser la monarchie. Mais là encore je n'étais pas instruite.

on limite le nombre et interdit le cumul des mandats

Je suis tout à fait d'accord. Ça c'est bien.
En 10 ans je suis passé de "interdiction de cumul des mandats" à "élu une seule fois dans toute sa vie puis adieu au bonhomme".

attention ça se corse (comme dirait Napoléon…. Je sais c'est naze…. que ceux que ça fait rire et qui se reconnaîtront s'auto-jettent la première pierre) :

Il n'y a plus de TVA sur les biens de première nécessité, et à terme plus de TVA du tout (en tant qu’impôt injuste car identique pour tous: ce qui est techniquement exact)

Sachant qu'il me semble que 60% des ressources de l'état proviennent de la TVA, on remplace ça comment ?
Les biens de première nécessité sont l'eau, la nourriture et quelques trucs (savons, tampons, serviette, etc). Bref c'est du droit à la vie. Sachant que nous aurons récupérer 35% des 40% de dividendes que se versent les hyper-riches, la TVA n'est plus un problème. Bref, la LCR est consistante sur ce point, moi je n'avais pas creusé mon argumentaire.

la dette de l'Etat est déclarée "annulée"

J'en connais qui vont apprécier... En vrai déclarer que l'argent qu'on doit à autrui, eh bien on ne le lui doit plus, j'appelle ça du vol ! Ni plus ni moins.
Une fois encore, je ne savais pas que l'État ne pouvait plus battre sa monnaie à taux zéro et était obligé de l'emprunter via une obligation ou un crédit, au-dessus du taux de l'inflation, et à des banques privées. En clair que la monnaie publique était en réalité une monnaie privée. De plus je ne savais pas que lorsqu'une banque faisait un crédit à quelqu'un, elle créait la monnaie qu'elle prêtait comme un faux-monnayeur fabrique de la fausse monnaie. Sauf que la banque le fait en ajoutant des chiffres sur un ordinateur alors que le faux-monnayeur avait le mérite d'acheter du papier et de l'encre (donc favorisait l'économie).

Tout est dit je pense non ?

de même que toutes les privatisations, "faites par la droite comme par la gauche"

Après tout, vu qu'on va prendre l'argent des grands groupes, autant prendre directement leurs sources de revenu.
Nous avons privatisé des entreprises séculaires, payée par l'impôt et structurelles pour le bon fonctionnement de la France. Plutôt que de les garder et d'en tirer des revenus, nous les avons bradés (via des privatisations) pour que ces revenus soient perçus par les hyper-riches. Ces entreprises concernent, les réseaux routiers, les chemins de fer, l'électricité, le réseau de télé-communication, le gaz, le pétrole, cette putain d'eau potable ! Et j'en passe. Sachant qu'une fois ce monopole transmis aux entreprises, elles se sont empressées d'augmenter leur prix (bah oui, il y avait un monopole d'état qui s'est transformé en monopole privé, comment vous dire... Juste lol).

on nationalise l'eau, le logement, l'industrie pharmaceutique ….

Et certainement que l'on va interdire les sociétés privées...
Ce sont des intérêts nationaux, cf mon point précédent. Au passage, les médicaments coûteraient 30 fois moins chers (selon l'OCDE) si les laboratoires pharmaceutiques étaient socialisés. Bye bye le "trou de la sécu".

les licenciements sont interdits
les heures supplémentaires aussi

Je croyais qu'on prônait la liberté à gauche ? Enfin je pense que le mot patron va être remplacé pour dominé ou esclave moderne.
Cette phrase est incomplète, la chroniqueuse avait mal fait son travail. Les licenciements sont interdits s'ils sont dus à une volonté de délocaliser alors que l'entreprise est DÉJÀ rentable. Les heures supplémentaires aussi et dans ce même cas de figure. Autant embaucher plutôt que de pressurer des travailleurs.

toutes les institutions existantes dans le cadre de la Ve république sont dissoutes

Juste une question, seront-elles remplacées ? Sinon c'est qu'elles ne servent à rien, alors pourquoi ont-elles été créées ?
La réponse est double, d'une part la chroniqueuse a encore une fois mal fait sont travail car elle aurait du préciser les institutions (on peut voir l'émergence d'un esprit critique derrière le dogme dans ma phrase) ; d'autre part, la plupart de ces institutions comme la SACEM ne sont là que pour favoriser les possédants.

on désarme les policiers et on supprime les BAC (brigades anti-criminalité)

De toutes façons on n'aura plus besoin de payer pour quoi que ce soit, alors du coup... Eh pis les violes, les tournantes, les réseaux pédophile et ceux de trafic de drogues ça n’existe que dans les films.
Je regardais TF1, j'avais peur. Tout est dit.

et ça finit carrément surréaliste :

en cas de délocalisation, l’État saisira les biens et outils de production

Je suis pas contre dans le fond.
Je suis plutôt pour redistribuer ces biens sous la forme d'une propriété d'usage dans une économie sans propriété lucrative (mais il faut lire la thèse de Bernard Friot pour comprendre et je ne peux la résumer en quelques lignes). Bref l'éducation me manquait à cette époque.

il n'y a plus de publicité sur les radios et chaînes TV publiques

Oui et seulement la propagande de l'état !
Et c'est exactement ce qu'avait fait Nicolas Sarkozy (et pour qui j'avais voté) lorsqu'il a instauré ce que je décrivais. D'ailleurs j'avais commencé à râler à l'époque, cela a contribué à mon éveil je pense... De là à dire "Merci Sarko, faut pas pousser.

personne n'a le droit de gagner plus de 4 500€ (et oui, c'est dans leur programme).

Quand on est révolutionnaire, c'est pour avoir plus de liberté, notamment celle de gagner moins !
Je ne reviens pas sur mes propos, un ratio de 20 fois est correct, majorer à 4500 € est une réforme dogmatique et non pragmatique, en 2017 je ne cautionne toujours pas. Dans tous les cas, il faut admettre la réalité que dans une planète aux ressources limitées, on ne peut avoir un revenu minimal s'il n'y a pas un revenu maximal. Après il faut savoir si notre idéologie valide l'idée d'une monde où certains crèvent de faim alors que d'autres gaspillent tout, c'est moral et éthique.

évidemment , on sort de l'OTAN

Pour le rôle qu'on y tient de toute façon.
Il y a des enjeux politique dont la récupération de l'exécutif, mais ça je ne le découvrirai que plus tard.

et dans la foulée on exige (ne me demandez pas comment) une "suppression immédiate des armes de destruction massive, nucléaire, chimique ou biologique"

Faut dire ça à Ben Laden, il va être content lui.
Nous savons que les armes de destructions massives des talibans, irakiens, iraniens & Co ont toutes été des leurres et des mensonges d'état. De nos jours, je dirai que cette idée est stupide car nous vivons dans un monde cruel et violent où il est nécessaire d'avoir des armes pour défendre ses propres intérêts. C'est une mesure dogmatique, ce que je reprochais à la gauche à l'époque, de penser à des rêveries dont les conséquences sont inconsidérées.

enfin, je tiens à terminer sur une note optimiste sinon vous risquez de croire que je critique, on se débrouille pour qu'il y ait un "partage des tâches domestiques hommes-femmes" …

Ah ça je dis NON ! Faut pas pousser, ya atteinte aux libertés des hommes.
Un peu d'humour ne fait pas de mal

Ouf. Enfin quelqu'un qui y pense. C'est vrai quoi, il y a une pression énorme et un tabou terrible sur ce sujet en France, mais c'est un vrai enjeu, et franchement bien plus loin d'être gagné que le droit au logement (vu comment c'est parti).

Alors moi je dis, merci, la LCR.

Burger réconfortant aux frites sucrées | Simonæ

Des recettes ! DES RECETTES ! DES RECETTES !

Comment ajouter Tomcat pour le démarrer depuis NetBeans

Pour Roudoudoutte.

L’incompétence des développeurs - Blog de Patrice Lamarche

Ou pourquoi les développements sont de mauvaise qualité et pourquoi il y a beaucoup de non-compétence chez les développeurs.

F.ASSELINEAU (Parti UPR) "pulvérise"MACRON. Lire descriptif (Hd 1080) - vidéo Dailymotion

Une vidéo qui date de 6 mois mais la remarque à la fin des 6 minutes vaut son pesant de cacahuète. Macron... Toujours lui.

CommonMark, une syntaxe Markdown en commun et répandue - LinuxFr.org

Les éléments de la syntaxe Markdown expliqués par LinuxFR. Je fais un résumé ci-dessous pour vous permettre d'en extraire une grammaire (et pour me permettre aussi d'en extraire une grammaire).

Les caractères spéciaux


Ceux qu'il faut copier-coller (où alors se servir de la syntax HTML &xxx; :

æ Æ à À â Â ä Ä
ç Ç
€ é É è È ê Ê ë Ë
î Î ï Ï
œ Œ ô Ô ö Ö
ù Ù û Û ü Ü
ÿ Ÿ
¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁰
½ « » ~ # @ … ‰ € – —




L'écriture scientifique


Elle doit reposer sur la syntaxe LaTeX.



Les titres


L'entrée en Markdown :

# Titre de niveau 1
## Titre de niveau 2
### Titre de niveau 3
#### Titre de niveau 4
##### Titre de niveau 5

Titre de niveau 1
=================
Titre de niveau 2
-----------------
Fin de la section titre
=======================

La sortie en HTML :

<h1>Titre de niveau 1</h1>
<h2>Titre de niveau 2</h2>
<h3>Titre de niveau 3</h3>
<h4>Titre de niveau 4</h4>
<h5>Titre de niveau 5</h5>
<h1>Titre de niveau 1</h1>
<h2>Titre de niveau 2</h2>
<h1>Fin de la section titre</h1>




La mise en forme textuelle :


L'entrée en Markdown :

_italique_ ou *italique*

__gras__ ou **gras**

`chasse fixe`

~~barré~~

Mon texte sans \_mise\_ en \*\*forme\*\*.

La sortie en HTML :

<p><em>italique</em> ou <em>italique</em></p>
<p><strong>gras</strong> ou <strong>gras</strong></p>
<p><code>chasse fixe</code></p>
<p><del>barré</del></p>
<p>Mon texte sans _mise_ en **forme**.</p>




L'affichage de codes sources :


L'entrée en Markdown :

```java
public class Test {
    public static int main(String[] args) {
        System.out.println("Sa race !");
    }
}
\```

La sortie en HTML :

<pre>
    <code class="language-java">
public class Test {
    public static int main(String[] args) {
        System.out.println("Sa race !");
    }
}
    </code>
</pre>




L'affichage d'un texte brut :


L'entrée en Markdown :

\```
Ceci est un texte qui n'utilise pas
un langage de programmation en
particulier.
\```

La sortie en HTML :

<pre>
    <code>
Ceci est un texte qui n'utilise pas
un langage de programmation en
particulier.
    </code>
</pre>




Les citations :


L'entrée en Markdown :

> Itaque verae 1
> Itaque verae 2

> Itaque verae 3

La sortie en HTML :

<blockquote>
<p>Itaque verae 1 Itaque verae 2</p>
</blockquote>
<blockquote>
<p>Itaque verae 3</p>
</blockquote>
Google Online Security Blog: Announcing the first SHA1 collision

Et oui, tous les algos de hash finissent par tomber. Un article pour Roudoudoutte qui devrait l'intéresser

Fonctions logiques - Licence électronique, électrotechnique et automatique

Comment fonctionne les portes AND, OR, NAND

Un article top-moumoutte pour toi Lenny. C'est quelque chose qui va te resservir plus tard pour ton VAE.

JavaScript bootstrap : comment installer et configurer le transpilateur TypeScript ?

Rappel :


TypeScript est un langage libre développé Microsoft. Le but de TypeScript est de fournir un langage fortement typé, qui étende JavaScript et qui puisse être converti en JavaScript (normes ES5, ES2016 ou ES2017) afin d'éviter au développeur d'utiliser directement JavaScript et de produire un code JavaScript qui soit portable et utilisant toutes les optimisations du langage. On dit du compilateur TypeScript qu'il est un transpilateur car il converti du code source en un autre code source et non en instructions (binaire, assembleur, byte-code).

Comment qu'on install TypeScript ?


En passant par NPM ! En effet TypeScript est devenu un paquet NPM et est considéré comme une dépendance technique de votre projet JavaScript. Cette façon permet d'avoir une version du compilateur TypeScript par projet plutôt que d'une seule version unique commune à tous les développements.

Comment faire pour installer TypeScript avec Yarn ?

## Pour une installation locale à votre projet :
yarn add --dev typescript

Je recommande bien évidemment l'utilisation de Yarn en lieu et place de NPM ainsi qu'une installation locale pour éviter les conflits de version inter-projets.

Cependant, et comme je suis vraiment sympa, voici les commandes à taper pour installer TypeScript via NPM :

## Créer une installation global sur votre OS (disponible partout dans la ligne de commande) :
npm install -g typescript

## Créer une installation local à votre projet JS (accessible uniquement via la commande ./node_modules/typescript/bin/tsc) :
npm install --save-dev typescript


Comment qu'on s'en sert ?


Il y a deux méthodes pour transpiler du code TypeScript :

  • Soit nous saisissons une gigantesque ligne de commande que nous écrivons dans un script shell.
  • Soit nous fabriquons un fichier tsconfig.json à la racine de notre répo, qui contient tout la configuration du compilateur et que TypeScript charge automatiquement lorsque l'on tape la commande tsc.

Je rappelle que je chercher à reproduire l'architecture de dossier spécifiée par la convention Maven :

. (root folder)
|__ src/
|    |__ main/
|    |    |__ js/
|    |
|    |__ test/
|         |__ js/
|
|__ target/


Voici mon fichier :

{
    "compilerOptions": {
        // BUILD GLOBAL OPTIONS : 
        "module": "commonjs",           // What kind of loading system should we use (CommonJS, AMD, etc).
        "outDir": "./target/js",        // Output directory
        "sourceMap": false,             // Create the source-map file help to debug TypeScript code while executing JS
        "target": "ES5",                // The aimed JS version (ES5, ES2016, ES2017 or ESNext

        // BUILD OUTPUT :
        "diagnostics": false,           // Display no statistics about number of files, base code size, etc.
        "pretty": true,                 // Display color in console for error, warning, etc.

        // ENCODING
        "charset": "utf8",              // The targeted file encoding
        "newLine": "lf",                // File will use Line Feed as EOL character (Unix format)

        // COMPILER BEHAVIOR :
        "allowJs" : false,              // Allow JS syntax
        "preserveConstEnums": true,     // 'const enum' are kept in generated code
        "removeComments": true,         // Comment removed from transpiled code
        "emitDecoratorMetadata": true,  // Test
        "experimentalDecorators": true,

        // COMPILER ENFORCING :
        "noImplicitAny": true,          // 'any' type is mandatory
        "noImplicitThis": true,         // Forbien to mix 'any' and 'this' in the same expression
        "noImplicitReturns": true       // Raise error is a 'return' is missing in part of a function
    },

    "include": [
        "./src/main/js/**/*"            // Pattern finding the TypeScript files
    ]
}


L'un de mes posts précédents montrant le différentiel entre deux tsconfig.json DEV & PROD est disponible ICI

Conférence Pierre RABHi - « Agir à son échelle et construire ensemble » - Théâtre de Moulins (03) - YouTube

D'après un lien trouvé pour MoniK.

JavaScript bootstrap : Le tuto TypeScript / NPM / Yarn / NodeJS / Karma / Jasmine / PhantomJS / Webpack qui rocks du Poney

Pourquoi ce tuto ?


Grosso-modo je dois apprendre comment reproduire un build Maven mais en JS avec les outils JS qui vont bien ; et qui soient plus ou moins les standards de facto du moment (i.e en ce début 2017).

Définitions :


À quoi sert quel outil dans ce gloubi-boulga d'outils tous plus hypes les uns que les autres ?

NodeJS :
C'est une machine virtuelle qui permet de faire tourner du JavaScript côté serveur.

NPM :
C'est le gestionnaire de paquets permettant de récupérer les dépendances transitives de vos projets (façon Maven). Certains disent que NPM signifie Node Package Manager mais l'auteur atteste que non.

Yarn :
NPM c'est top, mais ça possède trois inconvénients :

  • La ligne de commande pu des fesses.
  • NPM ne sait pas mettre les paquets dans un répo local (comme le fait a contrario Maven), donc NPM passe son temps à re-télécharger les dépendances qu'il a déjà téléchargé pour le projet précédent.
  • NPM ne gère pas le build concurrent (il n'est pas multi-threadé) donc le build rame (enfin tout est relatif #CompilationC++).

Yarn est un outils qui réponds à ces trois problématiques avec un chat tout mimi en guise de logo.

TypeScript :
C'est à la fois un langage mais également un compilateur éponyme. En gros, les mecs de Microchiotte se sont dits que JavaScript ça ne sentait pas bon des fesses (comme la ligne de commande de NPM) et qu'il valait mieux coder avec de vraies classes, des vrais namespaces, de vraies visibilités (public, private, etc) et une fois que tout ceci était correctement codé en TypeScript, ont transpile ce code en du JavaScript ; autrement dit on convertir le code du TypeScript dans une syntaxe cohérente et fortement typée, vers du JS (incohérent et faiblement typé) ; et comme cela plus besoin de se prendre la tête à connaître tous les hacks de ce langage merdique (une référence ici sur la merdicitude de JS et une autre sur la retard community - ces deux articles sont pour toi Lenny).

Jasmine :
C'est un framework permettant d'écrire des tests en JavaScript. Ces derniers peuvent être au niveau unitaire (façon JUnit) ou fonctionnel / intégration (façon Cucumber). En général Jasmine est considéré comme faisant partie des framework destinés au BDD (mais bon, je ne suis pas d'accord).

Karma :
Un outil permettant de charger une suite de tests écrits en Jasmine ou en tout autre chose. Le concurrent le plus sérieux est MochaJS qui est une sorte de medley entre Karma et Jasmine, mais comme je n'ai pas encore eu le temps de l'étudier,que Karma à l'avantage d'être soutenu par les développeurs Google qui bossent sur Angular 2 et que j'ai déjà utilisé Jasmine par le passé... Bah Karma & Jasmine.

PhantomJS :
NodeJS permet d'exécuter du JavaScript côté serveur, et bien PhantomJS est un navigateur sans interface graphique permettant d'exécuter du JavaScript dans une console afin de le tester (ndr. en s'appuyant sur Jasmine et Karma). Vous vous doutez bien qu'un navigateur sans IHM est un navigateur ultra-rapide pour faire tourner du JS (sous-entendu parfait pour avoir des phases de run de TU rapides durant nos builds).

Webpack :
Webpack peut quasiment tout faire à l'aide de ses plugins mais l'idée ici est de s'en servir pour trois choses :

  • Packager l'ensemble du JS dans un seul fichier qui soit unique.
  • Minifier au taquet ce fichier packagé.
  • Ne pas inclure dans le package minifié le code mort, c'est-à-dire les classes qui ne sont jamais chargées directement ou transitivement par la classe Main.

Et donc dans tout ça ? Et bien dans tout cela vous aurez donc un build JS qui va chercher les dépendances tout seul, qui respecte le cycle de vie de Maven, qui assure la séparation du code à livrer (les sources) du code à ne pas livrer (les plugins du build et le code des tests), qui centralise la production des binaires en un seul endroit et qui soit capable de releaser votre build (i.e fabriquer des tags et incrémenter le numéro de version). Pas mal hein ?

La suite des posts à lire figure ici (en cours de complétion) :


Je précise ici que je cherche à reproduire l'architecture de dossier et le life-cycle de Maven mais pour un projet NodeJS / Aurelia. Nous allons donc avoir ce type de dossiers :

. (root folder)         # La racine du répo
|__ node_modules/       # Le répertoire des éléments téléchargés par NPM
|
|__ src/                # Le répertoire contenant les sources
|    |__ main/          # Les sources qui seront livrées
|    |    |__ js/
|    |
|    |__ test/          # Les sources qui ne seront jamais livrées (les tests)
|         |__ js/
|
|__ target/             # Le répertoire contenant les éléments générés lors de build
|
|_ karma.conf.js        # Le fichier de configuration de Karma (le générateur de suite de tests)
|_ package.js           # Le fichier de configuration de Yarn (le build manager)
|_ tsconfig.json        # Le fichier de configuration de TypeScript (le transpilateur)
|_ webpack.config.js    # Le fichier de configuration de Webpack (le packager / minifier)


C'est partiiii #JoueLaCommeBarnabé

Design Pattern - en Java

Ils y sont tous ou presque ! Ceux du GoF, ceux d'Avalon, ceux de JEE, ce orientés SOA et MSOA. Quel travail !

Le liens direct dans la page : http://java-design-patterns.com/patterns/
Un autre lien utile : https://github.com/kamranahmedse/design-patterns-for-humans/blob/master/README.md

via : http://sebsauvage.net/links/?l_D4hg

Tips & Tricks : Yarn ne veut pas télécharger des dépendances en SSL si le proxy exerce une surveillance du type man-in-the-middle

Je résume ici : vous travaillez pour un grand groupe (aller au hasard une grosse banque) et vous devez utiliser yarn (un remake de npm mieux foutou). Jusque là aucun soucis sauf que le proxy de la grosse banque fait du man-in-the-middle aux yeux et à la vue de tout le monde. Donc yarn quand il veut choper des trucs pas forcément utiles en SSL (genre phantomjs, le bouzin qui fait juste tourner NOS TESTS UNITAIRES) bah il veut pas le p'tit chaton parce qu'il se rend bien compte que les mecs du proxy : ils font du man-in-the-middle comme des gros porcs.

Bref, voici comme détruire toute forme de sécurité dans yarn mais qui vous permettra (a minima momentanément) de récupérer des tools genre phantomjs :

yarn config set "strict-ssl" false

et pour restaurer la sécurité ce sera évidemment :

yarn config set "strict-ssl" true
React & Webpack · TypeScript

Un tuto pour faire du NPM + WebPack + TypeScript + React. Je ferai un résumé de la conf plus tard (si j'ai le temps).

26 modules Node.js que j’utilise tout le temps • JS Attitude : formations JavaScript qualitatives et sympathiques

Un descriptif de quelques modules NodeJS très sympa

12 libs JS front que j’utilise tout le temps • JS Attitude : formations JavaScript qualitatives et sympathiques

Je résume ici les libs qui m'intéressent

  • underscore.js ou loadash (au choix) : pour effectuer des sélections simples dans des objets JS.
  • Moment : pour remplacer l'API date
  • Kalendae : pour une lib de calendar qui marche bien
  • Highcharts : pour faire des graphiques qui pètent
  • NodeJS : qu'on ne présente plus pour faire des applis côté serveur avec du JS
Tout un tas de CSS-Tricks

Pour ceux comme Lenny qui font pas mal de GUI web en ce moment.

Étude sur les salaires des offres d'emploi en 2016 : TypeScript, Go et Ruby sont les mieux payés

Pour Chlouchloutte, toi qui te demandait quelles technos apprendre. Visiblement, c'est TypeScript, Go et Java le triplet gagnant.

  • Java pour la sécurité (être sûr d'avoir une mission)
  • TypeScript pour la thune
  • Go pour le fun
Papiers à conserver | service-public.fr

Le site du gouvernement nous indique combien de temps conserver quel document, sympa.

AwesomeCow.com

A search engine designed to search for Linux applications as an alternatives to the ones used in Windows

Les casseroles, on ne fait pas de politique. on la défait, c'est plus drôle

Savoir quel homme politique a fait quoi et pouvoir enrichir la base de donnée. Ça c'est bon !

Grèce: « Totalitarisme à l’œuvre ! Obligation de payer par Carte Bleue 20 % de ses revenus ! » …. – Les moutons enragés

Je le dis et le redis : l'interdiction de l'argent liquide est le moyen qu'ont trouvé les "puissants" de ce monde pour saisir ce que les pauvres ont peiné à acquérir". Et je rejoins l'analyse du chroniqueur des moutons enragés : la Grèce est actuellement un immense laboratoire permettant d'évaluer ce que l'on peut faire subir aux gens.

Il faut préserver l'argent liquide tout simplement parce que l'argent liquide est un contre-pouvoir naturel au monde financier.

Macron - Quand c'est dit avec humour, ça passe mieux.

Macron est un piège à con, désolé d'être aussi franche. Il s'agit d'un multimillionnaire qui parvient à ne pas payer l'ISF sur les 2,6 Millions d'euros qu'il a touché en 2015, dont le parti politique est financé par des milliardaires et qui tentent de faire croire aux pauvres qu'ils vont obtenir quelque chose d'eux... Nan mais juste lol.

A ces personnes qui gagnent moins de 7000 € net / mois, qui pensent faire parti "des riches" (cf. le dernier décile concernant les revenus du salaire + dividendes) et qui pourtant vont voter Macron, faites bien attention à vous.

Je rappelle à juste titre - et en tant que dirigeante de société - qu'un patron se paie facilement entre 5000 € et 20 000 € net / mois. Oui vous avez bien lu, par NET et PAR MOIS. C'est le revenu moyen cumulé entre salaire et dividendes. Même si l'on considère que les dividendes ne sont pas comptabilisés pour le calcul de la retraite.

Et je parle ici des PME / PMI dans l'IT qui ont moins de 10 personnes !

En toute sincérité, ne tombez pas dans le piège Macron, il s'agit bien là d'un candidat des riches, propulsé en deux ans à peine par des riches avec des moyens gigantesquissimes derrière. Il ne représente pas ceux qui vivent de leur force de travail, il représente ceux qui exploitent la force de travail des autres.

L'échec de l'agilité : l'anarchisme confronté aux entreprises - Blog Arolla

Imparable ! L'agilité puise sa source dans la pensée anarchiste d'où sont incompatibilité avec les sociétés pyramidales avec une autorité supérieure avide de contrôle et friande d'exercer son pouvoir.

Je copie-colle pour back-up :


L’échec de l’agilité : l’anarchisme confronté aux entreprises
by Maury Fabien • 13 février 2017 • 5 Comments

L’agilité.
Tout le monde en parle, tout le monde en fait … mais presque tout le monde affiche un sourire crispé quand on lui en parle, met des guillemets en l’énonçant, s’excuse de le faire approximativement :
‘On fait presque du Scrum’, ‘oui, on est “agile” (petit signe en guillemets)’, ‘oui, oui, on est agile, enfin…’.

Mais au fond de quoi parle-t-on ? Qu’est-ce que ce fameux “agile” ?

S’adapter à un environnement changeant et surtout rectifier le tir pendant qu’il en est encore temps : c’est la première caractéristique qui me vient à l’esprit.
Le feedback permet de vérifier que l’on s’est bien compris, d’apprendre et de s’adapter. Et si la boucle de feedback est rapide, elle permet d’apprendre rapidement et donc de s’améliorer.

Les pratiques agiles sont souvent mises en opposition avec la gestion de projet traditionnelle (dite “waterfall”,”cycle en V”), car elles permettent d’éviter le fameux “effet tunnel”, qui consiste à ne pouvoir recevoir de feedback qu’en fin de projet, donc quand il est trop tard.

Le fait de devoir construire la route qu’emprunte le projet, au fur et à mesure qu’il avance, me fait penser à l’anarchiste Kropotkine qui écrivait que l’harmonie dans la société se ferait “par un incessant mouvement d’ajustement et de réajustement entre une multitude de forces et d’influences”.

Kropotkine se refusait, comme la plupart des anarchistes, à établir des plans précis et définitifs sur le fonctionnement que devrait avoir la société.
En effet, les anarchistes croient en l’autogestion et en l’autorégulation, et Kropotkine avait bien compris cette valeur du manifeste agile: L’adaptation au changement, plus que le suivi d’un plan.

L’ordre moins le pouvoir

L’anarchisme est aujourd’hui souvent associée et réduite au chaos et à la violence. Afin d’éviter toute confusion, il me semble donc important de revenir sur les principes de base de l’anarchisme.
Tout d’abord, l’anarchisme prend sa source dans la contradiction entre l’Etat et la société (l’Etat ayant des buts et des objectifs en décalage avec les attentes et besoins du peuple) et souhaite éliminer cette contradiction en supprimant l’Etat.
Cela ferait de notre société une réunion libre d’êtres libres et égaux. En revanche, absence de pouvoir ne veut pas dire absence d’organisation : on parle donc bien ici d’auto-organisation. J’imagine que vous voyez où je veux en venir.

Par exemple, les anarchistes n’aiment pas vraiment la police car elle est là pour faire respecter les lois… Et les anarchistes n’aiment pas vraiment les lois.
Seraient-ils donc pour le chaos ? Pour une société où chacun pourrait tuer son prochain sur un coup de tête et voler autrui par plaisir ? Bien sûr que non.
Dans La morale anarchiste, Kropotkine explique que les lois définissent ce qui est bien ou mal dans la société, le concept de légalité se substituant ainsi à la morale.
En outre, il dénonce le fait que les lois ont tendance à se mêler de choses qui ne regardent pas l’Etat (la sexualité, les croyances, etc.) et punissent des actions hors de leur contexte. Kropotkine nous propose donc une autre vision, basée sur le bien commun.

anarchie

En effet, la seule vraie question qui semble retenir l’attention de Kropotkine est la suivante : “Est-ce bon pour la communauté ?”.
Sans la barrière entre légalité et illégalité et sans la présence des forces de l’ordre pour faire respecter ces lois, il serait à la charge de chaque individu de se poser la question et d’intervenir le cas échéant.
Il faut donc arriver à faire en sorte que les gens aient confiance en leur prise d’initiative pour qu’ils deviennent acteurs de leur société. On retrouve là la notion de Leadership portée par le lean et donc l’agilité.
Ainsi, une personne incivique dans les transports ou s’accaparant trop de ressources serait aussitôt stoppée par la population. Cette dernière ne pouvant plus se reposer sur une autorité tierce pour faire respecter l’ordre.
Cela remettrait l’éthique et la morale au centre de la société et des préoccupations des citoyens. L’effet positif serait de remettre toutes les formes de violences (physique, sociale, etc.) sur un pied d’égalité.

Agilité et anarchisme contre le dogmatisme

L’agilité prône les équipes auto-organisées et le pragmatisme. Elle propose de s’adapter plutôt que de suivre dogmatiquement des process.
Mais au final, qu’est-ce qu’un process sinon une loi dans l’entreprise ? Les agilistes n’auraient-ils pas quelques valeurs anarchistes ?
Serions-nous en train d’arriver à cette autre valeur du manifeste agile : Les individus et leurs interactions plus que les processus et les outils ?
C’est pour cela que l’on préfère, au sein des équipes agiles, respecter des règles d’équipe (règles de vie définies par l’équipe lors des rétrospectives), que des process dictés par une tierce autorité.
D’ailleurs, le 11ème principe sous-jacent au manifeste Agile l’explique bien : Les meilleures architectures, spécifications et conceptions émergent d’équipes auto-organisées.

Et l’on peut noter que les anarchistes ne rejettent pas toute forme d’autorité, seulement l’autorité imposée, ce qu’explique admirablement Bakunin

” Nous acceptons toutes les autorités naturelles et toutes les influences de fait, aucune de droit, car toute autorité ou toute influence de droit, et comme telle officiellement imposée devenant aussitôt une oppression et un mensonge, nous imposerait infailliblement, comme je crois l’avoir suffisamment démontré, l’esclavage et l’absurdité.

En un mot, nous repoussons toute législation toute autorité et toute influence privilégiée, patentée, officielle et légale, même sortie du suffrage universel, convaincus qu’elles ne pourront tourner jamais qu’au profit d’une minorité dominante et exploitante, contre les intérêts de l’immense majorité asservie.

Voilà dans quel sens nous sommes réellement des anarchistes.”

Mikhail Bakunin 

L’absence d’autorité n’est donc pas incompatible avec la présence de leaders, en revanche, elle demande une double responsabilité : celle de vouloir mener le groupe d’une part, et pour le groupe, celle de vouloir suivre les propositions du leader.
Tout le monde est ainsi responsabilisé.

Dans un registre plus capillotracté, on pourrait aussi considérer la loi comme une documentation exhaustive.
L’anarchisme prônerait alors le fait d’avoir une société opérationnelle plus qu’une documentation exhaustive, c’est-à-dire une société qui fonctionne pour les personnes qui y vivent plutôt que d’avoir des lois qui expliquent comment les gens devraient se comporter.

Une histoire de confiance ?

C’est la valeur qui se cache derrière la 3e valeur du manifeste agile : la collaboration avec les clients plus que la négociation contractuelle.
Un contrat est généralement mis en œuvre pour protéger les parties l’une de l’autre. Difficile de vraiment collaborer lorsque ce qui nous unit est justement ce qui nous sépare.
On ne peut, en effet, se passer de négociations contractuelles que si les personnes présentes autour de la table ont le même but (la fameuse “communauté” par rapport à laquelle on positionne les notions de bien et de mal), hors intérêts externes.

C’est pour ça qu’il faut être avec les “bonnes personnes”, centrés autour des mêmes valeurs. Autant la tâche est plus complexe dans une société car la “communauté” doit être inclusive (sinon la notion de bien par rapport à la communauté peut vite déraper), autant sur un projet, il est possible de choisir votre “communauté” ainsi que vos clients.
Profitez-en ! Car c’est le vrai point bloquant dans la vision décrite dans la morale anarchiste et vous avez le luxe de pouvoir vous mettre en conditions quasi idéales.

L’agilité, la résurrection de l’anarchisme ?

Haymarket, la révolution russe, la guerre d’Espagne… A force d’assassiner les anarchistes, le mouvement était tombé en désuétude avec ses valeurs et sa définition dénaturées.
Mais j’ai l’impression que cette philosophie a réapparu sous le nom d’agilité. Et ce n’est pas par hasard car au final, quoi de plus logique que demander aux personnes qui font (et donc savent) plutôt que de leur imposer une vision depuis l’extérieur ?
En constatant l’échec des anciennes méthodes, l’industrie a commencé à faire preuve de pragmatisme et a préféré :

  • mettre en place des boucles de feedback pour pouvoir s’adapter
  • faire confiance aux équipes pour agir au mieux pour le projet

C’est donc pour moi la philosophie anarchiste qui est née à nouveau de nos projets : lorsqu’ils se sont heurtés aux limites du système hiérarchique pyramidal ainsi qu’aux plans établis à l’avance par une élite dite « sachante ».

Là où agilité et anarchisme diffèrent, c’est que les équipes agiles sont auto-organisées, alors que l’anarchisme prône l’auto-gestion.

La nuance entre ces termes se trouve dans la définition des objectifs. Dans l’auto-gestion, les objectifs sont définis par la communauté, alors que dans l’auto-organisation, on vous donne la liberté de moyens pour atteindre un objectif donné.
En effet, en entreprise, il semble pertinent que les objectifs à atteindre soient définis par votre patron (c’est le principe-même du salariat : l’enrôlement de personnes via un salaire pour les mettre en mouvement vers un objectif que vous désirez atteindre).

D’ailleurs, c’est souvent en se trompant d’objectifs que l’on envoie ses équipes dans le mur (“implémenter Scrum”, “utiliser des micro-services”, etc. ne sont pas des objectifs).

Pourquoi l’agilité ne fonctionne-t-elle pas ?

Revenons enfin à notre sujet de départ :
Pourquoi ce malaise autour de l’agilité ? Alors certes, le malaise n’est pas ressenti partout, l’agilité fonctionnant dans beaucoup d’équipes et de petites structures.
Mais pourquoi est-elle source de malaise dans certaines structures (votre grand compte par exemple) ? Pourquoi rien ne ressort de vos cérémonies ? Pourquoi avez-vous l’impression que le sprint est devenu une course insoutenable à la productivité ?
Peut-être avez-vous tenté d’appliquer dogmatiquement Scrum, en renommant votre chef de projet “Scrum master”, en obligeant les équipes à participer à des cérémonies qu’elles ne comprennent pas ?

En fait, la réponse est assez simple : vous essayez de mettre en place l’anarchisme dans une structure qui veut tout contrôler.
Par exemple : prévoir le coût des choses avant de les avoir définies (et donc au moment où l’on a le moins d’informations sur le sujet), avoir l’impression de savoir où on va, que tout est sous contrôle.
C’est pourtant l’origine de l’agilité ! On sait que ça ne va pas se passer comme prévu, réfléchissons plutôt à comment nous adapter.
Donc oui, vous essayez de mettre en place l’anarchisme dans une structure capitaliste, une de ces nombreuses entreprises qui base sa croissance sur une sur-interprétation du Darwinisme pouvant se résumer par “manger ou être mangé”.
Vous demandez à des personnes qui ont été recrutées pour leur docilité de faire preuve de leadership ?
Et à celles recrutées pour leur autorité de déléguer ?

Vous n’y arrivez pas ? Vous vous confrontez à une culture contraire ? Etes forcés de mener une “conduite du changement”…? C’est étonnant !

L’agilité, comme elle devrait l’être effectivement, grince et a du mal à passer. Tout simplement car elle n’est pas adaptée à notre système.
On peut aisément l’expliquer par le fait que l’agilité n’est pas une évolution de l’approche traditionnelle mais une rupture avec la pensée déterministe de cette approche (à l’image de la physique quantique qui fut une rupture avec la physique traditionnelle).
L’agilité est en rupture avec l’entreprise de la même façon que l’anarchisme serait en rupture avec notre société actuelle.
On parle ici de remettre l’Humain au centre des stratégies.

Abandonner l’agilité ?

L’agilité va à l’encontre de la façon dont est construite notre société. C’est ce qui explique cette zone de friction permanente.
Je pense sincèrement que la philosophie agile est la bonne approche, mais qu’elle n’est pas adaptée à tous les environnements.

Si une méthode ne vous convient pas, arrêtez de la tordre, de la cabosser pour la faire rentrer dans votre moule. Laissez tomber et arrêter de faire souffrir vos équipes plus qu’elles ne souffrent déjà !
bjkx6v0cqaa4j

Après, en ce qui me concerne, j’aime bien cette “agilité” et ses principes. Dans l’idéal, je préférerais que l’on change de société, pour aller vers plus de confiance, plus de réalisme et plus de collaboration, plutôt que de l’abandonner.
Cela permettrait qu’elle ne soit plus en rupture avec le modèle des entreprises, et on y gagnerait tous.

Mais c’est un idéal encore lointain…

sources et inspirations:
– manifeste agile
– Baillargeon, Normand. “L’ordre moins le pouvoir : Histoire & actualité de l’anarchisme”. Agone, 2008. ISBN-10: 2748900979
– Petr Alekseevitch, Kropotkine.”la morale anarchiste”. Fayard (1001 nuits) ISBN-10: 2842058372
– Mikhail, Bakounine. “Dieu et l’état”. Fayard (1001 nuits) . ISBN-10: 2842050746
– “Ni dieu Ni Maitre”, Les sales magestés. https://play.spotify.com/track/2qhMZuHIUmTh0yAZE3zVbY

Merci à Olivier pour avoir collaboré à enrichir cet article.

Impact de l'Intelligence Artificielle sur l'économie - Laurent ALEXANDRE au Senat (HD) - YouTube

Ce que dit Laurent Alexandre est LIM-PIDE ! Les enjeux sont juste dingues ! Je vais revoir cette vidéo plusieurs fois à mon avis.

#Rewind - L'ambiance des meetings de Macron - YouTube

Une vidéo youtube montrant comment est fabriquée de toute pièce "l'ambiance de dingue" des présentations de Macron. Ici celle de Lyon. Nous sommes en train de constater une véritable propagande #Fear #Terreur #LeDernierBanquierPresidentACederLaCreationMonétairePutain

Circuit breaker, un pattern pour fiabiliser vos systèmes distribués (ou microservices) : partie 1 | OCTO talks !

Un très bon article d'OCTO sur les micro-services et la façon de réponse aux problèmes de l'architecture distribuée.

Je participe à l'effet Streisand

Le site vendredvd qui aurait, selon Timo, tenté de l'arnaqué lui demande purement et simplement de supprimer un poste.

Le lien vers l'histoire : https://lehollandaisvolant.net/?mode=links&id=20160221222458

Connaissant Timo qui s'assure de systématiquement tout sourcé, je pense que le mec est mal. Effet Streisand, s'il vous plaît, faites passer le message qu'un site de vente en ligne (vendredvd.com) tente de forcer l'un de ses clients à la fermer de force.

Facebook Twitter G+ etc... Aller tout le monde

La mise à jour de Tinder pour les hommes

(les deux dernières options les filles)

Faire un double Windsor (noeuf de cravate)

Énorme la technique pour faire le nœuds de cravate (équilibré) le plus célèbre du monde.

Des livres Gratuits pour Développeurs

Je fonce sur celui parlant de TypeScript

Bernard Friot "La conférence gesticulée" - YouTube

Bernard Friot dans une conférence gesticulée. A faire tourner

Pas-de-Calais: Elu maire à 22 ans, il est mis en examen pour «faux en écriture publique»

Je site Timo qui résume toute ma pensée :

Non mais putain quoi !
Ça fait partie de la profession où c’est juste que les gens élisent toujours les pires spécimens ?

via https://lehollandaisvolant.net/?id=20170205150243

java - Why is it faster to process a sorted array than an unsorted array? - Stack Overflow

Un article intéressant sur les "branch prediction" ou en d'autres termes, la fonctionnalité de prédiction du prochain calcul d'un micro-processeur. Ceci expliqué via une doc Java et C++ qui montrent qu'une liste triée permet de mieux prédire le prochain code et donc l'accès à l'information se fait plus vite.

Comment les médias ont fabriqué le candidat Macron - Le Vent Se Lève

Et oui, en attendant, l'UPR ne passe dans aucun média, aucune radio, aucun plateau télé, aucun journal, aucun magazine, rien. Et certains se demanderont encore qui entre François Asselineau (UPR) et Emmanuel Macron (UMPS) sert les riches et les puissants dans notre pays.

Pour rappel, Emmanuel était rapporteur à l'UMP avant d'intégrer le gouvernement de droite néo-libérale de François Hollande...