đŸšČ Tanguy Ortolo a Ă©crit 12690 commentaires

  • # La commande mount l'accepte

    PostĂ© par (site web personnel) . En rĂ©ponse au message Pourquoi mount (le syscall) n'accepte pas un fichier ordinaire. ÉvaluĂ© Ă  10.

    Petite prĂ©cision tout de mĂȘme, si l'appel systĂšme mount(2) n'accepte pas les fichiers rĂ©guliers, la commande mount(8) les accepte, grĂące Ă  l'option -o loop, avec laquelle elle alloue automatiquement un pĂ©riphĂ©rique boucle.

    Et par-contre l'appel systĂšme mount lui il peut pas travailler sur un fichier ?

    Si, mais pas sur un fichier régulier, seulement sur un fichier de type périphérique bloc. Un périphérique bloc est un fichier, d'un type particulier. Outre les fichiers réguliers, il y a plusieurs types de fichiers : répertoires, liens symboliques, tubes nommés, sockets unix, périphériques caractÚre, périphériques blocs, etc.

    La raison pour laquelle mount(2) a besoin d'un périphérique bloc, c'est qu'à mon avis le noyau doit vouloir accéder aux données du systÚme de fichiers directement à des adresses mémoire. Un fichier régulier n'a rien de tel, à moins de le mapper en mémoire, et c'est justement ce que fait un périphérique boucle.

    Lorsque tu manipules des périphériques blocs avec des commandes comme cp, cat et compagnie, ces logiciels les utilisent en y faisant des appels systÚmes d'ordinaire utilisés pour des fichiers réguliers, mais qui sont aussi implémentés pour les périphériques bloc, qui font en fait « plus » que des fichiers réguliers.

  • [^] # Re: Autrefois...

    PostĂ© par (site web personnel) . En rĂ©ponse au message AntiSpam - idĂ©e dĂ©calĂ©e mais doit dĂ©jĂ  exister, sous quel nom ?. ÉvaluĂ© Ă  5. DerniĂšre modification le 03 mars 2022 Ă  17:30.

    Au fait, c'est le genre de chose à ne faire que si le message n'est pas en échec SPF. Parce qu'un échec SPF, c'est signe d'un expéditeur d'enveloppe falsifié, donc auquel il ne faut surtout pas envoyer de rebond, puisque ce n'est pas lui qui a envoyé le message.

    Attention, j'ai bien dit pas en Ă©chec SPF, ce qui n'est pas synonyme de succĂšs SPF. Un message peut trĂšs bien ĂȘtre en SPF neutre, ce qui prouve simplement que l'administrateur du nom de domaine de l'expĂ©diteur d'enveloppe ne se prĂ©occupe pas du problĂšme de la falsification possible d'adresse Ă©lectronique.

  • [^] # Re: oui mais non

    PostĂ© par (site web personnel) . En rĂ©ponse au message AntiSpam - idĂ©e dĂ©calĂ©e mais doit dĂ©jĂ  exister, sous quel nom ?. ÉvaluĂ© Ă  7.

    Ça s'appelle des messages rebond, et c'est une vraie plaie, pour plusieurs raisons, l'une d'entre elles Ă©tant que le message rebond suite Ă  un spam dont l'expĂ©diteur d'enveloppe est falsifiĂ© arrivera Ă  quelqu'un qui n'a rien Ă  voir avec ce spam. Dans l'idĂ©al, il faudrait refuser les messages qu'on ne peut pas ou ne veut pas accepter.

  • [^] # Re: Attention Ă  l'achat

    PostĂ© par (site web personnel) . En rĂ©ponse au journal DonnĂ©es chiffrĂ©es sur les disques des enregistreurs TV. ÉvaluĂ© Ă  5. DerniĂšre modification le 03 mars 2022 Ă  15:18.

    Ah, ça montre deux choses, ici :

    • les chaĂźnes de tĂ©lĂ© ne peuvent pas attaquer, ou en tout cas pas gagner, contre les fabricants ou vendeurs de systĂšmes d'enregistrements ;
    • pour un fournisseur de service incluant une rĂ©ception et un enregistrement de chaĂźnes publiques, typiquement un FAI avec service de tĂ©lĂ©vision inclus, la Hadopi considĂšre qu'il est abusif de ne donner aucun accĂšs normal Ă  ces enregistrements.

    Le premier point ne me surprend guĂšre, ce serait un prĂ©cĂ©dent tout Ă  fait regrettable, parce qu'il permettrait de s'attaquer Ă  des fournisseurs de n'importe quel objet dĂšs que quelqu'un l'a utilisĂ© pour faire un truc interdit. Un enregistreur, ça permet de faire une copie privĂ©e, qui devient publique dĂšs qu'on la diffuse, ce qu'on n'a pas le droit de faire. Mais un couteau, ça permet de cuisiner et de manger, comme de blesser quelqu'un, ce qu'on n'a pas le droit de faire. Ça s'appliquerait Ă  n'importe quoi.

    Ce serait sans doute un peu différent si un enregistreur TNT incluait un bouton « partager avec BitTorrent et diffuser le lien magnet sur Facebook ».

  • [^] # Re: Autrefois...

    PostĂ© par (site web personnel) . En rĂ©ponse au message AntiSpam - idĂ©e dĂ©calĂ©e mais doit dĂ©jĂ  exister, sous quel nom ?. ÉvaluĂ© Ă  5.

    Oh, ça doit pouvoir se faire sans problÚme avec des trucs un peu souples, avec Mutt par exemple, il faudrait :

    1. coder un script qui prend un message sur son entrée standard, qui génÚre un message rebond et l'envoie à l'adresse d'expéditeur d'enveloppe 1 ;
    2. définir une touche de raccourci qui passe le message courant à ce script.

    Ça pourrait aussi se faire cĂŽtĂ© serveur IMAP, avec Dovecot en tout cas, avec une action Sieve dĂ©clenchĂ©e Ă  l'ajout d'un message dans un dossier dĂ©diĂ© Ă  cela. Mais c'est dĂ©jĂ  bien plus tordu.


    1. Pour rappel, l'adresse d'expĂ©diteur d'enveloppe ne fait pas partie du message tel que reçu par ton serveur. En revanche, celui-ci l'ajoute trĂšs probablement au message, dans un champ d'en-tĂȘte nommĂ© Return-Path. ↩

  • [^] # Re: Attention Ă  l'achat

    PostĂ© par (site web personnel) . En rĂ©ponse au journal DonnĂ©es chiffrĂ©es sur les disques des enregistreurs TV. ÉvaluĂ© Ă  7.

    Ah, mais aucune loi ne demande aux fabricants de matériel HDMI d'implémenter ce truc. C'est un concept qui relÚve des contrats privés, pas de la loi.

    La loi réprime le craquage de ce genre de truc, mais n'impose rien du tout en matiÚre de chiffrement.

  • [^] # Re: Attention Ă  l'achat

    PostĂ© par (site web personnel) . En rĂ©ponse au journal DonnĂ©es chiffrĂ©es sur les disques des enregistreurs TV. ÉvaluĂ© Ă  5.

    Mais il n'y a besoin de rien du tout pour donner l'illusion de quoi que ce soit, ce sont des enregistreurs, par nature, ça ne fait que ça, de la copie privée ! C'est l'équivalent moderne de l'enregistrement de la radio sur cassette, ce qui est l'archétype de la copie privée en fait.

    Et personne ne demande au fabricant de prouver que ce qu'il vend sert à faire de la copie privée, en plus. Pourquoi feraient-ils du zÚle ?

  • [^] # Re: Attention Ă  l'achat

    PostĂ© par (site web personnel) . En rĂ©ponse au journal DonnĂ©es chiffrĂ©es sur les disques des enregistreurs TV. ÉvaluĂ© Ă  5.

    EDIT : Mais de toutes façons il me semble bien que tous les enregistreur TNT chiffrent, et c'est trÚs sûrement une obligation légale.

    Ça m'Ă©tonnerait, ne serait-ce que parce qu'il existe visiblement plein d'appareils qui justement, ne chiffrent pas. Et plein de logiciels aussi. Je vois mal ce genre de truc figurer dans la loi, surtout s'agissant de flux qui sont par nature, publics, donc dont la diffusion, volontairement ouverte, est impossible Ă  contrĂŽler.

    Sans compter qu'un enregistreur TNT, ça peut aussi ĂȘtre n'importe quel dĂ©codeur TNT → HDMI couplĂ© Ă  un enregistreur HDMI, encore plus impossible Ă  rĂ©guler. Je sais que les dĂ©putĂ©s sont parfois ignares, mais ce serait ridicule, une loi interdisant de vendre des trucs qui enregistrent un flux public sans le chiffrer. Sans compter qu'il faudrait y associer un description de ce qu'on appelle chiffrer, une interdiction de donner accĂšs Ă  une clef pour dĂ©chiffrer, etc.

    Interdire d'enregistrer tout court, ça pourrait dĂ©jĂ  ĂȘtre dans la loi de façon plus cohĂ©rente (pas plus dĂ©fendable, hein), sauf que non, c'est plutĂŽt l'inverse qui y figure en fait.

  • # Attention Ă  l'achat

    PostĂ© par (site web personnel) . En rĂ©ponse au journal DonnĂ©es chiffrĂ©es sur les disques des enregistreurs TV. ÉvaluĂ© Ă  10.

    Ça, c'est comme tous les appareils qui dĂ©pendent d'un service externe ou en l'occurrence, d'un format qui n'est pas ouvert. Il faut ĂȘtre conscient, lorsqu'on l'acquiert, qu'il ne s'agit pas vraiment d'un achat mais d'une location Ă  terme inconnu dĂ©terminĂ© par le seul fournisseur.

    Vous achÚteriez un appareil photo qui stocke des photos, mais sans possibilité de les en sortir ? Personnellement, c'est parmi les premiers trucs que j'essaie, et si je ne trouve pas moyen d'extraire les photos, je renvoie illico l'appareil pour me le faire rembourser. Je n'ai pas d'enregistreur TNT, mais si j'en avais un, c'est aussi une des premiÚres choses que j'aurais vérifié.

    Bref, là c'est trop tard, mais attention à l'avenir, lorsqu'on achÚte un appareil, il faut toujours penser à ce que ça donnera dans cinq ans, dans dix ans, s'il ne s'allume plus, si le fournisseur coupe le service, si l'écran ne fonctionne plus, ce genre de truc.

  • [^] # Re: Python 3

    PostĂ© par (site web personnel) . En rĂ©ponse au journal rĂ©soudre "trouve 24". ÉvaluĂ© Ă  3.

    C'est le besoin de type union qui m'a rappelé Caml, en rédigeant ça en Python, en fait.

  • [^] # Re: Python 3

    PostĂ© par (site web personnel) . En rĂ©ponse au journal rĂ©soudre "trouve 24". ÉvaluĂ© Ă  4.

    Ça pourrait ĂȘtre sympa en (O)Caml, aussi.

  • [^] # Re: Python 3

    PostĂ© par (site web personnel) . En rĂ©ponse au journal rĂ©soudre "trouve 24". ÉvaluĂ© Ă  3.

    Et pour les nombres cités :

    % ./trouve.py 1 4 5 6
    (6 / ((5 / 4) - 1)) = 24
    
  • [^] # Re: Python 3

    PostĂ© par (site web personnel) . En rĂ©ponse au journal rĂ©soudre "trouve 24". ÉvaluĂ© Ă  5.

    Correction, en utilisant les rationnels du module standard fractions :

    #! /usr/bin/python3
    import argparse
    from fractions import Fraction
    add = Fraction.__add__
    sub = Fraction.__sub__
    mul = Fraction.__mul__
    div = Fraction
    signes = {add: '+', sub: '-', mul: ×ば぀', div: '/'}
    class Operation:
     """An operation between two integers, fractions or operations"""
     def __init__(self, a, b, op):
     """Return an operation representing 'a op b':
     a, b integers, fractions or operations
     op operator"""
     self.a = a
     self.b = b
     self.op = op
     self._result = None
     def result(self):
     """Return the result of the operation, as a fraction"""
     if self._result is None:
     a = value(self.a)
     b = value(self.b)
     self._result = self.op(a, b)
     return self._result
     def __str__(self):
     return '(%s%s%s)' % (self.a, signes[self.op], self.b)
    def value(a):
     """Return the value of an integer, a fraction, or the result of an operation"""
     if isinstance(a, Operation):
     return a.result()
     else:
     return a
    def operations(a, b):
     """Yields of feasible operations between two integers, fractions or operations"""
     yield Operation(a, b, add)
     yield Operation(a, b, mul)
     yield Operation(a, b, sub)
     if value(b) != 0:
     yield Operation(a, b, div)
    def calculs(*termes):
     """Yields all feasible computations with multiple integers or fractions"""
     l = len(termes)
     if l == 1:
     # Un seul terme, rien Ă  faire Ă  part le renvoyer tel quel !
     yield termes[0]
     else:
     # Au moins deux termes: on en prend un...
     for i in range(l):
     a = termes[i]
     # ... puis un autre
     for j in range(l):
     if i == j:
     # Ce sont les mĂȘmes termes, ce n'est pas ce qu'on recherche
     continue
     b = termes[j]
     # On parcours les opérations possibles entre eux
     for ab in operations(a, b):
     # On considÚre le résultat de cette opération comme un nouveu terme
     # remplaçant les deux choisis.
     yield from calculs(ab, *[termes[k] for k in range(l) if k != i and k != j])
    def trouve(nombres, target):
     """Yields all computations of multiple integers or fractions, which result in the given target"""
     for calcul in calculs(*nombres):
     if value(calcul) == target:
     yield calcul
    def main(args=None):
     parser = argparse.ArgumentParser(description="Trouve un ou des moyens d'obtenir 24 avec les nombres donnés")
     parser.add_argument("--all", action='store_true', help="affiche tous les calculs donnant ce résultat, plutÎt que seulement le premier trouvé")
     parser.add_argument("--target", type=int, default=24, help="cherche un résultat autre que 24")
     parser.add_argument("numbers", nargs='+', type=int, help="nombres Ă  utiliser")
     args = parser.parse_args(args)
     calculs = trouve(args.numbers, args.target)
     for calcul in calculs:
     print('%s = %d' % (calcul, value(calcul)))
     if not args.all:
     break
    if __name__ == '__main__':
     main()
  • [^] # Re: Python 3

    PostĂ© par (site web personnel) . En rĂ©ponse au journal rĂ©soudre "trouve 24". ÉvaluĂ© Ă  4.

    Bien vu. Il me faut utiliser des rationnels. Je vais voir ce que je peux faire pour ça.

  • [^] # Re: avec des pincettes

    PostĂ© par (site web personnel) . En rĂ©ponse au journal Cyber guerre ou pas finalement. ÉvaluĂ© Ă  2.

    Pour les fausses informations permettant de justifier des guerres, pas besoin de remonter au KoweĂŻt, une bĂȘte fiole agitĂ©e devant les nations unis suffit pour envahir un pays.

    Qu'est-ce que c'est que cette histoire de fiole ?

  • # Python 3

    PostĂ© par (site web personnel) . En rĂ©ponse au journal rĂ©soudre "trouve 24". ÉvaluĂ© Ă  4.

    En Python 3 :

    #! /usr/bin/python3
    import argparse
    add = int.__add__
    sub = int.__sub__
    mul = int.__mul__
    div = lambda a, b: a // b
    signes = {add: '+', sub: '-', mul: ×ば぀', div: '/'}
    class Operation:
     def __init__(self, a, b, op):
     self.a = a
     self.b = b
     self.op = op
     self._int = None
     def __int__(self):
     if self._int is None:
     self._int = self.op(int(self.a), int(self.b))
     return self._int
     def __str__(self):
     return '(%s%s%s)' % (self.a, signes[self.op], self.b)
    # GénÚre toutes les opérations faisables avec deux entiers ou opérations
    def operations(a, b):
     yield Operation(a, b, add)
     yield Operation(a, b, mul)
     yield Operation(a, b, sub)
     if int(b) != 0 and int(a) % int(b) == 0:
     yield Operation(a, b, div)
    # GénÚre tous les calculs faisables avec des entiers ou opérations
    def calculs(*termes):
     l = len(termes)
     if l == 1:
     # Un seul terme, rien Ă  faire Ă  part le renvoyer tel quel !
     yield termes[0]
     else:
     # Au moins deux termes: on en prend un...
     for i in range(l):
     a = termes[i]
     # ... puis un autre
     for j in range(l):
     if i == j:
     # Pas le mĂȘme !
     continue
     b = termes[j]
     # On parcours les opérations possibles entre eux
     for ab in operations(a, b):
     # On considÚre le résultat de cette opération comme un nouveu terme
     # remplaçant les deux choisis.
     yield from calculs(ab, *[termes[k] for k in range(l) if k != i and k != j])
    def trouve(nombres, target):
     for calcul in calculs(*nombres):
     if int(calcul) == target:
     yield calcul
    def main(args=None):
     parser = argparse.ArgumentParser(description="Trouve un ou des moyens d'obtenir 24 avec les nombres donnés")
     parser.add_argument("--all", action='store_true', help="affiche tous les calculs donnant ce résultat, plutÎt que seulement le premier trouvé")
     parser.add_argument("--target", type=int, default=24, help="cherche un résultat autre que 24")
     parser.add_argument("numbers", nargs='+', help="nombres Ă  utiliser")
     args = parser.parse_args(args)
     calculs = trouve(args.numbers, args.target)
     for calcul in calculs:
     print('%s = %d' % (calcul, int(calcul)))
     if not args.all:
     break
    if __name__ == '__main__':
     main()

    Le site du jeu m'a proposé les nombres suivants : 1 4 5 6, ce qui m'amÚne à douter un peu de la garantie que « 100 % des parties ont une ou plusieurs solutions ».

  • [^] # Re: Quelques pensĂ©es

    PostĂ© par (site web personnel) . En rĂ©ponse au journal rĂ©soudre "trouve 24". ÉvaluĂ© Ă  4.

    Quoi que, connaissant d'avance la forme des arbres, on peut procéder à l'inverse, du bas vers le haut, et calculer toutes les possibilités de couples, puis les assembler.

  • # Quelques pensĂ©es

    PostĂ© par (site web personnel) . En rĂ©ponse au journal rĂ©soudre "trouve 24". ÉvaluĂ© Ă  5.

    Si je ne m'abuse, les rĂ©sultats intermĂ©diaires se ramĂšnent Ă  une utilisation de parenthĂšses, et en somme, une solution possible a forcĂ©ment la forme d'un arbre binaire, les opĂ©rations utilisĂ©es ayant Ă  chaque fois deux termes. MĂȘme si plusieurs arbres peuvent ĂȘtre Ă©quivalent Ă  cause de la commutativitĂ© de l'addition et de la multiplication.

    Bref, des arbres binaires avec quatre feuilles, il n'y en a pas trente-six, en fait il n'y en a que deux si je ne m'abuse, les autres formes possibles étant équivalentes à celles-ci en échangeant des nombres :

     /\ /\
    a /\ / \
     b /\ / \
     c d /\ /\
     a b c d
    

    Donc, deux formes d'arbres, 4! rĂ©partitions des quatre nombres, et, les arbres ayant 3 nƓuds sur lesquels il faut choisir Ă  chaque fois une opĂ©ration parmi les quatre opĂ©rations de base, 43 choix d'opĂ©rations. Soit un total de 3072 possibilitĂ©s. Je me trompe ?

    On pourrait envisager d'optimiser le calcul en réutilisant des résultats de sous-arbres. Cela implique d'utiliser une forme de cache, et je ne suis en fait pas certain que ce soit vraiment plus efficace que de calculer sans cache. Un avis ?

  • [^] # Re: Attestation de niveau d'anticorps

    PostĂ© par (site web personnel) . En rĂ©ponse au journal De l'information contenue dans les passes. ÉvaluĂ© Ă  4.

    Peu de chance, je pense, en tout cas ce n'est vraiment pas mon cas. Ça me cassait les pieds de devoir recevoir deux doses la premiĂšre fois, alors qu'une aurait suffi compte tenu de mon infection passĂ©e, mais je les ai fait sans trop rechigner.

    Ça me cassait les pieds de faire une troisiĂšme dose alors que j'Ă©tais censĂ© ĂȘtre dĂ©jĂ  assez blindĂ© avec une infection et deux doses, mais je l'ai fait en rechignant encore moins, puisque je connaissais dĂ©jĂ  les effets de la vaccination : mal Ă  l'Ă©paule pendant deux jours et rien de plus. Je m'en serais bien passĂ© vu que je suis censĂ© ne pas avoir besoin d'autant de doses, mais bon, mon cas n'est dans aucune case prĂ©vue, donc tant pis.

  • [^] # Re: Attestation de niveau d'anticorps

    PostĂ© par (site web personnel) . En rĂ©ponse au journal De l'information contenue dans les passes. ÉvaluĂ© Ă  3.

    Ça doit ĂȘtre assez faisable tout de mĂȘme, parce que lors de la premiĂšre vague de vaccination, l'Ă©tĂ© dernier, Ă  un moment, on s'Ă©tait mis Ă  tester les anticorps des gens qui disaient avoir eu la Covid mais n'avaient pas de preuves l'attestant. Mon cas, quoi. Sauf que j'ai Ă©tĂ© vaccinĂ© juste avant que ces tests ne soient mis en place, et que malgrĂ© mon infection passĂ©e, j'ai donc eu droit Ă  deux doses. Avec la troisiĂšme que j'ai reçue il y a peu, ça devrait me faire une immunitĂ© en bĂ©ton armĂ©, au moins.

  • # DjVu

    PostĂ© par (site web personnel) . En rĂ©ponse au journal manipuler des PDF. ÉvaluĂ© Ă  10.

    Pour les documents numĂ©risĂ©s, le format DjVu est particuliĂšrement utile, parce qu'il permet de stocker des documents, mĂȘme en trĂšs haute dĂ©finition, avec un poids modĂ©rĂ©. Pour cela, un document y est stockĂ© en trois ou quatre couches superposĂ©es :

    • un arriĂšre-plan en couleur, en dĂ©finition plutĂŽt faible, compressĂ© genre JPEG-2000 ;
    • un « masque » bitonal (noir ou blanc, pas de gris), en haute dĂ©finition, compressĂ© genre JBIG2 ;
    • un premier-plan en couleur, en dĂ©finition plutĂŽt faible, compressĂ© genre JPEG-2000 ;
    • au besoin, une couche invisible de caractĂšres issus d'une OCR.

    Pour stocker un document numérisé en DjVu, l'étape cruciale est donc celle qui fera cette séparation en couches. Jusqu'à présent, j'utilisais didjvu. Malheureusement, comme pas mal d'outils liés à ce format, ce n'est que moyennement maintenu, et en particulier, c'est resté en Python 2 pour le moment.

    C'est tout de mĂȘme trĂšs efficace, je stocke sans problĂšme des documents numĂ©risĂ©s en 1200 points par pouce dans moins de 100 kio par page. Et pour ceux qui ne lisent pas le PDF, pas de problĂšme, on peut exporter un document DjVu en PDF, ce qui prend beaucoup plus de place, ou mĂȘme n'exporter que son « masque » bitonal en PDF, pour un poids Ă  peu prĂšs identique au DjVu.

    Ce qui se fait en DjVu pourrait maintenant se faire en PDF, vu que ce format prend en charge les images en JPEG-2000 et en JBIG2, et qu'on doit bien pouvoir leur associer un masque alpha pour les superposer. Seulement, il n'y a aucun outil, libre en tout cas, pour faire ça en PDF.

  • # Attestation de niveau d'anticorps

    PostĂ© par (site web personnel) . En rĂ©ponse au journal De l'information contenue dans les passes. ÉvaluĂ© Ă  10.

    Ce serait tout de mĂȘme plus simple s'ils mettaient en place une attestation de ce qu'on cherche Ă  avoir : un niveau d'anticorps suffisant.

    Mon cas est assez caractĂ©ristique pour cela : j'ai Ă©tĂ© infectĂ© Ă  la Covid-19 au tout dĂ©but du premier confinement, Ă  une Ă©poque oĂč les instructions dans ce genre de cas Ă©taient de rester chez soi pour ne contaminer personne. Donc, en particulier, ne pas aller voir un mĂ©decin tant que tout se passe bien, ne pas aller faire de test, de toute façon il n'y avait pas de test. Bref, une Covid-19 sans aucune preuve d'infection ni de rĂ©tablissement.

    Depuis, donc, une primo-vaccination Ă  deux doses. Cinq mois plus tard, une exposition majeure Ă  la Covid-19 Ă  l'occasion des fĂȘtes de NoĂ«l, sans l'attraper : entre la primo-infection et la vaccination, je devais ĂȘtre bien bourrĂ© d'anticorps. Et depuis, troisiĂšme dose vaccinale, dont je me serais bien passĂ©, ou que j'aurais bien faite plus tard.

    Seulement, on ne teste pas le niveau d'anticorps des gens, alors que c'est ce sur quoi on cherche Ă  agir.

  • [^] # Re: Outils d'accessibilitĂ©

    PostĂ© par (site web personnel) . En rĂ©ponse au message Utiliser shift sans maintenir appuyĂ©?. ÉvaluĂ© Ă  5.

    Sauf que ce n'est pas ça le concept de touches collantes, mais plutÎt : tu appuies sur Shift, tu le relùches, tu appuies sur une lettre, tu le relùches, et c'est tout.

    Les touches modificatrices collantes, c'est un peu comme la touche morte de l'accent circonflexe, ça affecte le non-modificateur qui suit, et rien de plus.

  • # UtilitĂ© ?

    PostĂ© par (site web personnel) . En rĂ©ponse au journal Le dictionnaire des francophones : un dictionnaire francophone structurĂ© libre. ÉvaluĂ© Ă  9.

    C'est un peu provocateur, mais tout cela est-il vraiment utile ? Le Web sĂ©mantique, c'est quelque chose dont j'ai entendu parler il y a quoi, douze ans je crois. Ça a l'air trĂšs intĂ©ressant, trĂšs propre, tout ce qu'on veut, mais ça m'a justement toujours paru trĂšs thĂ©orique.

    Ce projet intĂ©ressant semble un excellent usage des concepts d'ontologie, de relations sĂ©mantiques ou je ne sais quoi. D'oĂč ma question : est-ce que vous arrivez Ă  imaginer des usages concrets pour cela ? Autre que de permettre Ă  des chercheurs de chercher des choses Ă  chercher, Ă©videmment.

    C'est une question sĂ©rieuse, pas une pure provocation, je serait vraiment intĂ©ressĂ© d'imaginer ce genre de truc ĂȘtre vraiment utile, si c'est possible.

  • [^] # Re: Outils d'accessibilitĂ©

    PostĂ© par (site web personnel) . En rĂ©ponse au message Utiliser shift sans maintenir appuyĂ©?. ÉvaluĂ© Ă  7.

    Oui, bon, sticky ça se traduit tout de mĂȘme par collant, et c'est une image qui Ă©voque une touche sous laquelle resterait un dĂ©pĂŽt de sirop de grenadine : lorsqu'on l'enfonce, (扊陀) elle se blo (ć‰Šé™€ă“ă“ăŸă§) elle reste enfoncĂ©e, le temps d'appuyer sur une autre touche, aprĂšs quoi elle se relĂšve fort Ă  propos.