Effectivement, la manchette latérale gauche a une taille fixe (environ 15em en l'état) et le reste de l'écran est alloué au contenu, et cela reste comme cela en rétrécissant l'écran jusqu'à un certain point où
C'est une bonne idée mais c'est difficilement applicable aux commentaires, qui sont organisés en fil et sur la page desquelles il n'y a structurellement qu'un seul article (dépêche, journal ou entrée de forum). Ce serait faisable en revanche sur les pages d'accueil de chacune des grandes sections qui présentent tous les articles en liste.
J'utilise actuellement un moniteur SyncMaster T200 de neuf ans d'âge mais qui a de très bons contrastes et rendu des couleurs mais qui est toujours en 1680×1050. C'est grosso-modo le format d'un A3 allongé, ça me donne une vue panoramique mais ce n'est pas géantissime non plus, même si ça permet déjà de voir l'allongement des lignes par rapport à des choses plus petites.
Il faudrait que j'essaie sur quelque chose qui ait les dimensions de l'écran d'un Mac Pro, par exemple, pour voir à partir de quel stade il est intéressant de répartir les boîtes. Mais à titre indicatif, c'est déjà ce qui se passe sur la page des dépêches en cours de rédaction, en plus petit.
Quoi que tu choisisses, essaie de mettre ce qui se trouve sur le portable (ou sur la clé USB, le cas échéant) sur une partition chiffrée si possible. Si tu pers la clé de chiffrement — ou la clé USB elle-même — ce n'est pas grave puisque tu en auras toujours une copie sur le serveur de ton client et éventuellement sur ta machine. Par contre, un portable et une clé amovible qui se trimballent tous les jours ou presque entre les deux lieux de travail, ça s'oublie facilement sur une table, ça se vole très rapidement aussi et sinon, ça finit par tomber en panne. :)
Étant donné ta situation et la manière dont ton portable est configuré, je me rabattrais effectivement sur le dépôt Git sur une clé USB. Ça permet de rester sur le modèle habituel à deux dépôts (local + remote) et c'est ce qui serait le plus facile à utiliser, à la fois sur le portable et ta machine. En plus, il est plus facile de chiffrer une clé USB et de la monter sous le Windows du portable que de se battre avec les protections déjà en place pour le faire sur le disque dur.
Par contre, pense à faire une copie du dépôt sur ta machine à intervalles réguliers. Mais pour ça, tu n'as pas besoin de cloner le dépôt. Un rsync sur le répertoire sera plus efficace, je pense.
D'après ce que je lis, tes machines ne peuvent se connecter qu'au portable, et ce portable sert également de « poste de travail » officiel chez ton client. Donc, si tu n'avais tes propres machines à côté, c'est avec cet appareil que tu serais censé travailler.
Donc, il faudra cloner le dépôt principal sur ton portable (de la même façon que tu récupérerais le kernel pour travailler dessus en clonant le dépôt, ou à tout le moins les branches qui t'intéressent). Quelle taille fait-il, au fait ?
Ensuite, le plus simple consiste tout simplement à cloner à son tour le dépôt de ton portable depuis ta machine personnelle. De cette façon, tu n'as pas besoin de t'embêter à aller ajouter manuellement des sites remote sur un dépôt ou un autre, et les références amont (upstream) de tes branches seront tout de suite dans l'ordre (ta machine se réfère au portable, et le portable se réfère au site du client).
La seule chose qu'il faudra faire veiller à faire pour synchroniser ta machine et le portable est de faire autant les push et que les pull depuis ta machine. Le portable n'aura donc pas a priori connaissance de l'existence du dépôt sur ta machine, mais en recevra quand même les objets. Une fois un push effectué, tout ton travail se retrouvera sur ton portable comme si tu avais directement travaillé dessus et tu n'auras même pas à maintenir de branches distinctes spécifiques à ton portable ou à ta machine.
Évidemment, il faudra quand même configurer une seule fois les droits dans le dépôt de ton portable pour laisser ta machine s'y connecter. Et bien sûr, cela implique aussi de démarrer un serveur sur ton portable lorsque tu veux synchroniser, à moins d'avoir une vue directe sur le système de fichiers.
Tout-à-fait, et ça ne s'arrange pas puisque dans la version actuelle, j'ai même éliminé le logo sans l'avoir (encore) remplacé par quelque chose de différent. Comme exposé plus haut, elle mérite d'être beaucoup travaillée mais je suis mauvais graphiste, et il m'aurait fallu beaucoup trop de temps pour produire quelque chose de potable, mais elle a assurément besoin d'être décorée.
Je pense que je vais aussi faire la même en blanc en parallèle de celle-ci, avec une approche beaucoup moins « SF » et beaucoup plus sobre, mais en se basant sur le même canevas.
Puis-je te demander également quel navigateur tu utilises, parce que je m'aperçois sur les screenshots qu'on a eu l'amabilité de mettre en ligne un peu plus haut que même les icônes des boutons des commentaires que je pensais avoir correctement alignés partout ressortent de travers sur certains d'entre eux.
Une remarque tout de même, je regarde beaucoup linuxfr sur mon desktop (vous savez le machin qui a écran de 24") et les colonnes sont trop large pour être lisible. Limite cela serait top de faire 2 colonnes pour éviter les grands espaces vide de l'ancienne CSS.
Euh, d'accord, mais j'ai du mal à voir de quoi tu parles en particulier. Peux-tu préciser un peu ?
Merci.
En fait, l'idée était d'avoir globalement une « feuille de commentaires » la plus « plate » possible par défaut mais si effectivement, la fonte monospace n'est pas suffisante, on va essayer de trouver quelque chose de joli pour la décorer également.
Hello, merci pour cette contribution ! Il y a des trucs sympas, même si je ne pense pas l’adopter, principalement à cause de la palette de couleur qui ne me plaît pas trop.
Oui, en effet, comme dit plus haut, j'ai choisi de partir sur cette palette parce que ce genre de style me plaît en soi, mais aussi et surtout parce que ça représentait beaucoup plus de boulot que prévu et que je ne pouvais pas tout mener de front. Faire la mise en page, adapter les textes, les marges, etc. et faire les graphismes.
Et comme ça représente beaucoup de travail, c'était soi repartir sur encore trois mois en attendant de voir ce que j'aurais pu faire, soit la sortir en « version bêta » et la raffiner tranquillement ensuite. Mais je pense qu'une fois finalisée, je m'appuierai dessus pour refaire la même en blanc et en un peu plus « flat », pour coller à la mode actuelle.
la barre de navigation (nouveaux commentaires etc.) est trop transparente, du coup quand wa se superpose à du texte c’est complètement illisible.
La barre de navigation devient opaque quand on la survole. Pour le reste, j'ai voulu faire un effet de « verre » qui rend bien quand on scrolle mais à l'usage, c'est gênant. Je vais arranger ça aussi, donc.
elle disparaît quand la largeur du navigateur est petite, ça me pose perso problème.
Il faut vraiment que la largeur du navigateur soit très très petite pour qu'elle disparaisse mais en fait, c'était une première tentative pour l'adapter aux smartphones, et que je n'ai pas fini parce que je n'ai pas réussi à les cibler proprement avec les @media queries. C'est sur la liste aussi.
l’indentation des longs threads est problématique en petite largeur, le texte finit par commencer à gauche du cadre des commentaires. C’est pas la seule CSS qui fait ça, mais certaines ont bien réussi à corriger le tir.
« À gauche » ? C'est étonnant. C'est vrai que je me suis préoccupé des longs fils mais entretemps, j'en ai trouvé d'encore plus longs et les problèmes réapparaissent. On va corriger ça aussi.
Merci beaucoup, du coup ça me met un peu la pression parce qu'il reste beaucoup à faire avec le retour des utilisateurs, surtout que les choix graphiques sont encore loins de faire l'unanimité (ce qui était assumé) et que les difficultés d'affichage sur les navigateur Chrome-based sont un problème sur lequel il faut se pencher.
L'avantage est que ce n'est pas une dépêche noyau. On va donc prendre le temps qu'il faut pour rédiger un article de qualité.
Je vais effectivement retravailler les horloges tribune.
Vivaldi, qui est basé sur chromium. Pas comme si on avait vraiment le choix du moteur de rendu: c'est soit Firefox, soit IE, soit chromium… ah, j'oubliais le truc d'apple, je sais même plus le nom :)
Ouais, il est clair que ce n'est pas utilisable en l'état mais l'une des motivations à écrire cette CSS était justement l'utilisation des fonctionnalités CSS 3 dans la limite du raisonnable. En ce sens, j'estimais que tout ce qui passait fluidement sur ma machine (Un Core 2 Quad de fin 2008, qui marche très bien au demeurant) et avec Firefox pouvait être considéré comme raisonnable.
Je pense que ce sont les dégradés qui font ramer la chose, obligeant le navigateur à recalculer les couleurs de fond au scroll, là où d'autres navigateurs font un rendu global, plus rapide à parcourir mais plus coûteux en mémoire.
Ah, aussi, je trouve que la barre d'outil n'est pas très parlante (les boutons Im et Ln… ça cause pas des masses,
Oui, ça fait partie aussi des choses à optimiser. En fait, il me fallait dès le départ des caractères, disons, « les moins obscurs » possibles et qui soient affichés par défaut. Autant les puces et le style (gras, italique…) sont relativement clairs, autant les suivants nécessitent des icônes SVG en plus mais là encore, j'ai décidé de reléguer ça à la « deuxième étape » avec retours des utilisateurs parce qu'autrement, on a vite fait de faire encore plus obscur. Heureusement, il reste les infobulles pour lever les ambiguïtés.
et la boîte qui apparait indique juste "javascript de linuxfr.org" ici).
ça semble lourd, le scroll saccade (à vue de xosview, quand je scoll, ça bouffe 2 à 3 coeurs à fond, quand même!).
Oui, c'est effectivement une déception. Pour info, quel navigateur utilises-tu ?
La CSS a été principalement développée avec Firefox 57 sur Fedora en essayant d'écrire des règles globalement propres, puis en adaptant ce qui relève vraiment des particularités du navigateur et pas des imprécisions des règles. Est donc vite arrivé le temps de le confronter à d'autres navigateurs et quand je me suis rendu compte qu'il rame avec Chrome là où on s'attendait à ce qu'il soit toujours le navigateur le plus rapide, c'était trop tard pour revenir en arrière.
Pour le reste, tu pourrais me faire des screenshots ? Y a probablement pas mal de choses à corriger mais il y a aussi beaucoup de choses que tu nous signales et qui ne devraient pas se produire…
Il fallait bien sûr lire « d'ores et déjà être utilisé par toute autre feuille ». J'ai eu un problème d'édition cette nuit avec le corps du journal dupliqué en plein milieu de mon texte…
Pour les flèches, ce sont des caractères UTF-8 et effectivement, c'est toujours un problème si les fontes installées ne les prennent pas en charge. C'est le cas aussi de la flèche pour « remonter au commentaire parent » à gauche du bouton « # » dans le titre des commentaires. Si ça passe mal, il faudra effectivement passer au SVG.
Parce que quand je vais les styles, je vois… une longue liste de capture d'écrans, sans nom.
En fait, ça, c'est une fonctionnalité du site lui-même, qui présente les feuilles de style sous forme de capture d'écran, en « randomisant » l'ordre d'affichage des captures pour éviter d'en favoriser certaines. Celle qui est présentée ici affiche un gros « Steelblue » vertical sur la gauche de la capture.
Merci aussi pour les commentaires sur Github. Il y a bien sûr moyen de faire beaucoup mieux mais je suis un noob complet en Ror. :) Évidemment, j'ai fait de mon mieux pour valider totalement, documentation à l'appui, tout ce que j'ai écrit mais ça m'a coûté environ 24 heures par ligne :)
Une dépêche, c'est peut-être un peu beaucoup. Je vais au moins faire un journal pour l'annoncer. S'il est propre, on pourra éventuellement l'upgrader. Mais le mieux serait effectivement d'écrire quelque chose de concerté pour inciter ensuite les gens à faire pareil.
A quand un nouveau langage spécialisé pour ces usages ? Où une expression litérale genre "123.50" serait interprété comme un type décimal, et pas un float ? Même l'autoboxing de Java, implémenté longtemps après que ce langage soit sorti de la niche de l'embarqué pour lequel il avait été conçu, ne supporte pas le BigDecimal qui reste cloîtré dans son package.
Parce que dans la majorité des cas, cela n'a en fait aucun intérêt.
Les problèmes d'arrondi sont les mêmes en binaire qu'en décimal : 1÷3, ça fait 0,33333333333… et il y aura donc une perte dans toutes les bases de calcul où ce nombre ne tombe pas rond (ça fait pile poil 1,3 en base 9, en revanche).
Même en utilisant un type « financier » avec un nombre de décimales fixes après la virgule (en général 2, parfois 3), ça ne te permettra pas de faire toutes les divisions possibles. Si tu veux répartir équitablement 1,43 € entre deux personnes, tu vas forcément perdre 1 centime dans l'opération. Ce ne sera pas mieux avec un type de longueur arbitraire comme un BigDecimal Java ni avec une bibliothèque telle que GMP parce que tu serais toujours confronté aux mêmes problèmes de division si leur développement décimal est infini.
Si, enfin, tu te restreins à des langages où le nombre de décimales est fixe et dans lesquels on ne peut faire que des additions, des soustractions ou des multiplications, alors il suffit de travailler en virgule fixe avec les formats habituels : au lieu de compter en euros, tu comptes en centimes et toutes tes valeurs sont alors des nombres entiers. Il devient alors trivial de les manipuler, même en binaire.
C'est tout simplement parce que tu vois tous les problèmes comme des clous à planter.
Je ne suis pas sûr d'avoir complètement compris ce que tu entendais par là, mais si tu voulais dire « une manière de parvenir à ses fins, indépendamment de la curiosité mathématique », alors non. C'est même plutôt le contraire, si tu relis bien mon commentaire. C'est intéressant dans les langages tels que le Javascript qui sont non seulement interprétés, mais où les objets sont définis et remplis à l'exécution.
Par contre, il est important de ne pas faire tout et n'importe quoi juste pour résoudre le problème, même de façon théorique (ce qui nous ramènerait aux clous à planter). En développement logiciel, je suis assez adepte du « changement de paradigme », c'est-à-dire se laisser la possibilité d'utiliser un jeu de concepts totalement exotiques s'il le faut mais À CONDITION de poser le cadre dès le départ et de ne pas en sortir a posteriori au cours d'un projet, surtout si c'est pour se sortir d'une impasse.
En particulier, il y a beaucoup de gens qui font l'amalgame « classe = objet », alors que le mot « classe » doit en fait s'entendre dans le même sens que « classification du règne animal », par exemple. En ce sens, si tu ajoutes ou retires quelque chose à une classe, alors par définition, ce n'est plus la même classe ! Et ça pose problème avec les objets déjà instanciés.
Plus précisément, si l'on modifie une classe, c'est en fait l'ontologie elle-même que l'on modifie, même si cette ontologie est maintenue grâce à des données définies à l'exécution (et qui sont en fait des méta-données). Ça reste très séduisant en soi, mais c'est pour moi du même niveau que le code auto-généré. Ça n'est à utiliser qu'à partir du moment où tous les concepts initiaux sont parfaitement clairs et que, de là, on sait parfaitement ce que l'on fait.
Et là, il me semblait justement que le message du primo-postant n'avait pas vocation à débattre de ce sujet, mais était bien confronté à un cas de figure fondamental en programmation orientée objet, d'où la réponse qui me semblait être la plus appropriée.
Cette fois-ci, j'ai fait ifconfig eth0 192.168.0.2 up, avec l'adresse IP qui va bien
(elle est paramétrée en adresse statique dans les paramètres DHCP de ma box, histoire de pas casser les redirections de ports à chaque reboot)
Tu as spécifié une adresse fixe dans la config du serveur DHCP (ce que je fais aussi) en fonction de sa mac address mais attention à ne pas déclarer « STATIC » l'adresse de ta carte sur ta machine, car cela signifie que le serveur DHCP ne sera pas interrogé…
Y'a du progrès.
Maintenant, je peux pinger ma box.
Par contre, j'arrive pas à pinger un nom de domaine, ni à faire les mises à jour par apt-get.
Je suppute un problème de DNS.
C'est normal. Pour que la résolution DNS fonctionne (et par conséquent tous les programmes dont les connexions se font vers un nom de domaine plutôt qu'une adresse IP, soit 99 % des applications Internet), il faut remplir /etc/resolv.conf pour lui indiquer quels sont les DNS à contacter pour faire la résolution. Et les adresses de ces serveurs sont indiqués sur les documents papier qui t'ont été envoyés par ton fournisseur d'accès.
Mais là encore, ces informations sont censées être communiquées automatiquement avec la requête DHCP. Tout semble venir de là.
C'est soit NetworkManager, soit les clients DHCP en ligne comme pump ou dhclient qui font la requête et qui remplissent le fichier le cas échéant. Vérifie la config de ta carte réseau dans ton gestionnaire. Si ça se trouve, tu as juste coché une mauvaise case et fait passer ta carte soit à l'état inactif, soit en configuration statique et avec des paramètres non renseignés.
Sinon, tu peux remplir /etc/resolv.conf. Attention, c'est peut-être un lien symbolique vers un autre fichier. Si tu as une box un peu sophistiquée comme une Freebox V6, il se peut qu'elle soit elle-même serveur DHCP et tu peux te contenter d'y écrire nameserver adresse.de.ta.box, sinon tu retrouves les bons serveurs, soit en cherchant sur le Net puisque tu as visiblement une connexion de secours, soit dans tes documents papier.
Pense à ajouter les serveurs IPv6 également si tu es concerné.
Même en ayant l'habitude des langages (pré-)compilés où ce genre de manip' est impossible, ajouter dynamiquement des méthodes à une classe est déjà douteux, mais les ajouter à une instance précise est encore plus tordu. Pourtant, l'exercice aurait pu être intéressant en soi…
Mais dans le cas qui te concerne aujourd'hui, c'est un simple problème de conception objet : il faut définir une classe Véhicule, puis deux classes Voitures et Moto qui dérivent toutes les deux de la classe véhicule.
class Vehicule:
def tourner(self):
print("Vehicule qui tourne")
class Moto(Vehicule):
def tourner(self):
print("Moto qui tourne")
class Voiture(Vehicule):
def tourner(self):
print("Voiture qui tourne")
class Autogyre(Vehicule):
def voler(self):
print("Autogyre qui vole");
h = Vehicule()
m = Moto()
v = Voiture()
a = Autogyre()
h.tourner()
m.tourner()
v.tourner()
a.tourner()
Ce qui donne :
Vehicule qui tourne
Moto qui tourne
Voiture qui tourne
Vehicule qui tourne
Dans cet exemple, les classes Voiture et Moto dérivent de Véhicule, mais redéfinissent la méthode « tourner », et c'est cette dernière version qui est donc appelée. En revanche, la classe Autogyre dérive également de Véhicule mais définit une autre méthode sans redéfinir « tourner ». C'est donc la version par défaut héritée de « Véhicule » qui est appelée, et c'est pourquoi on obtient « Véhicule qui tourne » et non « Autogyre qui tourne ».
Posté par Obsidian .
En réponse au message eth0 a disparu..
Évalué à 3.
Dernière modification le 20 janvier 2018 à 19:38.
Hello, juste pour info, il est normal de ne pas voir les connexions down avec ifconfig. Il faut écrire ifconfig -a pour lui demander de les afficher toutes.
Vois déjà si ta connexion reste montée lorsque tu la redéfinis comme tu l'as fait en lui réaffectant une adresse et en la montant, avec ifconfig eth0 192.168.0.2 up puis ifconfig tout seul pour voir si elle apparaît bien. Ensuite, il faut que tu vérifies sur quel sous-réseau tu es censé te trouver. dark_star t'as suggéré 192.168.2.2 plus haut, mais ça peut être autre chose que 2.
Enfin, une fois ta carte réseau remontée, il faudra peut-être redéfinir la passerelle par défaut avec un truc du style `route add default gw 192.168.2.254 eth0' en remplaçant éventuellement 254 par 1, et le 2 par 0, 1, 2, 3… etc.
Évidemment, cela ne nous dit pas pourquoi ta manip' a fait planter ton réseau, mais il est possible que le fait d'avoir passé ta machine à 800 Mhz et avoir rebooté pousse un des scripts de démarrage à ramer suffisamment pour atteindre un timeout, mais ce serait étonnant quand même. On ne pourrait être fixés qu'en examinant les logs.
Autre piste : il y a des chances que ta carte réseau obtienne en fait son adresse via le DHCP (et que la passerelle soit configurée à cette occasion), que tes manips aient provoqué l'expiration du bail et que l'équipement censé lui renouveler ne le fasse plus.
Pour utiliser assez souvent un débogueur sous Windows sans forcément être root, je te confirme que tu peux modifier l'espace mémoire d'un process qui t'appartient. Et c'est pareil sous linux : pas besoin d'être root pour lancer gdb sur un process à soi.
Oui, mais le débogueur fait quand même appel à ptrace() pour pouvoir le faire. Il ne peut pas le faire directement.
Pas besoin de mapper le 2nd processus, il suffit d’accéder à la mémoire via des fonctions dédiées : ReadProcessMemory et WriteProcessMemory notamment.
Oui, c'est bien ce que je dis : avec des appels système.
Je pense que c'est de là que vient le malentendu à l'origine de la question d'Albert_ (« pourquoi pBpG a-t-il reçu des [-] ? »). Comme le fil s'est développé dans la longueur, la réponse était éloignée du message original et hors contexte, on a l'impression en le lisant qu'un processus voit directement ses congénères alors qu'il ne précise en fait qu'il n'y a pas besoin d'être root pour pouvoir le faire.
Je crois que c'est dans les détails que ça fait douter les gens. Je ne suis pas sûr qu'un processus puisse directement en modifier un autre, même s'il y a filiation et qu'il est lancé sous l'identité du même utilisateur. Techniquement, le cloisonnement doit s'appliquer quand même. En plus, il faudrait mapper les deux processus dans des plages distinctes du plan mémoire. Par contre, il peut demander au système l'autorisation de le faire et les différents threads d'un même processus, eux, doivent pouvoir se marcher dessus.
Maintenant, ça me paraissait tellement évident que je n'ai jamais essayé. 'faudrait que je me replonge dedans pour être sûr de savoir de quoi je parle. :)
afficher un message erroné puisque les tampons encreurs ne sont pas hors service.
Il faut être prudent avec ce genre de conclusion hâtive également, même si l'obsolescence programmée me hérisse comme tout le monde. À commencer par les PUCES de comptage sur les cartouches de toner…
Mais dans le cas présent, la capacité ultime des tampons encreurs n'est pas une science exacte et à moins d'avoir un dispositif interne spécifique pour les mesurer in situ, c'est difficile de faire autrement qu'utiliser une estimation commune pour tous avec marge de sécurité.
[^] # Re: largeur
Posté par Obsidian . En réponse au journal Une CSS « froide » pour l'hiver : Steelblue. Évalué à 2.
D'accord ;)
Effectivement, la manchette latérale gauche a une taille fixe (environ 15em en l'état) et le reste de l'écran est alloué au contenu, et cela reste comme cela en rétrécissant l'écran jusqu'à un certain point où
C'est une bonne idée mais c'est difficilement applicable aux commentaires, qui sont organisés en fil et sur la page desquelles il n'y a structurellement qu'un seul article (dépêche, journal ou entrée de forum). Ce serait faisable en revanche sur les pages d'accueil de chacune des grandes sections qui présentent tous les articles en liste.
J'utilise actuellement un moniteur SyncMaster T200 de neuf ans d'âge mais qui a de très bons contrastes et rendu des couleurs mais qui est toujours en 1680×1050. C'est grosso-modo le format d'un A3 allongé, ça me donne une vue panoramique mais ce n'est pas géantissime non plus, même si ça permet déjà de voir l'allongement des lignes par rapport à des choses plus petites.
Il faudrait que j'essaie sur quelque chose qui ait les dimensions de l'écran d'un Mac Pro, par exemple, pour voir à partir de quel stade il est intéressant de répartir les boîtes. Mais à titre indicatif, c'est déjà ce qui se passe sur la page des dépêches en cours de rédaction, en plus petit.
[^] # Re: Plusieurs options
Posté par Obsidian . En réponse au message workflow git. Évalué à 2.
C'était il y a presque 25 ans et coup, plus tellement… ;-(
[^] # Re: GIT = decentralisé
Posté par Obsidian . En réponse au message workflow git. Évalué à 2.
Quoi que tu choisisses, essaie de mettre ce qui se trouve sur le portable (ou sur la clé USB, le cas échéant) sur une partition chiffrée si possible. Si tu pers la clé de chiffrement — ou la clé USB elle-même — ce n'est pas grave puisque tu en auras toujours une copie sur le serveur de ton client et éventuellement sur ta machine. Par contre, un portable et une clé amovible qui se trimballent tous les jours ou presque entre les deux lieux de travail, ça s'oublie facilement sur une table, ça se vole très rapidement aussi et sinon, ça finit par tomber en panne. :)
Étant donné ta situation et la manière dont ton portable est configuré, je me rabattrais effectivement sur le dépôt Git sur une clé USB. Ça permet de rester sur le modèle habituel à deux dépôts (local + remote) et c'est ce qui serait le plus facile à utiliser, à la fois sur le portable et ta machine. En plus, il est plus facile de chiffrer une clé USB et de la monter sous le Windows du portable que de se battre avec les protections déjà en place pour le faire sur le disque dur.
Par contre, pense à faire une copie du dépôt sur ta machine à intervalles réguliers. Mais pour ça, tu n'as pas besoin de cloner le dépôt. Un
rsync
sur le répertoire sera plus efficace, je pense.[^] # Re: GIT = decentralisé
Posté par Obsidian . En réponse au message workflow git. Évalué à 2.
À mon que j'aie compris quelque chose de travers, il me semble que son portable, c'est justement celui du client…
[^] # Re: GIT = decentralisé
Posté par Obsidian . En réponse au message workflow git. Évalué à 2.
Salut,
D'après ce que je lis, tes machines ne peuvent se connecter qu'au portable, et ce portable sert également de « poste de travail » officiel chez ton client. Donc, si tu n'avais tes propres machines à côté, c'est avec cet appareil que tu serais censé travailler.
Donc, il faudra cloner le dépôt principal sur ton portable (de la même façon que tu récupérerais le kernel pour travailler dessus en clonant le dépôt, ou à tout le moins les branches qui t'intéressent). Quelle taille fait-il, au fait ?
Ensuite, le plus simple consiste tout simplement à cloner à son tour le dépôt de ton portable depuis ta machine personnelle. De cette façon, tu n'as pas besoin de t'embêter à aller ajouter manuellement des sites remote sur un dépôt ou un autre, et les références amont (upstream) de tes branches seront tout de suite dans l'ordre (ta machine se réfère au portable, et le portable se réfère au site du client).
La seule chose qu'il faudra faire veiller à faire pour synchroniser ta machine et le portable est de faire autant les push et que les pull depuis ta machine. Le portable n'aura donc pas a priori connaissance de l'existence du dépôt sur ta machine, mais en recevra quand même les objets. Une fois un push effectué, tout ton travail se retrouvera sur ton portable comme si tu avais directement travaillé dessus et tu n'auras même pas à maintenir de branches distinctes spécifiques à ton portable ou à ta machine.
Évidemment, il faudra quand même configurer une seule fois les droits dans le dépôt de ton portable pour laisser ta machine s'y connecter. Et bien sûr, cela implique aussi de démarrer un serveur sur ton portable lorsque tu veux synchroniser, à moins d'avoir une vue directe sur le système de fichiers.
[^] # Re: largeur
Posté par Obsidian . En réponse au journal Une CSS « froide » pour l'hiver : Steelblue. Évalué à 2.
Salut et merci pour ces remarques.
Tout-à-fait, et ça ne s'arrange pas puisque dans la version actuelle, j'ai même éliminé le logo sans l'avoir (encore) remplacé par quelque chose de différent. Comme exposé plus haut, elle mérite d'être beaucoup travaillée mais je suis mauvais graphiste, et il m'aurait fallu beaucoup trop de temps pour produire quelque chose de potable, mais elle a assurément besoin d'être décorée.
Je pense que je vais aussi faire la même en blanc en parallèle de celle-ci, avec une approche beaucoup moins « SF » et beaucoup plus sobre, mais en se basant sur le même canevas.
Puis-je te demander également quel navigateur tu utilises, parce que je m'aperçois sur les screenshots qu'on a eu l'amabilité de mettre en ligne un peu plus haut que même les icônes des boutons des commentaires que je pensais avoir correctement alignés partout ressortent de travers sur certains d'entre eux.
Euh, d'accord, mais j'ai du mal à voir de quoi tu parles en particulier. Peux-tu préciser un peu ?
Merci.
[^] # Re: Vraiment joli.
Posté par Obsidian . En réponse au journal Une CSS « froide » pour l'hiver : Steelblue. Évalué à 1.
En fait, l'idée était d'avoir globalement une « feuille de commentaires » la plus « plate » possible par défaut mais si effectivement, la fonte monospace n'est pas suffisante, on va essayer de trouver quelque chose de joli pour la décorer également.
[^] # Re: Trucs qui vont pas
Posté par Obsidian . En réponse au journal Une CSS « froide » pour l'hiver : Steelblue. Évalué à 4.
Salut,
Oui, en effet, comme dit plus haut, j'ai choisi de partir sur cette palette parce que ce genre de style me plaît en soi, mais aussi et surtout parce que ça représentait beaucoup plus de boulot que prévu et que je ne pouvais pas tout mener de front. Faire la mise en page, adapter les textes, les marges, etc. et faire les graphismes.
Et comme ça représente beaucoup de travail, c'était soi repartir sur encore trois mois en attendant de voir ce que j'aurais pu faire, soit la sortir en « version bêta » et la raffiner tranquillement ensuite. Mais je pense qu'une fois finalisée, je m'appuierai dessus pour refaire la même en blanc et en un peu plus « flat », pour coller à la mode actuelle.
La barre de navigation devient opaque quand on la survole. Pour le reste, j'ai voulu faire un effet de « verre » qui rend bien quand on scrolle mais à l'usage, c'est gênant. Je vais arranger ça aussi, donc.
Il faut vraiment que la largeur du navigateur soit très très petite pour qu'elle disparaisse mais en fait, c'était une première tentative pour l'adapter aux smartphones, et que je n'ai pas fini parce que je n'ai pas réussi à les cibler proprement avec les @media queries. C'est sur la liste aussi.
« À gauche » ? C'est étonnant. C'est vrai que je me suis préoccupé des longs fils mais entretemps, j'en ai trouvé d'encore plus longs et les problèmes réapparaissent. On va corriger ça aussi.
[^] # Re: une dépêche
Posté par Obsidian . En réponse au journal Une CSS « froide » pour l'hiver : Steelblue. Évalué à 3.
Merci beaucoup, du coup ça me met un peu la pression parce qu'il reste beaucoup à faire avec le retour des utilisateurs, surtout que les choix graphiques sont encore loins de faire l'unanimité (ce qui était assumé) et que les difficultés d'affichage sur les navigateur Chrome-based sont un problème sur lequel il faut se pencher.
L'avantage est que ce n'est pas une dépêche noyau. On va donc prendre le temps qu'il faut pour rédiger un article de qualité.
Je vais effectivement retravailler les horloges tribune.
[^] # Re: Vraiment joli.
Posté par Obsidian . En réponse au journal Une CSS « froide » pour l'hiver : Steelblue. Évalué à 2.
Ouais, il est clair que ce n'est pas utilisable en l'état mais l'une des motivations à écrire cette CSS était justement l'utilisation des fonctionnalités CSS 3 dans la limite du raisonnable. En ce sens, j'estimais que tout ce qui passait fluidement sur ma machine (Un Core 2 Quad de fin 2008, qui marche très bien au demeurant) et avec Firefox pouvait être considéré comme raisonnable.
Je pense que ce sont les dégradés qui font ramer la chose, obligeant le navigateur à recalculer les couleurs de fond au scroll, là où d'autres navigateurs font un rendu global, plus rapide à parcourir mais plus coûteux en mémoire.
Oui, ça fait partie aussi des choses à optimiser. En fait, il me fallait dès le départ des caractères, disons, « les moins obscurs » possibles et qui soient affichés par défaut. Autant les puces et le style (gras, italique…) sont relativement clairs, autant les suivants nécessitent des icônes SVG en plus mais là encore, j'ai décidé de reléguer ça à la « deuxième étape » avec retours des utilisateurs parce qu'autrement, on a vite fait de faire encore plus obscur. Heureusement, il reste les infobulles pour lever les ambiguïtés.
Ça par contre, ce n'est pas moi. :)
[^] # Re: Vraiment joli.
Posté par Obsidian . En réponse au journal Une CSS « froide » pour l'hiver : Steelblue. Évalué à 2.
Oui, c'est effectivement une déception. Pour info, quel navigateur utilises-tu ?
La CSS a été principalement développée avec Firefox 57 sur Fedora en essayant d'écrire des règles globalement propres, puis en adaptant ce qui relève vraiment des particularités du navigateur et pas des imprécisions des règles. Est donc vite arrivé le temps de le confronter à d'autres navigateurs et quand je me suis rendu compte qu'il rame avec Chrome là où on s'attendait à ce qu'il soit toujours le navigateur le plus rapide, c'était trop tard pour revenir en arrière.
Pour le reste, tu pourrais me faire des screenshots ? Y a probablement pas mal de choses à corriger mais il y a aussi beaucoup de choses que tu nous signales et qui ne devraient pas se produire…
[^] # Re: clavier qui se blo
Posté par Obsidian . En réponse au journal Une CSS « froide » pour l'hiver : Steelblue. Évalué à 3.
Salut et merci pour tes remarques.
Il fallait bien sûr lire « d'ores et déjà être utilisé par toute autre feuille ». J'ai eu un problème d'édition cette nuit avec le corps du journal dupliqué en plein milieu de mon texte…
Pour les flèches, ce sont des caractères UTF-8 et effectivement, c'est toujours un problème si les fontes installées ne les prennent pas en charge. C'est le cas aussi de la flèche pour « remonter au commentaire parent » à gauche du bouton « # » dans le titre des commentaires. Si ça passe mal, il faudra effectivement passer au SVG.
En fait, ça, c'est une fonctionnalité du site lui-même, qui présente les feuilles de style sous forme de capture d'écran, en « randomisant » l'ordre d'affichage des captures pour éviter d'en favoriser certaines. Celle qui est présentée ici affiche un gros « Steelblue » vertical sur la gauche de la capture.
[^] # Re: Beau boulot
Posté par Obsidian . En réponse à l’entrée du suivi Pull Request #218 : CSS « Steelblue ». Évalué à 3 (+0/-0).
Génial ! Merci de l'avoir traité si vite !
Merci aussi pour les commentaires sur Github. Il y a bien sûr moyen de faire beaucoup mieux mais je suis un noob complet en Ror. :) Évidemment, j'ai fait de mon mieux pour valider totalement, documentation à l'appui, tout ce que j'ai écrit mais ça m'a coûté environ 24 heures par ligne :)
Une dépêche, c'est peut-être un peu beaucoup. Je vais au moins faire un journal pour l'annoncer. S'il est propre, on pourra éventuellement l'upgrader. Mais le mieux serait effectivement d'écrire quelque chose de concerté pour inciter ensuite les gens à faire pareil.
Encore merci !
[^] # Re: Il faut bien lire ce qu'on lit!
Posté par Obsidian . En réponse au journal Le retour de la vengeance de la virgule flottante. Évalué à 3.
Parce que dans la majorité des cas, cela n'a en fait aucun intérêt.
Les problèmes d'arrondi sont les mêmes en binaire qu'en décimal : 1÷3, ça fait 0,33333333333… et il y aura donc une perte dans toutes les bases de calcul où ce nombre ne tombe pas rond (ça fait pile poil 1,3 en base 9, en revanche).
Même en utilisant un type « financier » avec un nombre de décimales fixes après la virgule (en général 2, parfois 3), ça ne te permettra pas de faire toutes les divisions possibles. Si tu veux répartir équitablement 1,43 € entre deux personnes, tu vas forcément perdre 1 centime dans l'opération. Ce ne sera pas mieux avec un type de longueur arbitraire comme un BigDecimal Java ni avec une bibliothèque telle que GMP parce que tu serais toujours confronté aux mêmes problèmes de division si leur développement décimal est infini.
Si, enfin, tu te restreins à des langages où le nombre de décimales est fixe et dans lesquels on ne peut faire que des additions, des soustractions ou des multiplications, alors il suffit de travailler en virgule fixe avec les formats habituels : au lieu de compter en euros, tu comptes en centimes et toutes tes valeurs sont alors des nombres entiers. Il devient alors trivial de les manipuler, même en binaire.
[^] # Re: Prendre le problème à l'envers
Posté par Obsidian . En réponse au message Ajouter des méthodes à une instance de classe, après sa création. Évalué à 4.
Salut,
Je ne suis pas sûr d'avoir complètement compris ce que tu entendais par là, mais si tu voulais dire « une manière de parvenir à ses fins, indépendamment de la curiosité mathématique », alors non. C'est même plutôt le contraire, si tu relis bien mon commentaire. C'est intéressant dans les langages tels que le Javascript qui sont non seulement interprétés, mais où les objets sont définis et remplis à l'exécution.
Par contre, il est important de ne pas faire tout et n'importe quoi juste pour résoudre le problème, même de façon théorique (ce qui nous ramènerait aux clous à planter). En développement logiciel, je suis assez adepte du « changement de paradigme », c'est-à-dire se laisser la possibilité d'utiliser un jeu de concepts totalement exotiques s'il le faut mais À CONDITION de poser le cadre dès le départ et de ne pas en sortir a posteriori au cours d'un projet, surtout si c'est pour se sortir d'une impasse.
En particulier, il y a beaucoup de gens qui font l'amalgame « classe = objet », alors que le mot « classe » doit en fait s'entendre dans le même sens que « classification du règne animal », par exemple. En ce sens, si tu ajoutes ou retires quelque chose à une classe, alors par définition, ce n'est plus la même classe ! Et ça pose problème avec les objets déjà instanciés.
Plus précisément, si l'on modifie une classe, c'est en fait l'ontologie elle-même que l'on modifie, même si cette ontologie est maintenue grâce à des données définies à l'exécution (et qui sont en fait des méta-données). Ça reste très séduisant en soi, mais c'est pour moi du même niveau que le code auto-généré. Ça n'est à utiliser qu'à partir du moment où tous les concepts initiaux sont parfaitement clairs et que, de là, on sait parfaitement ce que l'on fait.
Et là, il me semblait justement que le message du primo-postant n'avait pas vocation à débattre de ce sujet, mais était bien confronté à un cas de figure fondamental en programmation orientée objet, d'où la réponse qui me semblait être la plus appropriée.
[^] # Re: Manque de précision
Posté par Obsidian . En réponse au message Connexion imprimante Ricoh SP 204SF. Évalué à 2.
Ça ne fait que 37 ans. Je ne suis pas pressé de vieillir. ;)
[^] # Re: Bonnes options de ifconfig
Posté par Obsidian . En réponse au message eth0 a disparu.. Évalué à 4.
Tu as spécifié une adresse fixe dans la config du serveur DHCP (ce que je fais aussi) en fonction de sa mac address mais attention à ne pas déclarer « STATIC » l'adresse de ta carte sur ta machine, car cela signifie que le serveur DHCP ne sera pas interrogé…
C'est normal. Pour que la résolution DNS fonctionne (et par conséquent tous les programmes dont les connexions se font vers un nom de domaine plutôt qu'une adresse IP, soit 99 % des applications Internet), il faut remplir
/etc/resolv.conf
pour lui indiquer quels sont les DNS à contacter pour faire la résolution. Et les adresses de ces serveurs sont indiqués sur les documents papier qui t'ont été envoyés par ton fournisseur d'accès.Mais là encore, ces informations sont censées être communiquées automatiquement avec la requête DHCP. Tout semble venir de là.
C'est soit NetworkManager, soit les clients DHCP en ligne comme
pump
oudhclient
qui font la requête et qui remplissent le fichier le cas échéant. Vérifie la config de ta carte réseau dans ton gestionnaire. Si ça se trouve, tu as juste coché une mauvaise case et fait passer ta carte soit à l'état inactif, soit en configuration statique et avec des paramètres non renseignés.Sinon, tu peux remplir
/etc/resolv.conf
. Attention, c'est peut-être un lien symbolique vers un autre fichier. Si tu as une box un peu sophistiquée comme une Freebox V6, il se peut qu'elle soit elle-même serveur DHCP et tu peux te contenter d'y écrirenameserver adresse.de.ta.box
, sinon tu retrouves les bons serveurs, soit en cherchant sur le Net puisque tu as visiblement une connexion de secours, soit dans tes documents papier.Pense à ajouter les serveurs IPv6 également si tu es concerné.
# Prendre le problème à l'envers
Posté par Obsidian . En réponse au message Ajouter des méthodes à une instance de classe, après sa création. Évalué à 7.
Salut,
Même en ayant l'habitude des langages (pré-)compilés où ce genre de manip' est impossible, ajouter dynamiquement des méthodes à une classe est déjà douteux, mais les ajouter à une instance précise est encore plus tordu. Pourtant, l'exercice aurait pu être intéressant en soi…
Mais dans le cas qui te concerne aujourd'hui, c'est un simple problème de conception objet : il faut définir une classe Véhicule, puis deux classes Voitures et Moto qui dérivent toutes les deux de la classe véhicule.
Ce qui donne :
Dans cet exemple, les classes Voiture et Moto dérivent de Véhicule, mais redéfinissent la méthode « tourner », et c'est cette dernière version qui est donc appelée. En revanche, la classe Autogyre dérive également de Véhicule mais définit une autre méthode sans redéfinir « tourner ». C'est donc la version par défaut héritée de « Véhicule » qui est appelée, et c'est pourquoi on obtient « Véhicule qui tourne » et non « Autogyre qui tourne ».
# Bonnes options de ifconfig
Posté par Obsidian . En réponse au message eth0 a disparu.. Évalué à 3. Dernière modification le 20 janvier 2018 à 19:38.
Hello, juste pour info, il est normal de ne pas voir les connexions down avec
ifconfig
. Il faut écrireifconfig -a
pour lui demander de les afficher toutes.Vois déjà si ta connexion reste montée lorsque tu la redéfinis comme tu l'as fait en lui réaffectant une adresse et en la montant, avec
ifconfig eth0 192.168.0.2 up
puisifconfig
tout seul pour voir si elle apparaît bien. Ensuite, il faut que tu vérifies sur quel sous-réseau tu es censé te trouver. dark_star t'as suggéré 192.168.2.2 plus haut, mais ça peut être autre chose que 2.Enfin, une fois ta carte réseau remontée, il faudra peut-être redéfinir la passerelle par défaut avec un truc du style `route add default gw 192.168.2.254 eth0' en remplaçant éventuellement 254 par 1, et le 2 par 0, 1, 2, 3… etc.
Évidemment, cela ne nous dit pas pourquoi ta manip' a fait planter ton réseau, mais il est possible que le fait d'avoir passé ta machine à 800 Mhz et avoir rebooté pousse un des scripts de démarrage à ramer suffisamment pour atteindre un
timeout
, mais ce serait étonnant quand même. On ne pourrait être fixés qu'en examinant les logs.Autre piste : il y a des chances que ta carte réseau obtienne en fait son adresse via le DHCP (et que la passerelle soit configurée à cette occasion), que tes manips aient provoqué l'expiration du bail et que l'équipement censé lui renouveler ne le fasse plus.
[^] # Re: Manque de précision
Posté par Obsidian . En réponse au message Connexion imprimante Ricoh SP 204SF. Évalué à 4.
30 ans de Windows, pff ! On y est donc déjà ? Mon dieu…
En tous cas, sois le bienvenu sous Linux en général et sur ce site en particulier.
[^] # Re: Patch à la volée
Posté par Obsidian . En réponse au journal Il y a de grand malade sur Terre.... Évalué à 2.
Oui, mais le débogueur fait quand même appel à ptrace() pour pouvoir le faire. Il ne peut pas le faire directement.
Oui, c'est bien ce que je dis : avec des appels système.
Je pense que c'est de là que vient le malentendu à l'origine de la question d'Albert_ (« pourquoi pBpG a-t-il reçu des [-] ? »). Comme le fil s'est développé dans la longueur, la réponse était éloignée du message original et hors contexte, on a l'impression en le lisant qu'un processus voit directement ses congénères alors qu'il ne précise en fait qu'il n'y a pas besoin d'être root pour pouvoir le faire.
[^] # Re: Pourquoi ?
Posté par Obsidian . En réponse au journal Il y a de grand malade sur Terre.... Évalué à 7.
« Ils l'ont trop bien rangé. » (© Gaston Lagaffe)
[^] # Re: Patch à la volée
Posté par Obsidian . En réponse au journal Il y a de grand malade sur Terre.... Évalué à 5. Dernière modification le 19 janvier 2018 à 15:02.
Je crois que c'est dans les détails que ça fait douter les gens. Je ne suis pas sûr qu'un processus puisse directement en modifier un autre, même s'il y a filiation et qu'il est lancé sous l'identité du même utilisateur. Techniquement, le cloisonnement doit s'appliquer quand même. En plus, il faudrait mapper les deux processus dans des plages distinctes du plan mémoire. Par contre, il peut demander au système l'autorisation de le faire et les différents threads d'un même processus, eux, doivent pouvoir se marcher dessus.
Maintenant, ça me paraissait tellement évident que je n'ai jamais essayé. 'faudrait que je me replonge dedans pour être sûr de savoir de quoi je parle. :)
[^] # Re: Deux problèmes
Posté par Obsidian . En réponse au journal Obsolescence programmée... ou maintenance préventive ?. Évalué à 9.
Il faut être prudent avec ce genre de conclusion hâtive également, même si l'obsolescence programmée me hérisse comme tout le monde. À commencer par les PUCES de comptage sur les cartouches de toner…
Mais dans le cas présent, la capacité ultime des tampons encreurs n'est pas une science exacte et à moins d'avoir un dispositif interne spécifique pour les mesurer in situ, c'est difficile de faire autrement qu'utiliser une estimation commune pour tous avec marge de sécurité.
[^] # Re: D'ou l'intérêt de faire gaffe au clavier quand on achete du matos pour bosser...
Posté par Obsidian . En réponse au message émuler les touches clavier "<" et ">" . Évalué à 2.
Moi j'utilise la version « FR — variante » et j'obtiens “” (à la place de «»).
À noter que pour les privilégiés qui disposent d'une touche « < & > », on peut obtenir ≤ et ≥ avec Alt+Gr.