30

(et puis c'est Francais pour le coup)
avatarProud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

31

32

grin
avatar<<< Kernel Extremist©®™ >>>
Feel the power of (int16) !

33

./26 : c'est un peu difficile de répondre à tout ton post qui est ... hmm.. touffu grin mais pour le coup des dépendances je maintiens que je trouve ça vraiment bordélique. Pour un projet web auquel j'ai participé récemment, le dev front a utilisé grunt avec 6 plugins contrib pour faire des choses comme minifier du JS, transformer des LESS en CSS, et copier des fichiers (parceque visiblement pour copier un fichier il faut aussi un plugin ?!). Chaque plugin tire des dépendances (grunt à lui seul tire 20 paquets !), dont certaines sont vraiment délirantes. J'ai une dépendance vers un paquet qui permet de faire du globbing, quand JavaScript possède nativement des regexp. Et ce pluging pour faire du globbing possède lui-même deux dépendances. Et comme ça ne suffit manifestement pas, j'ai aussi une dépendance qui permet de faire du "matching", qui semble d'après le README être très exactement des regexp. J'ai encore une autre dépendance qui fournit une fonction "process.exit" ?!

Tout est comme ça. Sérieusement à ce niveau c'est n'importe quoi, on est très loin de ce que tu décrit avec quelques libs "standard" et tout le monde qui en dépend. Ça donne vraiment l'impression que les mecs ont installé le 1er paquet qui leur tombait sous la main plutôt que d'ajouter une ligne de code, de chercher 3 secondes si ce qu'ils veulent faire n'existe pas déjà en JS, ou essayer de voir si l'une de leur dépendance déjà présente ne tire pas déjà un paquet qui fournit ce dont ils ont besoin plutôt que de le dupliquer.
avatarAll right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

34

nous n'avons peut être pas la même définition de front-end en fait, pour moi il ne s'agit que purement du code tournant sur le client, ce que tu décrit est plus à mes yeux du packaging

ce que tu dis de grunt, -que je ne connais pas du tout-, est assez horrible (pour sa défense je dirais qu'avoir voulu développer de façon minimale et modulaire n'est pas forcément mauvais, même si il déconne sévère avec comme deps le nécessaire pour faire du wildcard, wtf

mais ça traduit assez clairement le blême de nodejs, ou plutôt de npm, il est trop efficace et incite à un fractionnement extrême du code, malgré l'api node plus que complète le lego est de mise,
si c'est pour un vrai package genre une implémentation de scrypt, oui, mais la fainéantise ou autre pousse à évincer la base des bases pour installer le premier truc venu afin d'avancer (productivité vs qualité, le temps c'est de l'argent ?

je comprend largement ton point de vue, les choix passés font que changer une ligne de css ou js t'oblige à installer watt mille truc, t'obligeant à chercher lire et comprendre d'autres choses, à milles lieux de la ligne initiale à changer ou de la lib front-end à updater ..
c'est clairement abusé oui, surtout que concaténer se fera par uglifyjs quoi qu'il arrive, compiler tes css se fera forcément par less ou sass et copier ton fichier de sortie ou il faut .. n'en parlons pas xD

mon .sh, ne me dispensera pas d'installer uglify & co avec leurs dépendances propres, mais pour copier un fichier ce sera tout de même plus simple,
seul point noir il ne tournera que sous shell :- ) (argument inverse à ne pas négliger, devant certainement expliquer pas mal de choix d'externalisation concernant grunt !)

35

Effectivement c'est juste du packaging que je parle, et à travers lui de la façon actuelle de développer un site web. Enfin je suppose que c'est la façon actuelle, à en juger par les quelques articles et questions stackoverflow sur lesquels je suis tombé quand je cherchais comment faire. Quand je dis que c'est pour le "monde du développement front-end" c'est parce que c'est à cet environnement que se destinent tous les outils que je critique, comme l'écrasante majorité de ce qui tourne sous node.js. Et vu ce que je constate, j'ai du mal à croire que d'autres environnements de développement envisagent de reproduire la même chose.
avatarAll right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

36

(tiens, un autre truc « rigolo » avec sbt : IntelliJ ne permet pas de simplement ouvrir un projet quand une dépendance est manquante)
avatar<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

37

StupiJ? IdiotiJ? gni
avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

38

#pointvince#
avatar<<< Kernel Extremist©®™ >>>
Feel the power of (int16) !

39

J'avoue que StupidJ colle assez bien grin

40

La gestion de dépendances avec npm, c'est simple comme bonjour embarrassed
https://medium.com/@andrerpena/a-trick-for-avoiding-dependency-hell-on-node-js-f6ff20a09578

41

Sinon, il y a le gestionnaire de package bower... qui s'installe avec npm (autre gestionnaire de packages tritop)
avatar<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

42

43

As a result, small modules — and apps composed of them — tend to have extremely large dependency graphs (Bitbucket's frontend, for example, contains more than one thousand JavaScript modules — many internal and many from npm).
Node's initial implementation of streams, which shipped in Node 0.4, left a lot to be desired and led to potentially lost data if used incorrectly. In response, Node 0.10 shipped with a revision of streams (also known as Streams2). But Streams2 wasn't a simple iteration to the streams pattern, and actually went through a number of changes before shipping in Node 0.10. When it did ship, it was compatible with apps running in Node 0.8 without being backported into a release of Node 0.8.
Zeph va encore dire que je caricature, mais leurs exemples montrent vraiment qu'il y a deux façons de penser :
- l'approche traditionnelle : "on a sorti des technos incomplètes / foireuses ; la prochaine fois, réfléchissons davantage avant de lancer un truc"
- l'approche webdev-de-2015 : "on a sorti des technos incomplètes / foireuses ; c'est pas grave, vu qu'on peut corriger et compléter à posteriori"

Alors certes, la seconde approche est sympa, motivante, Agile et favorise l'innovation. Mais elle passe sous silence le coûts associés (le temps perdu par les utilisateurs à courir après les bugs, pallier les manques, mettre à jour, se tenir au courant des évolutions, etc.) et les risques (se retrouver avec une résultat branlant parce que le système a grandi "au fil des modifs" au lieu d'avoir été réfléchi à la base, devenir ingérable parce qu'on dépend de 36000 projets annexes dont chacun peut évoluer / être déprécié...). Pour des projets peu critiques, ça n'est pas forcément un problème ; pour des projets pros, c'est important.

C'est d'ailleurs une question qui dépasse le cadre du dév web : c'est pareil pour les jeux ("on sort tout de suite un truc bugué à mort, on patchera plus tard (ou pas)"), les applis ("allez hop, on casse tout pour faire du neuf, vous retrouverez peut-être les fonctionnalités que vous utilisiez dans 3 ou 4 versions"), le matériel ("pas la peine de faire de la qualité, de toute façon dans 18 mois ça sera jeté à la poubelle")...
avatarZeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

44

la seconde approche est sympa, motivante
euh... how about no? bosser sur un truc qui va etre obsolete dans 3 mois, comment dire... quand tu veux faire un projet un tant soi peu sérieux, tu prends un machin éprouvé.

45

Ce que je veux dire, c'est que c'est comme bricoler un projet entre amateurs (genre l'électrolab, dans un autre domaine). Tu essayes des trucs, certains marchent, d'autres pas, pour la plupart des gens c'est plus fun que de se torturer les méninges pour rédiger un cahier des charges exhaustif avant de mettre la main à la pâte.

Mais je suis d'accord que ce n'est pas adapté pour faire des trucs "sérieux" (qui ont besoin de stabilité), c'est tout l'objet de mon message.
avatarZeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

46

47

En meme temps le billet ne peux pas etre 100% objectif vu la source (Atlassian) sachant qu'ils cherchent a promouvoir un maximum leur solutions + "methodes agiles" etc...

Et le truc que je trouve absurde dans leur document, c'est que parceque la lib X a fait une erreur de conception, pour la version n+1 il ne peuvent pas corriger parceque ca va casser des millions de site web..

Heuuu, personne n'est oblige de mettre a jour la dite lib, et en mettant a jour la dite lib, les dev mettrons aussi a jour leur site, donc c'est juste du blabla pour dire "non mais l'autre solution est 10000000% mieux parceque grace a ca, vous pouvez continuer a utiliser du code obsolete parceque personne ne va chercher a le mettre a jour
avatarProud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

48

> c'est que parceque la lib X a fait une erreur de conception, pour la version n+1 il ne peuvent pas corriger parceque ca va casser des millions de site web..
ils parlent surtout de l'api javascript native du navigateur, le code tournant sous netscape doit toujours fonctionner de nos jours :- )
la même pour les piliers (jquery, underscore, async ..) leurs updates se doivent d'être un drop in sans prise de tête, les api sont stables

49

Non les API et Update ne doivent pas forcement etre un drop in, si on commence a penser comme ca c'est sur que rien n'avancera.

Si tu utilise la version 1.x et que tu swtiche a la version 2.x tu ne doit pas penser que ca doit marcher direct tel que, sinon c'est que tu as un probleme.
avatarProud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

50

Le C n'a pas changé de manière incompatible depuis 1989 (le C99 et le C11 gardent la compatibilité antérieure) et se porte très bien.
avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

51

Godzil (./49) :
Si tu utilise la version 1.x et que tu swtiche a la version 2.x tu ne doit pas penser que ca doit marcher direct tel que, sinon c'est que tu as un probleme.
Pourquoi ? À part pour des raisons bassement consuméristes qui poussent à acheter/vendre de nouveaux produits et services, quelle est la raison qui fait qu'on ne peut pas avoir de compatibilité avec l'existant ?
avatar

52

Ce n'est pas ce que dit Godzil ; il dit qu'elle n'est pas automatique et qu'il ne faut pas partir du principe qu'elle l'est.
avatar<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

53

il est certain qu'il faut faire un minimum gaffe mais les changements sont vraiment rares, ils essaient de ne rien péter du tout entre deux release,
d'ailleurs la principale différence entre jquery 1 et 2 est en gros d'avoir dégagé le support des vieux navigateurs, un plugin officiel est aussi la pour maintenir la compatibilité de comportement avec les vieille version ..
je veux dire que philosophiquement ils assurent un maximum de compatibilité, tout en essayant de se moderniser au mieux,
par exemple la première et seule alpha de jquery 3 est sortie depuis juillet, pas de précipitation ^^" pourtant tout mon code à fonctionné direct avec, ou cet article montrant qu'ils ne sont pas des têtes brulés https://blog.jquery.com/2014/07/03/dont-use-jquery-latest-js/
'fin bon en ~8 ans d'utilisation je n'ai jamais eu affaire à un soucis de mise à niveau de leur part, mais oui prudence et jugeote sont mère de sureté smile

concernant _ c'est pareil, jamais eu de soucis, l'api est ultra stable, j’emploie même lodash qui est un clone drop in d'underscore, plus rapide avec quelques extra sympa

54

55

Muhuhuhahahihi

56

Muhuhuhahahihi

57

58

Les commentaires sont quand meme plutot grave, surtout le LouisKevin
avatarProud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

59

60

squalyl > oui, oui cheeky cheeky