Si je me souviens bien, la barre de recherche reste après une mise à jour. C'est l'interface par défaut de Firefox qui ne la présente plus, mais elle reste présente dans les outils de personnalisation.
Solution proposée : dans le flux atom des dépêches, faire pointer le lien « lire les commentaires » vers des url atom plutôt que html. Idem avec les journaux et les forums.
Je garderai le texte « Lire les commentaires » pour la lecture direct sur le web et j'ajouterai un second bouton « Suivre les commentaires » pointant vers le flux atom.
Ça reflétera mieux à mon avis l'action exécutée par le lien, non ?
J'ai l'ai eu avant le 16/11 (windows et os x). Mais cette inexactitude est sûrement du à un timing très serré entre l'écriture de cet article (et sa publication) et la publication du logiciel.
C'est juste que l'article anglophone est très long et qu'il nous a fallu pas mal de temps pour la finaliser.
Ceci dit je trouve cette version (57)
Cette dépêche ne parle pas d'amélioration de la version 57, mais de prochaines améliorations.
Firefox 57 a le nouveau moteur CSS Stylo et les prochaines versions verront arriver le nouveau moteur de rendu WebRender.
En effet, dans la dernière section, c'est écrit:
Nous avons hâte d'intégrer WebRender à Firefox dans le cadre de Quantum Render en 2018, quelques versions après la sortie initiale de Firefox Quantum.
En effet ça fait un peu bizarre, mais je vois mal comment on pourrait garder un outil simple pour calculer où couper le code HTML et comprendre en même temps la langue française et/ou anglaise :)
Si tu regardes un peu les détails du patch, tu verras que je n'ai rien inventé de nouveau: j'ai juste demander d'appliquer les mêmes règles que sur les autres contenus (journeaux et forum si je me souviens bien).
Le code est assez nouveau pour moi, mais à mon avis c'est que parser du HTML pour retrouver les 80 mots affichables et le tronquer correctement est assez couteux pour le serveur.
Je vois donc cette colonne comme un cache pour le contenu tronqué.
En plus, comme le contenu bouge peu une fois publié, c'est quand même plus efficace de faire ce calcul une seule fois au lieu de le calculer à la volée pour tous les utilisateurs, visiteurs et robots.
Une autre solution serait de tronquer côté client avec du CSS (ou au pire JavaScript), mais ça me semble moins efficace en bande passante et plus difficile à maîtriser pour retrouver le 80ieme mot à afficher.
J'ai trouvé comment faire une solution en réutilisant le code existant déjà pour les journaux.
Ça demande une modification en base de donnée de la table wiki_pages pour ajouter une colonne avec un contenu tronqué à 80 mots (ce contenu est calculé automatiquement à chaque modification du contenu principal).
Le résultat donne assez bien, pour dire que je n'ai quasiment rien crée de nouveau:
Il y a juste une truc marrant, c'est que les liens vers linuxfr dans les contenus de wiki contiennent le favicon de linuxfr à côté. Du coup, ici on se retrouve avec ce favicon à côté du lien (...).
Personnellement, ça ne me dérange pas, mais pensez-vous que ça va créer une entrée de suivi pour corriger ça ?
Pour la configuration des fichiers, tu seras forcé de les mettre à jour avec les évolutions des différents programmes. En effet, des options apparaissent/disparaissent… Debian n'y peut rien.
C'est quelque chose de très chronophage. Par contre, si tu as de la chance comme moi, certains de tes logiciels critiques seront déjà disponibles dans une version proche de Stretch grâce aux dépôts de jessie-backports et/ou jessie-backports-sloppy (sloppy est un backports qui évolue encore pour old-stable).
Ces dépôts te permettent de mettre à jour un logiciel après l'autre sans devoir modifier toutes les configurations de tous les logiciels en même temps.
Par exemple, grâce à Backports, ma migration du serveur XMPP ejabberd et du serveur mail Exim ont été très simple, puisque j'avais déjà les versions de Stretch sur mon serveur Jessie.
Tu noteras dans mon poste, que même si ça simplifie, ça ne suffit pas pour t'assurer que tout se passera bien: même si ejabberd avait la même version, une de ses dépendances a été mise à jour sur Stretch: openssl est passé à la version 1.1, ce qui a cassé le lien entre ejabberd et openssl avec l'utilisation de certificats ECC.1
En fait, le plus simple, si tu en as les moyens, c'est d'avoir une machine de test pour tester la mise à jour et déjà prévoir les changements de configuration que tu devras faire.
Bonne chance !
1 : évidemment j'ai fait un rapport de bug à Debian, j'ai proposé un rétro-portage du patch upstream et le fix est intégré à Debian depuis la mise à jour de Septembre <3
Désolé pour le dérangement avec cette nouvelle version de Ruby…
Il faudrait peut-être modifier le fichier README pour ne pas conseiller d'installer la version stable de Ruby, mais plutôt une version exacte ?
Ça va un peu mieux, mais l'exception est toujours là:
adrien@bureau-ado:~/code/linuxfr.org$ bin/rake db:setup
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:21: warning: constant ::Fixnum is deprecated
/home/adrien/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:85:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'coffee-rails'.
Gem Load Error is: wrong argument type Class (expected Module)
Backtrace for gem load error is:
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:23:in `include'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:23:in `block (2 levels) in <top (required)>'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:22:in `class_eval'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:22:in `block in <top (required)>'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:21:in `each'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:21:in `<top (required)>'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `require'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `block in require'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:240:in `load_dependency'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `require'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/therubyracer-0.12.2/lib/v8.rb:22:in `<top (required)>'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `require'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `block in require'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:240:in `load_dependency'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `require'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/execjs-2.5.0/lib/execjs/ruby_racer_runtime.rb:108:in `available?'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/execjs-2.5.0/lib/execjs/runtimes.rb:53:in `each'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/execjs-2.5.0/lib/execjs/runtimes.rb:53:in `find'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/execjs-2.5.0/lib/execjs/runtimes.rb:53:in `best_available'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/execjs-2.5.0/lib/execjs/runtimes.rb:47:in `autodetect'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/execjs-2.5.0/lib/execjs.rb:5:in `<module:ExecJS>'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/execjs-2.5.0/lib/execjs.rb:4:in `<top (required)>'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `require'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `block in require'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:240:in `load_dependency'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `require'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/coffee-script-2.4.1/lib/coffee_script.rb:1:in `<top (required)>'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `require'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `block in require'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:240:in `load_dependency'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `require'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/coffee-script-2.4.1/lib/coffee-script.rb:1:in `<top (required)>'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `require'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `block in require'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:240:in `load_dependency'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/activesupport-4.2.8/lib/active_support/dependencies.rb:274:in `require'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/coffee-rails-4.1.0/lib/coffee-rails.rb:1:in `<top (required)>'
/home/adrien/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:82:in `require'
/home/adrien/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:82:in `block (2 levels) in require'
/home/adrien/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:77:in `each'
/home/adrien/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:77:in `block in require'
/home/adrien/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:66:in `each'
/home/adrien/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:66:in `require'
/home/adrien/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.4/lib/bundler.rb:108:in `require'
/home/adrien/code/linuxfr.org/config/application.rb:6:in `<top (required)>'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/application.rb:82:in `require'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/application.rb:82:in `preload'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/application.rb:143:in `serve'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/application.rb:131:in `block in run'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/application.rb:125:in `loop'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/application.rb:125:in `run'
/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/application/boot.rb:18:in `<top (required)>'
/home/adrien/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/home/adrien/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
-e:1:in `<main>'
Bundler Error Backtrace:
(Bundler::GemRequireError)
from /home/adrien/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:81:in `block (2 levels) in require'
from /home/adrien/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:77:in `each'
from /home/adrien/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:77:in `block in require'
from /home/adrien/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:66:in `each'
from /home/adrien/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:66:in `require'
from /home/adrien/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.4/lib/bundler.rb:108:in `require'
from /home/adrien/code/linuxfr.org/config/application.rb:6:in `<top (required)>'
from /home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/application.rb:82:in `require'
from /home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/application.rb:82:in `preload'
from /home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/application.rb:143:in `serve'
from /home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/application.rb:131:in `block in run'
from /home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/application.rb:125:in `loop'
from /home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/application.rb:125:in `run'
from /home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/application/boot.rb:18:in `<top (required)>'
from /home/adrien/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/adrien/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from -e:1:in `<main>'
Ah, cette fois-ci, j'ai trouvé le coupable: au début je pensais que c'était coffee-rails, mais comme indiqué dans leur rapport de bug, c'est en fait therubyracer qui doit être en version 0.12.3 pour avoir le support de Ruby 2.4.0.
Maintenant, cette exception n'est plus levée, mais la commande bin/rake db:setup tourne dans le vide.
Quand je l'arrête manuellement, il me donne ces informations:
adrien@bureau-ado:~/code/linuxfr.org$ bin/rake db:setup
^C/home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/client/run.rb:99:in `gets': Interrupt
from /home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/client/run.rb:99:in `verify_server_version'
from /home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/client/run.rb:56:in `run'
from /home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/client/run.rb:37:in `warm_run'
from /home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/client/run.rb:26:in `call'
from /home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/client/command.rb:7:in `call'
from /home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/client.rb:26:in `run'
from /home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/bin/spring:48:in `<top (required)>'
from /home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/binstub.rb:11:in `load'
from /home/adrien/code/linuxfr.org/vendor/ruby/2.4.0/gems/spring-1.3.4/lib/spring/binstub.rb:11:in `<top (required)>'
from /home/adrien/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/adrien/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/adrien/code/linuxfr.org/bin/spring:13:in `<top (required)>'
from bin/rake:3:in `load'
from bin/rake:3:in `<main>'
Je confirme que c'est assez compliqué pour un développeur qui n'a jamais touché à rails/ruby, même en utilisation l'installation de ruby par rvm indépendamment de la distribution (et le fichier des Gem pour avoir un environnement de modules externes précis).
J'avais réussi à le mettre en place sur une machine avec Debian Stretch cet été, ce qui m'a permis de proposer le patch d'ajout des norloges dans le nouveau design des tribunes (on peut la voir dans l'espace rédaction ; ça a été fusionné à la main, sans utiliser Github). Seulement, je n'ai plus accès à cette machine depuis.
Le weekend dernier j'ai essayé à nouveau d'installer un environnement de développement sur une autre machine avec Debian Buster et j'ai échoué malgré la réussite sur la première machine: la « simple » configuration de la base de donnée tombe déjà en échec avec des exceptions ruby assez incompréhensible pour un néophyte. Je vais tenter encore une installation sur une machine virtuelle Stretch, mais je pense que ça ne résoudra pas le problème.
Mon avis est que Ruby/Rails bouge trop vite pour ne pas décider d'un environnement plus précis que "stable" et un Gemfile.
PS: Oui, un fichier Docker avait été proposé il y a quelques temps, mais il tombe en erreur également et je pense que c'est à cause de cet environnement trop mouvementé.
Peux-tu donner un exemple plus clair?
Hormis dans un contexte multithreadé où l'accès à une même zone mémoire peut poser des problèmes,
Justement, tout l'intérêt de Rust est de pouvoir faire du code MultiThreadé sans risque de problèmes de concurrences.
C'était ce qui était expliqué dans la dépêche au sujet de Stylo de Firefox: en amenant un moteur CSS multi-threadé, ils avaient besoin d'avoir une assurance que les corrections faites par des centaines de développeurs ne rencontrent pas les problèmes de concurrence. Ils utilisent justement Rust pour avoir cette assurance, car ce langage est capable d'empêcher le développeur de créer du code buggé (d'après leurs discours).
C'est clair que c'est contraignant, mais les bugs de concurrences sont aussi hyper compliqués à résoudre, car ils dépendent énormément du contexte d'exécution. Ici, Rust fournit un langage plus difficile à appréhender (car il force le développeur à utiliser de nouveaux paradigmes), mais il fournit des concepts qui empêchent l'apparition de ces bugs.
On reproche souvent à Apple leurs marges considérables. C'est pas un peu paradoxal d'expliquer qu'on ne peut pas s'aligner sur leurs prix à cause des coûts de production?
Tu as de la chance: le financement est en crow funding. Ça veut dire que tu peux payer 1200€ pour un seul téléphone si tu souhaites vraiment être aligné aux prix d'Apple :-)
Si non, l'offre et la demande ça marche aussi dans ce sens: il y a peu de demande, alors l'offre sera plus cher.
L'idée aussi est que la production de matériel a un coup considérable dû à la phase d'initialisation de la chaîne de production. Dès que la chaîne est prête, tu peux produire 1'000 ou 10'000 unités pour le même coût d'initialisation (et de recherche et développement).
Comme ce n'est pas les pièces et matériaux qui sont chers (sauf si tu sélectionnes les matériaux comme Fairphone), alors tu peux beaucoup mieux répartir les coûts sur un grand nombre d'unités.
Merci pour tes contributions, c'est dommage que tu ne puisses pas nous aider en amont :(
Pour le «data race», le contexte de l'article est une vulgarisation de beaucoup d'aspects techniques. Je pense que dans ce cas, il est dommage d'y apporter de si grandes notes de traduction pour un point qui est clairement renvoyé à un autre article plus détaillé.
Note que dans le 3ème paragraphe de l'introduction de la dépêche, nous avons inclus le texte qui mentionne bien la licences CC BY SA 3.0 avec le lien vers la bonne version résumée (j'ai trouvé cette licence dans le pied de page du site web contenant l'article original).
Le lien que tu pointes est celui ajouté automatiquement par LinuxFR sous le titre de la dépêche.
Dans l'espace de rédaction, je n'ai pas vu d'option pour désactiver cette licence automatique.
Est-ce que c'est possible de mettre à jour son lien ou on n'a que le texte qui peut le surpasser ?
Peut-être qu'il faudrait éclaircir un peu plus l'interface de LinuxFR.
Si on est sur la page "Dépêche" (ce qui est le plus courant pour les nouveaux rédacteurs), on a un bouton "Proposer une dépêche" qui est un lien qui pointe vers https://linuxfr.org/news/nouveau
Si on est dans l'espace de rédaction, on a un bouton "Commencer une dépêche" qui est un formulaire qui pointe vers https://linuxfr.org/redaction/news
Même si les noms sont très identiques, on se retrouve avec 2 formulaires très différents:
Le premier est un formulaire qui envoie une dépêche directement en modération (on notera qu'il permet aussi d'ajouter les tags directement, mais qu'il n'y a aucune sauvegarde du travail en cours).
Le second est un formulaire qui crée une dépêche dans l'espace de rédaction avec un identifiant unique (il ne permet pas de gérer les tags, mais permet l'édition avec sauvegarde automatique paragraphe par paragaphe).
Pour simplifier l'interface et le code, je pense que l'on devrait supprimer le premier formulaire et toujours proposer celui de l'espace de rédaction.
Ça permettra d'éviter que des dépêches soient envoyées dans l'espace de modération alors qu'elles étaient en cours d'édition (ce qui m'est arrivé lors de la création de la dépêche sur Firefox 55, désolé encore -_-). Ça permettra aussi de promouvoir l'espace de rédaction avec son coté très collaboratif/communautaire (qui permet une première relecture sans besoin de déranger les modérateurs) et qui offre automatiquement une sauvegarde côté serveur.
L'article était déjà bien assez long pour ne pas y inclure un benchmark :D
Je ne sais pas si des benchmarks sont déjà sorti, mais tu peux déjà tester toi-même le nouveau moteur en installant Firefox Nightly comme écrit dans les premiers paragraphes.
Alors que d'un autre côté, certains (trop rares, ok) logiciels propriétaires ont, eux, des audits et certifications.
Certains (trop rares, ok) logiciels libres ont, eux, des audits et certifications.
Leurs audits sont moins bidons que les audits et certifications "blackbox" que certains logiciels propriétaires font (voir les audits des voitures diesel).
Mon message est surtout que la sécurité par l'obfuscation != sécurité.
Justement, pour moi sa comparaison ne peut pas tenir, car il y a une hypothèse caduque: le propriétaire ne peut pas être jugé relativement sûr, puisque l'on ne sait rien de ce que fait le code propriétaire (pour un code libre, ce n'est évidemment pas suffisant, il faudrait aussi un système pour vérifier que le code compilé et installé dans le téléphone provienne bien des sources libres intactes).
[^] # Re: Failles de sécurités connes pour Firefox 57
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à la dépêche Firefox Quantum, première partie du projet Quantum de Mozilla, est disponible. Évalué à 3. Dernière modification le 10 décembre 2017 à 05:56.
Ahaha, bien vu, je n'ai pas relu les titres des liens :)
[^] # Re: Version spéciale Google ?
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à la dépêche Firefox Quantum, première partie du projet Quantum de Mozilla, est disponible. Évalué à 4.
Si je me souviens bien, la barre de recherche reste après une mise à jour. C'est l'interface par défaut de Firefox qui ne la présente plus, mais elle reste présente dans les outils de personnalisation.
# Proposer 2 liens ?
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à l’entrée du suivi Lien vers les commentaires depuis le flux atom. Évalué à 2 (+0/-0).
Je garderai le texte « Lire les commentaires » pour la lecture direct sur le web et j'ajouterai un second bouton « Suivre les commentaires » pointant vers le flux atom.
Ça reflétera mieux à mon avis l'action exécutée par le lien, non ?
[^] # Re: Ca change !
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à la dépêche Un nouveau moteur de rendu ultra‐rapide pour Firefox : Quantum Render. Évalué à 10. Dernière modification le 17 novembre 2017 à 15:43.
C'est juste que l'article anglophone est très long et qu'il nous a fallu pas mal de temps pour la finaliser.
Cette dépêche ne parle pas d'amélioration de la version 57, mais de prochaines améliorations.
Firefox 57 a le nouveau moteur CSS Stylo et les prochaines versions verront arriver le nouveau moteur de rendu WebRender.
En effet, dans la dernière section, c'est écrit:
[^] # Re: Bug
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à l’entrée du suivi Afficher de manière réduite les pages wiki sur le système d'accueil. Évalué à 3 (+0/-0).
En effet ça fait un peu bizarre, mais je vois mal comment on pourrait garder un outil simple pour calculer où couper le code HTML et comprendre en même temps la langue française et/ou anglaise :)
Si tu regardes un peu les détails du patch, tu verras que je n'ai rien inventé de nouveau: j'ai juste demander d'appliquer les mêmes règles que sur les autres contenus (journeaux et forum si je me souviens bien).
[^] # Re: Pull request crée sur Github
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à l’entrée du suivi Afficher de manière réduite les pages wiki sur le système d'accueil. Évalué à 2 (+0/-0).
Cool, merci pour la réactivité :-)
[^] # Re: Pull request crée sur Github
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à l’entrée du suivi Afficher de manière réduite les pages wiki sur le système d'accueil. Évalué à 2 (+0/-0).
Oups, j'ai oublié le lien Github: https://github.com/linuxfrorg/linuxfr.org/pull/216
[^] # Re: Pull request crée sur Github
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à l’entrée du suivi Afficher de manière réduite les pages wiki sur le système d'accueil. Évalué à 3 (+0/-0).
Le code est assez nouveau pour moi, mais à mon avis c'est que parser du HTML pour retrouver les 80 mots affichables et le tronquer correctement est assez couteux pour le serveur.
Je vois donc cette colonne comme un cache pour le contenu tronqué.
En plus, comme le contenu bouge peu une fois publié, c'est quand même plus efficace de faire ce calcul une seule fois au lieu de le calculer à la volée pour tous les utilisateurs, visiteurs et robots.
Une autre solution serait de tronquer côté client avec du CSS (ou au pire JavaScript), mais ça me semble moins efficace en bande passante et plus difficile à maîtriser pour retrouver le 80ieme mot à afficher.
# Pull request crée sur Github
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à l’entrée du suivi Afficher de manière réduite les pages wiki sur le système d'accueil. Évalué à 3 (+0/-0).
Hello,
J'ai trouvé comment faire une solution en réutilisant le code existant déjà pour les journaux.
Ça demande une modification en base de donnée de la table wiki_pages pour ajouter une colonne avec un contenu tronqué à 80 mots (ce contenu est calculé automatiquement à chaque modification du contenu principal).
Le résultat donne assez bien, pour dire que je n'ai quasiment rien crée de nouveau:
Il y a juste une truc marrant, c'est que les liens vers linuxfr dans les contenus de wiki contiennent le favicon de linuxfr à côté. Du coup, ici on se retrouve avec ce favicon à côté du lien
(...)
.Personnellement, ça ne me dérange pas, mais pensez-vous que ça va créer une entrée de suivi pour corriger ça ?
# Faire une mise à jour étape par étape avec jessie-backports et jessie-backports-sloppy
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse au message Upgrade de debian jessie à stretch. Évalué à 2.
Hello,
Pour la configuration des fichiers, tu seras forcé de les mettre à jour avec les évolutions des différents programmes. En effet, des options apparaissent/disparaissent… Debian n'y peut rien.
C'est quelque chose de très chronophage. Par contre, si tu as de la chance comme moi, certains de tes logiciels critiques seront déjà disponibles dans une version proche de Stretch grâce aux dépôts de jessie-backports et/ou jessie-backports-sloppy (sloppy est un backports qui évolue encore pour old-stable).
Ces dépôts te permettent de mettre à jour un logiciel après l'autre sans devoir modifier toutes les configurations de tous les logiciels en même temps.
Par exemple, grâce à Backports, ma migration du serveur XMPP ejabberd et du serveur mail Exim ont été très simple, puisque j'avais déjà les versions de Stretch sur mon serveur Jessie.
Tu noteras dans mon poste, que même si ça simplifie, ça ne suffit pas pour t'assurer que tout se passera bien: même si ejabberd avait la même version, une de ses dépendances a été mise à jour sur Stretch: openssl est passé à la version 1.1, ce qui a cassé le lien entre ejabberd et openssl avec l'utilisation de certificats ECC.1
En fait, le plus simple, si tu en as les moyens, c'est d'avoir une machine de test pour tester la mise à jour et déjà prévoir les changements de configuration que tu devras faire.
Bonne chance !
1 : évidemment j'ai fait un rapport de bug à Debian, j'ai proposé un rétro-portage du patch upstream et le fix est intégré à Debian depuis la mise à jour de Septembre <3
[^] # Re: Et maintenant ?
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à l’entrée du suivi Exceptions lors de la création d'un environnement de développement. Évalué à 2 (+0/-0).
Chouette, ça a marché, merci !
Désolé pour le dérangement avec cette nouvelle version de Ruby…
Il faudrait peut-être modifier le fichier README pour ne pas conseiller d'installer la version stable de Ruby, mais plutôt une version exacte ?
[^] # Re: Et maintenant ?
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à l’entrée du suivi Exceptions lors de la création d'un environnement de développement. Évalué à 3 (+0/-0).
Ça va un peu mieux, mais l'exception est toujours là:
Ah, cette fois-ci, j'ai trouvé le coupable: au début je pensais que c'était coffee-rails, mais comme indiqué dans leur rapport de bug, c'est en fait therubyracer qui doit être en version 0.12.3 pour avoir le support de Ruby 2.4.0.
Je viens de faire un pull request sur la branche before-redesign pour appliquer cette modification au Gemfile et au Gemfile.lock: https://github.com/linuxfrorg/linuxfr.org/pull/215
Maintenant, cette exception n'est plus levée, mais la commande
bin/rake db:setup
tourne dans le vide.Quand je l'arrête manuellement, il me donne ces informations:
[^] # Re: LinuxFR.org semble développé par ~1 personne, des impacts ?
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à la dépêche Améliorons l’expérience utilisateur de LinuxFr.org !. Évalué à 7.
Je confirme que c'est assez compliqué pour un développeur qui n'a jamais touché à rails/ruby, même en utilisation l'installation de ruby par rvm indépendamment de la distribution (et le fichier des Gem pour avoir un environnement de modules externes précis).
J'avais réussi à le mettre en place sur une machine avec Debian Stretch cet été, ce qui m'a permis de proposer le patch d'ajout des norloges dans le nouveau design des tribunes (on peut la voir dans l'espace rédaction ; ça a été fusionné à la main, sans utiliser Github). Seulement, je n'ai plus accès à cette machine depuis.
Le weekend dernier j'ai essayé à nouveau d'installer un environnement de développement sur une autre machine avec Debian Buster et j'ai échoué malgré la réussite sur la première machine: la « simple » configuration de la base de donnée tombe déjà en échec avec des exceptions ruby assez incompréhensible pour un néophyte. Je vais tenter encore une installation sur une machine virtuelle Stretch, mais je pense que ça ne résoudra pas le problème.
Mon avis est que Ruby/Rails bouge trop vite pour ne pas décider d'un environnement plus précis que "stable" et un Gemfile.
PS: Oui, un fichier Docker avait été proposé il y a quelques temps, mais il tombe en erreur également et je pense que c'est à cause de cet environnement trop mouvementé.
[^] # Re: Coquille
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à la dépêche Firefox fait des vannes pour sa version 56. Évalué à 3. Dernière modification le 15 octobre 2017 à 22:13.
Oui, mais c'est aussi de ma faute, car j'ai fait beaucoup de changements hier soir avant de relire et publier.
La prochaine fois, j'attendrai d'être le lendemain à tête reposée pour faire la relecture, désolé pour les désagréments.
[^] # Re: Capture de page
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à la dépêche Firefox fait des vannes pour sa version 56. Évalué à 9.
Pour faire, une capture complète, je fais ça:
[^] # Re: Gnirehtet réécrit en Rust
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse au journal Du reverse tethering, en Rust. Évalué à 6.
Justement, tout l'intérêt de Rust est de pouvoir faire du code MultiThreadé sans risque de problèmes de concurrences.
C'était ce qui était expliqué dans la dépêche au sujet de Stylo de Firefox: en amenant un moteur CSS multi-threadé, ils avaient besoin d'avoir une assurance que les corrections faites par des centaines de développeurs ne rencontrent pas les problèmes de concurrence. Ils utilisent justement Rust pour avoir cette assurance, car ce langage est capable d'empêcher le développeur de créer du code buggé (d'après leurs discours).
C'est clair que c'est contraignant, mais les bugs de concurrences sont aussi hyper compliqués à résoudre, car ils dépendent énormément du contexte d'exécution. Ici, Rust fournit un langage plus difficile à appréhender (car il force le développeur à utiliser de nouveaux paradigmes), mais il fournit des concepts qui empêchent l'apparition de ces bugs.
[^] # Re: Rapport performance / prix décevant
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à la dépêche Librem 5, un projet de téléphone mobile libre tournant sous GNU/Linux !. Évalué à 2.
Tu as de la chance: le financement est en crow funding. Ça veut dire que tu peux payer 1200€ pour un seul téléphone si tu souhaites vraiment être aligné aux prix d'Apple :-)
Si non, l'offre et la demande ça marche aussi dans ce sens: il y a peu de demande, alors l'offre sera plus cher.
L'idée aussi est que la production de matériel a un coup considérable dû à la phase d'initialisation de la chaîne de production. Dès que la chaîne est prête, tu peux produire 1'000 ou 10'000 unités pour le même coût d'initialisation (et de recherche et développement).
Comme ce n'est pas les pièces et matériaux qui sont chers (sauf si tu sélectionnes les matériaux comme Fairphone), alors tu peux beaucoup mieux répartir les coûts sur un grand nombre d'unités.
[^] # Re: Republication de l'article et publicité
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à la dépêche Les entrailles d’un interpréteur CSS très rapide : Quantum CSS (alias Stylo). Évalué à 4.
Merci pour la republication : ça me fait plaisir de voir de temps en temps le petit message apparaître quand je démarre mon navigateur :-)
[^] # Re: Coquilles
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à la dépêche Les entrailles d’un interpréteur CSS très rapide : Quantum CSS (alias Stylo). Évalué à 5.
Merci pour tes contributions, c'est dommage que tu ne puisses pas nous aider en amont :(
Pour le «data race», le contexte de l'article est une vulgarisation de beaucoup d'aspects techniques. Je pense que dans ce cas, il est dommage d'y apporter de si grandes notes de traduction pour un point qui est clairement renvoyé à un autre article plus détaillé.
[^] # Re: Rédaction
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à l’entrée du suivi Sauvegarder une dépêche avant de la soumettre. Évalué à 2 (+0/-0). Dernière modification le 01 septembre 2017 à 08:49.
Je viens d'ouvrir un ticket ici: https://linuxfr.org/suivi/mieux-distinguer-les-2-modes-de-publication-des-depeches
[^] # Re: Coquilles
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à la dépêche Les entrailles d’un interpréteur CSS très rapide : Quantum CSS (alias Stylo). Évalué à 5.
Hello,
Note que dans le 3ème paragraphe de l'introduction de la dépêche, nous avons inclus le texte qui mentionne bien la licences CC BY SA 3.0 avec le lien vers la bonne version résumée (j'ai trouvé cette licence dans le pied de page du site web contenant l'article original).
Le lien que tu pointes est celui ajouté automatiquement par LinuxFR sous le titre de la dépêche.
Dans l'espace de rédaction, je n'ai pas vu d'option pour désactiver cette licence automatique.
Est-ce que c'est possible de mettre à jour son lien ou on n'a que le texte qui peut le surpasser ?
[^] # Re: Rédaction
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à l’entrée du suivi Sauvegarder une dépêche avant de la soumettre. Évalué à 2 (+0/-0).
Peut-être qu'il faudrait éclaircir un peu plus l'interface de LinuxFR.
Même si les noms sont très identiques, on se retrouve avec 2 formulaires très différents:
Pour simplifier l'interface et le code, je pense que l'on devrait supprimer le premier formulaire et toujours proposer celui de l'espace de rédaction.
Ça permettra d'éviter que des dépêches soient envoyées dans l'espace de modération alors qu'elles étaient en cours d'édition (ce qui m'est arrivé lors de la création de la dépêche sur Firefox 55, désolé encore -_-). Ça permettra aussi de promouvoir l'espace de rédaction avec son coté très collaboratif/communautaire (qui permet une première relecture sans besoin de déranger les modérateurs) et qui offre automatiquement une sauvegarde côté serveur.
[^] # Re: Belle promesse
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse à la dépêche Les entrailles d’un interpréteur CSS très rapide : Quantum CSS (alias Stylo). Évalué à 5.
L'article était déjà bien assez long pour ne pas y inclure un benchmark :D
Je ne sais pas si des benchmarks sont déjà sorti, mais tu peux déjà tester toi-même le nouveau moteur en installant Firefox Nightly comme écrit dans les premiers paragraphes.
[^] # Re: Matrix et Android
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse au journal Un téléphone orienté sécurité et vie privée, avec du libre dedans. Évalué à 2. Dernière modification le 30 août 2017 à 11:34.
Certains (trop rares, ok) logiciels libres ont, eux, des audits et certifications.
Leurs audits sont moins bidons que les audits et certifications "blackbox" que certains logiciels propriétaires font (voir les audits des voitures diesel).
Mon message est surtout que la sécurité par l'obfuscation != sécurité.
[^] # Re: Matrix et Android
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse au journal Un téléphone orienté sécurité et vie privée, avec du libre dedans. Évalué à 2.
Justement, pour moi sa comparaison ne peut pas tenir, car il y a une hypothèse caduque: le propriétaire ne peut pas être jugé relativement sûr, puisque l'on ne sait rien de ce que fait le code propriétaire (pour un code libre, ce n'est évidemment pas suffisant, il faudrait aussi un système pour vérifier que le code compilé et installé dans le téléphone provienne bien des sources libres intactes).