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

  • # Contournement de dĂ©ficiences du Web

    PostĂ© par (site web personnel) . En rĂ©ponse Ă  la dĂ©pĂȘche AmĂ©liorer la disponibilitĂ© de ses services. ÉvaluĂ© Ă  10.

    À noter que tout cela s'applique Ă  un service particulier, le Web, et que cette complexitĂ© n'est rendu nĂ©cessaire que par un dĂ©faut de conception du protocole HTTP et son incapacitĂ© Ă  Ă©voluer.

    Ainsi, avec d'autres services qui bĂ©nĂ©ficient protocoles plus moderne Ă  ce regard, tels que SMTP ou XMPP, la disponibilitĂ© peut ĂȘtre amĂ©liorĂ©e de façon infiniment plus simple, en installant simplement un second serveur, en faisant ce qu'il faut pour qu'il collabore avec le premier, et en publiant un simple enregistrement DNS (MX ou SRV) qui indique ce serveur secondaire. Pas besoin de rĂ©partiteur de charge, et surtout pas de SPoF liĂ© Ă  ce rĂ©partiteur, ce qui permet de faire de la vraie redondance instantanĂ©e sur toute la chaĂźne, ce qui est Ă  peu prĂšs infaisable pour le Web.

  • [^] # Re: merci pour vos rĂ©ponses.

    PostĂ© par (site web personnel) . En rĂ©ponse au message Distributions utilisant le systĂšme de paquetage *.deb.. ÉvaluĂ© Ă  3.

    Tu es dans le cas typique du proverbe « les bons développeurs sont de mauvais empaqueteurs »

    Note que ce n'est pas une insulte, hein. C'est comme dire que je suis un mauvais musicien, c'est un fait et ça ne me dérange pas.

  • [^] # Re: merci pour vos rĂ©ponses.

    PostĂ© par (site web personnel) . En rĂ©ponse au message Distributions utilisant le systĂšme de paquetage *.deb.. ÉvaluĂ© Ă  4.

    Je pensais a installer les dépendances pour mon programme (automatiser la tùche),
    car si l'utilisateur cible clique ou exécute (dpkg -i) mon paquetage *.deb il peut soit:

    -) avoir installer les dépendances tout seule dans ce cas pas de soucis mon script teste si les paquets sont installé avant l'appel a apt-get.

    -) ExĂ©cuter bĂȘtement le paquet afin d'installer le programme et dans ce cas le test et l'installation sont utile (sous condition d'une connexion internet et disponibilitĂ© de apt-get).

    Et que faire si ce n'est pas le cas car le programme ne peut pas fonctionner sans ses paquets.

    Fait ça au postinst est une horreur, ce n'est pas du tout le rÎle d'un script de post-installation. Il y a dans les infos du paquet un champ de dépendances, qui est là pour ça.

    Je doit créer un dossier cacher dans le $HOME de l'utilisateur pour les ressources de mon programme et ça a été un vrai calvaire de créer un paquetage valide car:

    Car c'est une pratique horrible également de faire ça par le paquet : un paquet ne doit pas toucher aux répertoires personnels, mais seulement aux répertoires systÚme. L'ajout de répertoires ou de fichiers dans le répertoire personnel de l'utilisateur, c'est au logiciel de le faire, au premier lancement.

    Heureusement que l'on peut exécuter un script...

    Argh. Jamais un paquet comme ça ne serait admis dans Debian.

    Je trouve simplement que lintian est trop stricte et il est vrai que les paquetage se doivent d'ĂȘtre de qualitĂ© contrĂŽler

    Lintian est strict pour faire respecter des conventions de qualité, que tu cherches à contourner. Il n'est pas étonnant que tu aies du mal. Tu es dans le cas typique du proverbe « les bons développeurs sont de mauvais empaqueteurs » : développeur, tu aimes coder, mais pas empaqueter, tout simplement.

  • [^] # Re: Super

    PostĂ© par (site web personnel) . En rĂ©ponse Ă  la dĂ©pĂȘche Sortie de PhotoShow 3.0. ÉvaluĂ© Ă  2.

    Notez qu'il y existe d'excellentes raisons de coder pour Bash, parce que tous les bashismes n'ont pas d'Ă©quivalent directs. Parfois, un bashisme ne peut ĂȘtre remplacĂ© que par une sĂ©rie d'appels externes, qui sont plus coĂ»teux que d'appeler Bash pour faire tout ça. Mais ce n'est pas souvent le cas, et la plupart des bashismes n'ont aucune raison d'ĂȘtre. Sans compter les scripts qui ne comportent dĂ©jĂ  aucun bashisme !

  • [^] # Re: Super

    PostĂ© par (site web personnel) . En rĂ©ponse Ă  la dĂ©pĂȘche Sortie de PhotoShow 3.0. ÉvaluĂ© Ă  2.

    Ok pas de souci, c'Ă©tait plus pour te faire rĂ©agir : traiter de fainĂ©ant les personnes qui n'ont pas d'intĂ©rĂȘt pour un sujet, c'est les braquer la plupart du temps au lieu de faire naĂźtre cet intĂ©rĂȘt chez elles.

    En fait ce ne sont pas les personnes qui sont fainĂ©antes, c'est leur choix qui relĂšve de la solution de facilitĂ©, ce qui est comprĂ©hensible pour un domaine qui n'a pas leur intĂ©rĂȘt principal.

    À une Ă©poque, les gens Ă©crivaient des scripts shells sans se poser de question, et comme Bash Ă©tait le shell d'exĂ©cution des scripts par dĂ©faut, ils ne se rendaient pas compte qu'ils utilisaient plein de bashismes et que leurs scripts ne fonctionnaient pas sur d'autres shells.

    Puis, Ubuntu, et ensuite Debian, ont décidé d'installer Dash, un shell plus restreint et plus léger, à la place de Bash comme interpréteur des scripts par défaut. Du coup, des tas de scripts se sont trouvés ne plus fonctionner. Il y avait alors deux façons de régler ce genre de problÚme :

    • la bonne, qui consistait Ă  traquer les bashismes, et, s'il n'y avait pas de raison majeure de les maintenir, de les remplacer par des formes standard ;
    • la mauvaise, consistant Ă  ne pas se poser de question et Ă  forcer l’interprĂ©tation par Bash.

    Ça, c'Ă©tait pour les scripts existants. Le problĂšme, c'est que cette seconde solution de facilitĂ© est rentrĂ©e dans les mƓurs au point que des gens ont pris l'habitude de coder leurs scripts pour Bash sans rĂ©flĂ©chir, mĂȘme en n'utilisant aucun bashisme !

    Pour les nouveaux scripts, la bonne attitude consiste à coder pour sh, en évitant les bashismes évidents : si on n'a pas bien l'habitude, ça échouera à l'exécution, et avec un coup de checkbashisms on pourra voir ce qu'il faut corriger. On s'y fait rapidement, et au bout de trÚs peu de temps on sait coder pour sh sans faire de bashismes.

  • [^] # Re: Super

    PostĂ© par (site web personnel) . En rĂ©ponse Ă  la dĂ©pĂȘche Sortie de PhotoShow 3.0. ÉvaluĂ© Ă  3.

    Pas la peine de t'excuser de quelque chose que tu n'as pas commis.

    Si si, je plaide coupable, c'Ă©tait condescendant et j'en suis dĂ©solĂ©. Je sais ce que je pense quand j'Ă©cris, tout de mĂȘme !

  • [^] # Re: Super

    PostĂ© par (site web personnel) . En rĂ©ponse Ă  la dĂ©pĂȘche Sortie de PhotoShow 3.0. ÉvaluĂ© Ă  3. DerniĂšre modification le 09 juillet 2014 Ă  15:57.

    Non, j'ai visiblement un peu sur-interprĂ©tĂ© ce que j'avais lu, dans le manuel de Bash d'ailleurs. Ils qualifient la forme avec des accents graves d'ancienne. Ce qui est exact, dans le sens oĂč elle est plus ancienne que celle avec des parenthĂšses, qui a probablement Ă©tĂ© introduite pour faciliter l'imbrication de substitutions de commandes.

    Bref, aujourd'hui on peut utiliser les deux, mais mieux vaut Ă  mon avis utiliser la syntaxe moderne, qui n'a Ă  ma connaissance par d'inconvĂ©nient et qui a un avantage trĂšs net pour des substitutions imbriquĂ©es, ce qui peut ĂȘtre utile Ă  l'occasion.

  • [^] # Re: Super

    PostĂ© par (site web personnel) . En rĂ©ponse Ă  la dĂ©pĂȘche Sortie de PhotoShow 3.0. ÉvaluĂ© Ă  4.

    C'est toi qui a commencé à qualifier ton script de fainéant... Bon, désolé pour la condescendance, en tout cas voici une référence à ce sujet : https://wiki.ubuntu.com/DashAsBinSh

    En gros, les bashismes les plus fréquents dans les scripts, remplaçables par des fonctions standards, sont :

    • [[ ... ]] pour les tests : utiliser [ ... ] Ă  la place ;
    • function FUNCNAME pour dĂ©finir des fonctions : utiliser FUNCNAME() Ă  la place ;
    • source LIBRARY : utiliser . LIBRARY Ă  la place.

    Et quelques bashismes qui ne sont pas remplaçables de façon simple :

    • certaines formes de dĂ©veloppement de variables, par exemple ${VAR/pattern/replacement}, qu'on peut souvent remplacer par plusieurs remplacements de fin et de dĂ©but ;
    • certains tests, notamment [[ CHAINE == MOTIF ]], qu'on peut remplacer par un appel Ă  grep, mais c'est justement lĂ  un cas oĂč il est probablement plus efficace de garder Bash ;
    • $RANDOM, qu'on peut remplacer par des trucs pas franchement triviaux, mais c'est Ă©galement un cas oĂč il peut ĂȘtre pertinent de garder Bash.

    Au passage, notez que pour les tests avec la commande test, alias [ ... ], les combinaisons intégrées sont marquées caduques par POSIX, et qu'il faut utiliser les combinaisons externes && et || à la place. Soit, au lieu de :

    test -e "$file1" -o -e "$file2"

    utiliser :

    test -e "$file1" || test -e "$file2"
  • # DĂ©verrouiller

    PostĂ© par (site web personnel) . En rĂ©ponse au journal Portables, tablettes, smartphones dĂ©chargĂ©s interdits dans les avions. ÉvaluĂ© Ă  6.

    Pourquoi déverrouiller ? S'ils vérifient qu'il s'allume, il est inutile de le débloquer, il suffit de montrer qu'il démarre, puis de l'éteindre sans l'avoir déverrouillé.

  • [^] # Re: Super

    PostĂ© par (site web personnel) . En rĂ©ponse Ă  la dĂ©pĂȘche Sortie de PhotoShow 3.0. ÉvaluĂ© Ă  0.

    J'ai fait pour mon besoin un script bash de fainéant

    C'est le cas de le dire : je suis heureux de t'apprendre que tu n'as utilisĂ© aucune fonctionnalitĂ© spĂ©cifique Ă  Bash, et que ton script est tout Ă  fait utilisable avec n'importe quel shell standard. Tu peux mettre #! /bin/sh en tĂȘte.

    Ah, et juste une remarque, pour les substitutions de commandes la syntaxe avec des accents graves est caduque, mieux vaut utiliser $(...) qui facilite l'écriture de doubles substitutions quand on en a besoin.

  • [^] # Re: Super

    PostĂ© par (site web personnel) . En rĂ©ponse Ă  la dĂ©pĂȘche Sortie de PhotoShow 3.0. ÉvaluĂ© Ă  4.

    Merci du bel exemple de méconnaissance du shell standard et d'utilisation inutile de Bash :

    par exemple tirer partie des substitutions ## %% # % dans les expansions de variables

    C'est pris en charge par les shells standard.

    imbriquer des $( )

    Ça aussi c'est standard (chercher "nested").

    ou des tests avec des doubles crochets pour matcher une chaĂźne avec un pattern (la liste est longue)

    Ça, c'est une bonne raison. Quand on en a besoin, ce qui n'est pas toujours le cas.

    Je n'ai jamais dit qu'il était inutile de coder pour Bash, mais seulement que, lorsqu'on n'a pas besoin de ses fonctionnalités spécifiques, forcer l'utilisation de Bash plutÎt que de cibler n'importe quel shell standard était surtout une marque de fainéantise.

  • [^] # Re: DĂ©rivĂ©es de Debian

    PostĂ© par (site web personnel) . En rĂ©ponse au message Distributions utilisant le systĂšme de paquetage *.deb.. ÉvaluĂ© Ă  3.

    Ça dĂ©pend, mais gĂ©nĂ©ralement oui. C'est notamment le cas d'Ubuntu : quand un paquet est envoyĂ© dans Debia, il finit par arriver dans la version suivante d'Ubuntu.

  • [^] # Re: Pas mal :)

    PostĂ© par (site web personnel) . En rĂ©ponse Ă  la dĂ©pĂȘche Sortie de PhotoShow 3.0. ÉvaluĂ© Ă  5.

    Ou pas : Ctrl + molette ça zoome à partir de la taille normale, donc ça fait des images floues.

  • [^] # Re: Super

    PostĂ© par (site web personnel) . En rĂ©ponse Ă  la dĂ©pĂȘche Sortie de PhotoShow 3.0. ÉvaluĂ© Ă  -7.

    Enfin, faire un script bash

    Un script shell. Il est totalement inutile de forcer l'utilisation de Bash pour des choses aussi simples, et utiliser Bash par défaut parce qu'on n'est pas sûr de faire du code portable, c'est une solution de fainéant.

  • # DĂ©rivĂ©es de Debian

    PostĂ© par (site web personnel) . En rĂ©ponse au message Distributions utilisant le systĂšme de paquetage *.deb.. ÉvaluĂ© Ă  4.

    Il est possible que des distributions non issues de Debian utilisent ce format de paquet, mais ça doit ĂȘtre un peu rare tout de mĂȘme. Pour les dĂ©rivĂ©es donc :

    https://wiki.debian.org/Derivatives/Census
    https://wiki.debian.org/Derivatives
    https://www.debian.org/misc/children-distros

  • [^] # Re: Étiquettes

    PostĂ© par (site web personnel) . En rĂ©ponse Ă  la dĂ©pĂȘche Sortie de PhotoShow 3.0. ÉvaluĂ© Ă  4.

    À noter que si j'aime bien l'idĂ©e de liens symboliques qui permettent une utilisation transparente mĂȘme hors de Photoshow, la mĂȘme fonctionnalitĂ© serait obtenue par un fichier par mot-clef, listant les photos marquĂ©es avec ce mot-clef.

  • [^] # Re: Étiquettes

    PostĂ© par (site web personnel) . En rĂ©ponse Ă  la dĂ©pĂȘche Sortie de PhotoShow 3.0. ÉvaluĂ© Ă  3.

    Pour ĂȘtre plus prĂ©cis, une photo marquĂ©e par exemple « bourrĂ© » pourrait ĂȘtre liĂ©e dans un rĂ©pertoire tags/bourrĂ©, et, Ă  son emplacement original, ĂȘtre accompagnĂ©e d'un fichier .tags contenant la liste des mots-clefs avec lesquels elle a Ă©tĂ© marquĂ©e, ici « bourrĂ© » donc :

    $ find
    photos/
    photos/réveillon2008
    photos/réveillon2008/IMG_4212.JPG
    photos/réveillon2008/IMG_4212.JPG.tags
    tags/
    tags/bourré
    tags/bourré/réveillon2008_IMG_4212.JPG -> ../../photos/réveillon2008/IMG_4212.JPG
    $ cat photos/réveillon2008/IMG_4212.JPG.tags
    bourré
  • # Étiquettes

    PostĂ© par (site web personnel) . En rĂ©ponse Ă  la dĂ©pĂȘche Sortie de PhotoShow 3.0. ÉvaluĂ© Ă  2.

    Une idĂ©e de fonctionnalitĂ© : le possibilitĂ© de dĂ©finir des Ă©tiquettes (tags) pour les photos. Ça peut ĂȘtre mis en Ɠuvre par des liens symboliques je pense.

  • # UtilitĂ©

    PostĂ© par (site web personnel) . En rĂ©ponse au message Remplir automatiquement et aleatoirement une clef usb avec des repertoire de mp3. ÉvaluĂ© Ă  3.

    J'ai du mal à voir le cas d'usage de ce truc. À quoi cela te sert-il ?

  • # Vieille technique

    PostĂ© par (site web personnel) . En rĂ©ponse au message Arnaque cartes micro SD vicieuses. ÉvaluĂ© Ă  7.

    C'est une vieille technique ça, un collĂšgue m'avait parlĂ© d'une boutique dans un genre de bazar en Asie, oĂč le vendeur demandait au client ce qu'il voulait comme clef USB, puis allait dans son arriĂšre boutique programmer une clef USB de faible capacitĂ© pour se faire passer pour la taille demandĂ©e...

  • [^] # Re: .vin et .wine

    PostĂ© par (site web personnel) . En rĂ©ponse au journal Point BZH. ÉvaluĂ© Ă  3.

    C'est vrai, en fait dans le processus d'attribution de ces nouveaux TLD privĂ©s, il y a une Ă©tape oĂč on vĂ©rifie qu'ils ne posent pas de problĂšme ou de confusion par rapport Ă  l'existant, et de tels pluriels y seraient probablement recalĂ©s.

  • [^] # Re: intĂ©rĂȘt?

    PostĂ© par (site web personnel) . En rĂ©ponse au journal Point BZH. ÉvaluĂ© Ă  5. DerniĂšre modification le 27 juin 2014 Ă  16:12.

    Tout Ă  fait d'accord sur l'intĂ©rĂȘt principal du .fr, en revanche je ne pense pas que les motifs invoquĂ©s pour justifier le .bzh soient intrinsĂšquement si mauvais que ça. Peu sĂ©rieux, sans le moindre doute : le .bzh n'est absolument pas nĂ©cessaire.

    À mon avis, sa motivation principale est liĂ©e Ă  une affirmation d'identitĂ© bretonne, qui n'est donc pas sĂ©rieuse techniquement parlant pour un nom de domaine de niveau supĂ©rieur — mais aucun de ces nouveaux TLD ne l'est — mais qui n'est pas intrinsĂšquement mauvaise : la fiertĂ© rĂ©gionale qui n'implique en aucun cas une dĂ©fiance nationale.

    Bref, à mon avis, c'est l'attribution de nouveaux TLD privés qui est regrettable et peu justifiée, mais la volonté d'en créer un pour la Bretagne n'est pas spécialement inquiétante.

  • [^] # Re: .vin et .wine

    PostĂ© par (site web personnel) . En rĂ©ponse au journal Point BZH. ÉvaluĂ© Ă  4.

    Et vendre des noms de domaine de niveau inférieur aux VTC !

  • [^] # Re: .vin et .wine

    PostĂ© par (site web personnel) . En rĂ©ponse au journal Point BZH. ÉvaluĂ© Ă  3.

    Le problĂšme n'est pas que les vignerons sont lents, ils peuvent ĂȘtre trĂšs trĂšs rapides. Sauf que si qlq'un a Ă©tĂ© plus rapide qu'eux (et il y en aura sĂ»rement), cela implique pour eux d'au mieux payer la taxe du troll qui s'est installĂ© sur le pont qu'ils ont construit.

    Non, les noms de domaine de niveau supérieur ne sont pas vendus aux enchÚres par l'ICANN.

    En gros, c'est une grosse loterie, similaire à ces jeux télévisés "le premier appel est le gagnant": dÚs que les portes s'ouvriront, tout le monde se ruera et le gagnant sera l'un d'eux pris au hasard.

    Non, les noms de domaine de niveau supérieur ne sont pas vendus au premier candidat qui se manifeste.

    D'aprĂšs les explications de l'ICANN, lorsque plusieurs candidats demandent le mĂȘme nom, il y a aprĂšs Ă©valuation technique de chaque candidat une procĂ©dure de rĂ©solution du conflit, qui se termine par Ă©lection d'un seul candidat. LĂ , cette procĂ©dure n'a vsisiblement pas Ă©tĂ© nĂ©cessaire parce qu'il n'y avait qu'un seul candidat.

  • [^] # Re: .vin et .wine

    PostĂ© par (site web personnel) . En rĂ©ponse au journal Point BZH. ÉvaluĂ© Ă  2.

    Les vignerons se sont groupés pour rùler, donc ils auraient aussi bien pu se grouper pour sous-traiter l'achat de ces noms de domaines à la place.