Aller au contenu

L'affreux

Animateur
  • Compteur de contenus

    10 632
  • Inscription

  • Dernière visite

  • Jours gagnés

    13

Tout ce qui a été posté par L'affreux

  1. En fait ils ont conçu JSX pour React : Moi aussi. Et l'idée générale de faire plus de calculs en JS pour alléger les traitements sur le DOM est intéressante. Mais : - Les composants n'utilisent pas le prototype (bonjour la signature en RAM) ; - Les composants ne sont pas emboitables en pratique. Ceux que l'on emboite sont "stateless" (ils ne le disent pas mais j'ai fini par le comprendre). On ne peut donc pas prendre n'importe quel composant existant pour construire un composant englobant. Ah si tout à fait et donc chez Facebook ils ne sont pas très forts en JavaScript. D'où ma méfiance pour leur techno JS. Toutefois React apporte un éclairage critique sur Angular : 1/ Le couplage fort entre le M et le V de Angular n'est pas une bonne idée. Ça a l'air pratique au début, mais au final ça ne colle pas à une bonne représentation. On a tendance à mettre dans le modèle des choses qui ne concernent que la vue et ne devraient pas en sortir (par exemple l'état "menu ouvert / menu fermé" d'un menu géré en JS). 2/ Le mécanisme des templates a un défaut conceptuel : il est limité, aussi, pour repousser les limites, l'équipe d'Angular continuera à ajouter des fonctionnalités à ce langage. Pour moi c'est un défaut car garder Angular à jour impliquera d'avoir un fichier angular.js qui grossira. Ils ne rendront pas leur mécanisme de templates optionnel car ce serait perdre le binding et tout l'intérêt du truc. Or je suis convaincu qu'un framework ne devrait pas passer son temps à grossir.
  2. Je complète mon post précédent. J'ai un doute sur React parce que j'ai toujours trouvé que Facebook n'était pas très fort justement en terme de programmation JavaScript. Leur interface continue à faire transiter du HTML et à charger ses vues comme des pages à l'ancienne. Leur système d'auto-rafraichissement des discussions communes (dans les groupes par exemple) marche une fois sur deux et encore… Et côté performance Sencha leur avait mis la honte il y a un an suite à leur déclaration d'abandon de HTML 5. Sencha avait alors créé "Fastbook", une application JS pour démontrer que Facebook aurait pu mieux faire : À ce propos j'aimerais bien me faire une idée de ce qu'ils appellent "sandbox". Le coup d'utiliser une iframe pour du sandboxing, c'est facile, je comprends. Mais ils ont l'air de dire qu'ils peuvent aussi isoler des sous-parties du DOM ce qui évite les reflow. Comment font-ils ? Ou bien est-ce que ce n'est pas plutôt qu'ils utilisent un positionnement CSS qui évite ce reflow ? C'est comme ça que j'aurais l'idée de faire perso…
  3. Très intéressant. À première vue j'aime beaucoup React. À part qu'il ajoute des attributs "data-reactid" sur tout ce qu'il crée et je ne vois franchement pas l'utilité, mais bon, chacun ses défauts. Manifestement chez Facebook ils utilisent JSX que je ne connaissais pas. Ça leur fournit un système de template. Ce n'est pas utilisable avec TypeScript puisque les deux se compilent en JS. Je garderai TypeScript. Par exemple voici la méthode qui génère le code HTML dans leur troisième exemple sur le site de React (en JSX) : render: function() { return ( <div> <h3>TODO</h3> <TodoList items={this.state.items} /> <form onSubmit={this.handleSubmit}> <input onChange={this.onChange} value={this.state.text} /> <button>{'Add #' + (this.state.items.length + 1)}</button> </form> </div> ); } Je l'ai réécrite en JS : render: function() { var h3 = React.DOM.h3({}, 'TODO'); var list = TodoList({"items": this.state.items}); var form = React.DOM.form( {"onSubmit": this.handleSubmit}, React.DOM.input({"onChange": this.onChange, "value": this.state.text}), React.DOM.button({}, 'Add #' + (this.state.items.length + 1)) ); return React.DOM.div({}, h3, list, form); } Écrire ainsi des éléments HTML sous la forme d'objets est pénible. Ça me fait penser aux objets des ORM qui charcutent le SQL.Mais c'est une piste de réflexion. Plus j'avance dans Angular et moins j'aime. Du coup il est bien possible que je retourne ma veste. Merci.
  4. Je me mets aussi à AngularJS en ce moment. Il y a un truc à savoir sur son système de binding : c'est du polling. Angular poll le modèle pour mettre à jour la vue. À lire sur le sujet : les arguments du créateur de AngularJS. Et aussi ce billet qui suggère qu'il y a un peu d'espoir du côté de EcmaScript 6. À mon avis, au final, les propriétés calculées devraient être évitées dans les modèles de Angular. Mieux vaut faire les calculs dans la vue autant que possible.
  5. Amusant. Les protections doivent faire l'effet d'une maman. À mon avis les présidents ont le droit de disposer de leur vie, y compris de la risquer, y compris pour s'amuser. C'est décevant qu'il en profite pour trahir sa compagne et se mette en danger, mais avec le gars Hollande nous ne sommes pas à une déception près.
  6. Lenovo met une partie de ce qui devrait être dans le bios dans leur soft Windows "Power Manager". Je les hais, pour ça.
  7. You Scored as Agorist Agorist 92% Minarchist 83% Anarcho-capitalist 75% Left-libertarian 75% Paleo-libertarian 58% "Small L" libertarian 50% Geo-libertarian 42% Neo-libertarian 25% Libertarian socialist 8% Ah bon, possible.
  8. C'est un problème de l'expatriation. Une fois que nous sommes attaché à un deuxième pays, il y en a toujours un qui nous manque où que nous soyons.
  9. L'affreux

    Escape (Projet 2015-2016)

    Note bien que le Bénin est cher. Il ne faut pas trop espérer faire des économies par ici. En budget tourisme minimal ça coute dans les trente euros par jour à mon avis, ou 18 euros quand tu ne paies pas l'hébergement. Chez moi tu économiseras aussi les repas. De plus ta démarche ne sera pas facilement comprise. Peut-être qu'il y aurait moyen d'être accueilli partout en visant spécifiquement les expatriés. Il se trouve que j'en connais peu ! Note aussi que c'est tendu de filmer en Afrique noire.
  10. L'affreux

    Escape (Projet 2015-2016)

    Pour le moment c'est trop variable pour être utilisé comme tu en as besoin. Le réseau switche en Edge ou en 3G plusieurs fois par jour. Aujourd'hui par exemple vers 10h ce matin c'est passé en Edge et nous y sommes encore. Il n'y a pas moyen de donner un RDV Skype du coup. Cela dit j'ai eu des jours entiers en 3G. Avec un peu de chance ça s'améliorera.
  11. Cette discussion a le mérite d'éclaircir les options sur les pays les plus vivables. La Nouvelle-Zélande est la solution numéro 1 pour le monde anglo-saxon.
  12. Moi aussi en fait. Enfin, je crois. Je n'ai pas encore tout à fait tranché mon avis. Mais je crois que si. C'est ça. Même préférence. Et donc pour moi c'est la France qui est autoritaire. Je peux même dire que je me sens plus en sécurité au Bénin qu'en France d'une certaine manière. La chasse des administrations françaises envers ceux qui ne remplissent pas suffisamment bien leurs paperasses est implacable. Elle m'a toujours fait peur. D'une manière générale je préfère m'en remettre au discernement d'un chef qu'à celui d'une mécanique administrative. Dans le cas du Bénin, ceux qui commandent sont élus alors ils se comportent en chefs mais il y a quelque chose de perverti. Si les chefs traditionnels avaient encore le pouvoir les choses iraient mieux, et je ne suis pas le seul à en être convaincu.
  13. Le problème, POE, c'est que de ton côté tu n'apportes aucune information, ni philosophique, ni statistique, ni même théorique, ni un exemple ou une expérience : que dalle. Juste ton avis contradictoire sans rien pour l'étayer. Parfois ça agace.
  14. Cette analyse me parait tout à fait juste. Il est évident que le contestataire dans un débat part avec un gros boulet qu'il doit compenser par un grand talent rhétorique, ce qui est loin d'être facile. (Désolé, je découvre ce fil aujourd'hui.)
  15. Ça me rappelle un petit souvenir amusant à Montréal, dans le métro, de bon matin, des Montréalais restent à quai jugeant la rame déjà bien pleine. Ha ha ! À Paris tu joues à ça t'attends deux heures. Quand t'es Parisien tu cours, tu pousses, tu tires, tu te bats avec les portes et tu rentres en utilisant en une fois plus de force qu'il n'en faudra jamais à un Montréalais même en comptant toutes ses prises de métros accumulées sur toute sa vie. Sinon les généralisations ce n'est pas le mal, ça dépend de à qui c'est servi. J'avais écrit un topo dessus dans mon livre.
  16. @Orphy Vendetta, voilà et donc tu as compris : il n'y a rien besoin de faire au niveau de la société.
  17. Parler d'expérience vaut plus que de parler sur du vent
  18. Mèèèh comment tu fais sur un site en version desktop avec ton smartphone retina ? Tu lis à la loupe ?
  19. Je suis heureux de constater que le Bénin et le Ghana sont évalués au même niveau de sécurité que l'Espagne, l'Italie ou la Pologne. Sinon je pense comme toi que l'insécurité rend caduque le reste de la liberté, et cela d'autant plus lorsqu'on a une famille et un patrimoine. Toutefois il ne faut pas associer le niveau de développement avec le niveau de sécurité. La règle est peut-être vraie "en général" mais il existe assez d'entorses pour se choisir un coin tranquille même peu développé.
  20. Le relationnel apporte aussi une garantie sur l'intégrité des transactions. Le NoSQL n'est pas standardisé alors pour chaque outil il faut re-vérifier. Le NoSQL est même fait pour tolérer des états non intègres, l'objectif étant certes d'en réduire le nombre mais le monde relationnel n'a pas cette tolérance. Alors pour stocker des commentaires Facebook pourquoi pas. Stocker une compta en NoSQL n'est pas une bonne idée.
  21. Au fait, que penses-tu de CP ? À mon sens, non, inutile de révolutionner le Web là-dessus : le Web 2.0 est une techno éprouvée. Elle marche bien et elle est simple, donc elle continuera à être la meilleure. Les applications JS ne seront pas référencées. Le système de la page avec un double contenu (une version sans JS et une version avec) est à l'inverse compliqué et introduit nécessairement un doute au niveau de Googlebot, lequel se demandera si réellement la copie est conforme et comment savoir. Et qui dit doute dit sous-référencement. Donc il faut vraiment voir les applications JS et les "pages Web" comme deux choses différentes. L'une sert à produire, l'autre à consommer. La première est centrée sur le poste client, la seconde sur le serveur. La première n'est pas référencée, l'autre si. Le Web 2.0 peut en revanche être amélioré à la marge au moyen de JS et de chargements en Ajax. Reprenons le cas des blogs. Le visiteur peut accéder à un article de diverses manières : par une page d'archives, par une page de catégorie, par une page de tag, par la liste des articles récents etc. En JS nous pourrions ajouter un contexte de navigation, pour donner par exemple les liens vers les articles suivant/précédant selon la liste utilisée pour accéder à la page. Comme pour les forums, un bloc qui se rafraichirait en temps réel pourrait donner les derniers commentaires. Etc. De cette manière il devient également possible de créer un cache serveur efficace : l'ajout d'un nouvel article ou commentaire n'invaliderait plus l'ensemble des pages du site. Le cache d'une page d'article n'a besoin d'être invalidé que lors d'une édition de son texte ou d'un ajout de commentaire sous ce texte. Dans cette optique, les divers blocs de liens croisés dont le contenu change lors de l'ajout de nouveaux articles devraient être chargés dans des iframe : les articles "related", les articles du même auteur, les articles en Une etc. Le cache navigateur est alors également bien mieux utilisé : lorsque l'utilisateur revient sur une page déjà visitée, le navigateur reçoit un 304 Not Modified et ne recharge que les blocs de liens croisés… ou pas : par exemple la iframe des articles de Une n'a pas besoin de recharger son contenu d'une page à l'autre, elle reçoit elle aussi un 304 Not Modified. Et alors au final Googlebot est aidé à sélectionner le contenu cible de la page, puisque les blocs autres sont pour lui invisibles ou dans des iframes. Son algo de détermination de ce qui est important sera donc moins souvent trompé, en échange de quoi certains liens croisés lui deviennent invisibles. Mais même cela a du sens : par exemple le visiteur en provenance de Google ne s'attend pas à un contexte de navigation particulier pour les liens "article précédant / article suivant" puisqu'il ne vient pas d'une liste du site. Chez Google ils auront donc peut-être un ajustement à faire, mais finalement assez minime. Je précise que sur ces points aussi, j'ai bossé la première moitié de cette année. Mais il m'en reste à faire.
  22. Attention car le panneau d'administration n'est pas tout. Il reste tout de même les pages Web générées par ce panneau, qui doivent, elles, rester en Web 2.0 c'est-à-dire navigables sans JavaScript (JS sert au confort) et parsemées de vrais hyperliens. Pour ces pages "de consommation" le MVC est toujours du côté serveur. Mais il est simple. Il faut juste un système de thème/templates en fait (et PHP fait l'affaire là-dessus).
  23. Ah OK j'avais pas lu. Trop de blabla tue le blabla.
  24. "Responsive". Du design adaptatif. Il apparait dans la liste des mots importants du manifesto.
  25. Ce qui est contradictoire, c'est de savoir ce qui est bien pour des personnes que tu ne connais pas. Le problème, c'est que ce sont juste de bonnes intentions : quelles "structures" ? Quelle sorte d' "encouragement" par exemple ? Comment discriminer les associations qui répondent au critère de "la volonté des individus" ? Et qu'ajouter encore pour "permettre aux individus de s'associer" ? Essaie de mettre des mesures concrètes sur ces mots et tu obtiens un système totalitaire. Et puis si une société peut se donner un but, alors pourquoi celui-là et pas un autre ? Comment le choisit-elle en pratique ? Le progressisme et la nature humaine, ça fait deux.
×
×
  • Créer...