Je me permets de reposter ton code légèrement modifié (en fait seulement la condition du while… ton code marchait mais ça faisait bizarre :)
#!/usr/bin/python2importsysfromrandomimport*des1=randint(1,6)des2=randint(1,6)total=des1+des2compteur=0gagne=[7,11]perdu=[2,3,12]whileTrue:compteur=compteur+1des1=randint(1,6)des2=randint(1,6)total=des1+des2iftotalinperdu:print"vous avez obtenu le",des1,"et le",des2,"soit un total de",totalprint"conclusion: vous avez perdu en",compteur,"coup(s)"sys.exit(0)iftotalingagne:print"vous avez obtenu le",des1,"et le",des2,"soit un total de",totalprint"conclusion: vous avez gagne en",compteur,"coup(s)"sys.exit(0)else:print"vous avez obtenu le",des1,"et le",des2,"soit un total de",total
C’est du python 2, en 3 ça n’est pas valide…
On est effectivement obligé d’utiliser sys.exit() car si on met la bonne condition dans le while : while total not in gagne+perdu (le '+' n’est pas une addition ici…) et bien le print n’aura pas lieu lorsque l’on gagne ou que l’on perd, on aura que le troisième print, celui du else, qui aura lieu, bien que le programme s’arrête lorsque l’on gagne ou que l’on perd.
Ajout d’une action 'udeploy', pour "unquoted deploy" qui fait comme 'deploy' mais sans mettre le nom de fichier entre guillemets pour les commandes chown et chmod, permettant ainsi d’utiliser des jokers pour appliquer des droits à un ensemble de fichier, exemple '/home/*/.ssh' pour appliquer les droits sur tous les répertoires '.ssh' de tous les répertoires de /home.
Une limitation évidente et qu’il n’est alors pas possible d’avoir un autre caractère spécial dans le chemin, exemple /home/he llo/*/h.
Ici il a utilisé la fonction exit() de ce module qui permet de sortir du programme en envoyant un code retour. Je ne vois pas trop pourquoi d’ailleurs car avec la bonne condition dans le while le programme sort de la boucle et envoi exit(0) tout seul parce qu’il a arrive à la fin du script.
Avec les sys.exit(0) là où il les a mis on pourrait faire while True pour le coup. Vu que le programme se terminerait si l’une des conditions (total in gagne) ou (total in perdu) était remplie.
while total != gagne or perdu:
ça fait while (total != gagne), qui est toujours vrai puisqu’ils n’ont pas le même type, OU perdu, donc la condition est toujours vraie.
Définitivement, en Python, 2 & 3, comparer un entier à une liste n’a pas de sens.
Il faut utiliser element in list pour savoir si un élément se trouve dans une liste, comme l’a montré pstk. Par contre j’ai un problème avec la condition pour le while dans son code.
Je n’ai pas testé mais il doit être possible d’utiliser un fichier d’entrée contenant des wildcards, pour une vérification ou un forçage sur un ensembles de fichiers.
Mais oui, si les fichiers sont répartis sur les deux disques mais qu’aucun n’est splité, tout ce qui est sur le disque encore en état de marche sera accessible.
Posté par Marotte ⛧ .
En réponse au message SSD dans un serveur ?.
Évalué à 3.
Dernière modification le 28 octobre 2016 à 18:57.
Ah, en effet je viens de débrancher un des disques et le raid0 ne fonctionne complètement plus (même après avoir rebranché le disque et redémarré la machine).
C'est un truc de ouf comme aucun des logiciels de raid sous linux ne fonctionne correctement.
C’est normal que tu perdes tout si tu as un RAID-0 sur deux disques et que l’un d’entre-eux lâche. Le RAID fonctionne plutôt pas mal sous Linux…
Si tu as deux disques et que tu veux ne rien perdre quand l’un lâche il faut qu’ils soient en RAID-1 (mirroring).
Et que dire de l'abandon du magsafe ? c'est une grande perte pour l'industrie.
Le but du magsafe c’était de pas risquer de péter la connectique quand Régis se prend les pieds dans le câble. Avec un connecteur traditionnel il y aura peut-être plus de remplacement de machine, au contraire, c’est bon pour l’industrie !
J’ai toujours trouvé que c’était une super idée (peut-être le seul truc vraiment révolutionnaire sur les portables Apple !) et tous les gens qui ont des Mac autour de moi m’ont toujours dit « ouai c’est super. »
Posté par Marotte ⛧ .
En réponse au message Git.
Évalué à 2.
Oui mais ça c’est quand tu veux faire un dépôt local de travail. Or tu ne peux pas le faire à partir d’un dépôt "bare" qui n’a pas déjà une branche configurée.
C’est la manière de créer et de configurer cette branche initiale (qu’on pourra ensuite cloner) sur ce dépôt "bare", qui sert de référence, que j’avais du mal à comprendre.
Lorsque que l’on initialise un dépôt de travail vide (non "bare") et que l’on fait un premier commit cette branche est créée et s’appelle 'master'. Lors d’un clone tout ce fait automatiquement aussi.
Mais j’essayais de bien comprendre toutes les étapes intermédiaires. Sinon j’aurais rien compris à la suite :)
parce qu'il n'y a pas besoin de démarrer rapidement le serveur.
Avoir des IO qui poutrent ça ne sert pas qu’au démarrage…
Sinon, si c'est la mémoire flash qui t'intéresse et que tu veux économiser un emplacement 3.5 ou 2.5, tu peux utiliser une clé USB si tu dispose d'un port adéquat sur la carte mère. Mais à voir si tu peux installer ton OS et démarrer sur la clé.
Je sais pas en USB-3 mais en USB-2 on perd tout l’intérêt de la mémoire flash… vu le débit du bus USB-2…
Posté par Marotte ⛧ .
En réponse au message Git.
Évalué à 3.
Merci.
Effectivement, je découvre que git ne se préoccupe absolument pas des autorisations (ce qui est normal car ce n’est pas son boulot…). Si j’ai bien compris, pour les gérer les droits sans utiliser une surcouche comme gitolite on a deux possibilités :
les permissions UNIX
les ACL
ça ne permet pas de gérer les autorisations par branche mais ça permet déjà de les gérer par dépôt.
Quitte à me pencher sur les surcouches à git je lorgne du côté de gitlab qui semble offrir de nombreuses fonctionnalités, permet-il de gérer finement les autorisations ?
Tu aurais dû apt-cache cherché ;) (j’ai cherché xls2csv)
$ apt-cache show catdoc
Package: catdoc
Version: 1:0.94.3~git20160113.dbc9ec6+dfsg-1
Installed-Size: 666
Maintainer: Martín Ferrari tincho@debian.org
Architecture: amd64
Depends: libc6 (>= 2.14)
Suggests: tk | wish
Description-fr: convertisseur de fichiers Word, Excel et PowerPoint vers du texte brut
Le programme catdoc lit un ou plusieurs fichiers Microsoft Word et écrit le
texte contenu vers la sortie standard.
. Il est maintenant accompagné de xls2csv, un programme convertissant les
feuilles de calcul Excel vers un fichiers csv (comma-separated value), et
catppt, un outil d'extraction des informations textuelles depuis les
fichiers Powerpoint.
S’il ne s’agit pas d’une image ISO dite « hybride » elle ne démarrera qu’à partir d’un lecteur optique, donc kvm -cdrom /dev/sdc devrait le faire. Par contre si c’est le cas, elle ne démarrera pas non plus si tu essayes de booter directement ta machine physique avec…
[^] # Re: une proposition
Posté par Marotte ⛧ . En réponse au message aide pour invalid syntax ... Évalué à 2.
Je me permets de reposter ton code légèrement modifié (en fait seulement la condition du while… ton code marchait mais ça faisait bizarre :)
C’est du python 2, en 3 ça n’est pas valide…
On est effectivement obligé d’utiliser sys.exit() car si on met la bonne condition dans le while :
while total not in gagne+perdu(le '+' n’est pas une addition ici…) et bien le print n’aura pas lieu lorsque l’on gagne ou que l’on perd, on aura que le troisième print, celui du else, qui aura lieu, bien que le programme s’arrête lorsque l’on gagne ou que l’on perd.[^] # Re: une proposition
Posté par Marotte ⛧ . En réponse au message aide pour invalid syntax ... Évalué à 2.
oui, vu le titre après coup…
son code étant malformé (indentation perdue) il était de fait syntaxiquement foireux… j’ai pas pris la peine de le ré-identer pour le tester…
[^] # Re: À tester
Posté par Marotte ⛧ . En réponse au message Manipulation des permissions Unix. Évalué à 2. Dernière modification le 30 octobre 2016 à 22:44.
Ajout d’une action 'udeploy', pour "unquoted deploy" qui fait comme 'deploy' mais sans mettre le nom de fichier entre guillemets pour les commandes chown et chmod, permettant ainsi d’utiliser des jokers pour appliquer des droits à un ensemble de fichier, exemple '/home/*/.ssh' pour appliquer les droits sur tous les répertoires '.ssh' de tous les répertoires de /home.
Une limitation évidente et qu’il n’est alors pas possible d’avoir un autre caractère spécial dans le chemin, exemple
/home/he llo/*/h.# Erratum
Posté par Marotte ⛧ . En réponse au message Manipulation des permissions Unix. Évalué à 2.
La commande suivante est fausse :
L’action 'list' s’utilise en fait ainsi :
./pkeep list /path/to/directoryPour afficher « proprement » le contenu d’un fichier .pkeep j’ai ajouté l’action 'print'
$ ./pkeep print < /tmp/.pkeep
[^] # Re: une proposition
Posté par Marotte ⛧ . En réponse au message aide pour invalid syntax ... Évalué à 3. Dernière modification le 30 octobre 2016 à 22:21.
Pour sys tu peux aller voir là https://docs.python.org/3/library/sys.html, ce serait trop long à expliquer…
Ici il a utilisé la fonction exit() de ce module qui permet de sortir du programme en envoyant un code retour. Je ne vois pas trop pourquoi d’ailleurs car avec la bonne condition dans le while le programme sort de la boucle et envoi exit(0) tout seul parce qu’il a arrive à la fin du script.
Avec les sys.exit(0) là où il les a mis on pourrait faire
while Truepour le coup. Vu que le programme se terminerait si l’une des conditions (total in gagne) ou (total in perdu) était remplie.ça fait while (total != gagne), qui est toujours vrai puisqu’ils n’ont pas le même type, OU perdu, donc la condition est toujours vraie.
Pour l’opérateur 'in' c’est tout simple :
[^] # Re: une proposition
Posté par Marotte ⛧ . En réponse au message aide pour invalid syntax ... Évalué à 2.
Définitivement, en Python, 2 & 3, comparer un entier à une liste n’a pas de sens.
Il faut utiliser
element in listpour savoir si un élément se trouve dans une liste, comme l’a montré pstk. Par contre j’ai un problème avec la condition pour le while dans son code.Je ferais :
[^] # Re: une proposition
Posté par Marotte ⛧ . En réponse au message aide pour invalid syntax ... Évalué à 2.
Il n’a pas précisé que c’était un problème de syntaxe. J’ai eu la même réaction que toi : il faut un 'or' et pas un 'and'.
Par contre je pense qu’il faut des parenthèses car '!=' est prioritaire sur 'or' :
Cela dit, après réflexion (et test), comparer un scalaire à une liste ne permet pas de checker si le scalaire est dans cette liste…
et :
list1 or list2semble renvoyer list1 (logique…).# À tester
Posté par Marotte ⛧ . En réponse au message Manipulation des permissions Unix. Évalué à 2.
Je n’ai pas testé mais il doit être possible d’utiliser un fichier d’entrée contenant des wildcards, pour une vérification ou un forçage sur un ensembles de fichiers.
[^] # Re: 2016
Posté par Marotte ⛧ . En réponse au journal Gestion des erreurs d’allocation mémoire en C. Évalué à 5.
Pfff… 16GB ought to be enough for anyone.
[^] # Re: prems
Posté par Marotte ⛧ . En réponse au journal Le courage de l'innovation. Évalué à 2.
Apple a développé une batterie qui se décharge jamais ?
[^] # Re: solution 3
Posté par Marotte ⛧ . En réponse au message Git. Évalué à 2. Dernière modification le 29 octobre 2016 à 18:08.
C’est bien ça le principe si je ne m’abuse.
J’ai pas testé mais c’est ce que j’ai pu comprendre en effet : on ne peut pousser que vers un dépôt "bare".
Cela dit, au besoin, on peut créer un dépôt de référence à partir d’un dépôt de travail avec un
git clone --bare …[^] # Re: prems
Posté par Marotte ⛧ . En réponse au journal Le courage de l'innovation. Évalué à 2.
Par quoi vont-ils remplacer magsafe ? Parce qu’avec une connectique traditionnelle ça a encore plus de chance d’emporter la machine non ?
[^] # Re: Attends quelques années. :)
Posté par Marotte ⛧ . En réponse au message SSD dans un serveur ?. Évalué à 3.
Pour moi on ne devrait pas parler de RAID 0 dans ce cas. C’est un abus de langage.
https://fr.wikipedia.org/wiki/RAID_%28informatique%29#RAID_0_:_volume_agr.C3.A9g.C3.A9_par_bandes
Mais oui, si les fichiers sont répartis sur les deux disques mais qu’aucun n’est splité, tout ce qui est sur le disque encore en état de marche sera accessible.
[^] # Re: Attends quelques années. :)
Posté par Marotte ⛧ . En réponse au message SSD dans un serveur ?. Évalué à 3. Dernière modification le 28 octobre 2016 à 18:57.
C’est normal que tu perdes tout si tu as un RAID-0 sur deux disques et que l’un d’entre-eux lâche. Le RAID fonctionne plutôt pas mal sous Linux…
Si tu as deux disques et que tu veux ne rien perdre quand l’un lâche il faut qu’ils soient en RAID-1 (mirroring).
[^] # Re: prems
Posté par Marotte ⛧ . En réponse au journal Le courage de l'innovation. Évalué à 6.
Le but du magsafe c’était de pas risquer de péter la connectique quand Régis se prend les pieds dans le câble. Avec un connecteur traditionnel il y aura peut-être plus de remplacement de machine, au contraire, c’est bon pour l’industrie !
J’ai toujours trouvé que c’était une super idée (peut-être le seul truc vraiment révolutionnaire sur les portables Apple !) et tous les gens qui ont des Mac autour de moi m’ont toujours dit « ouai c’est super. »
[^] # Re: solution 3
Posté par Marotte ⛧ . En réponse au message Git. Évalué à 2.
Oui mais ça c’est quand tu veux faire un dépôt local de travail. Or tu ne peux pas le faire à partir d’un dépôt "bare" qui n’a pas déjà une branche configurée.
C’est la manière de créer et de configurer cette branche initiale (qu’on pourra ensuite cloner) sur ce dépôt "bare", qui sert de référence, que j’avais du mal à comprendre.
Lorsque que l’on initialise un dépôt de travail vide (non "bare") et que l’on fait un premier commit cette branche est créée et s’appelle 'master'. Lors d’un clone tout ce fait automatiquement aussi.
Mais j’essayais de bien comprendre toutes les étapes intermédiaires. Sinon j’aurais rien compris à la suite :)
[^] # Re: perseverer
Posté par Marotte ⛧ . En réponse au message gftp et la taille des fichiers. Évalué à 2.
Pour qu’il fasse suivre où ?
Le site officiel indique 2.0.19 (11/30/2008)
Sinon il y a le git du projet Gnome : https://git.gnome.org/browse/gftp/
et le dernier tag est pour la 2.0.17…
Je ne trouve pas d’autre dépôt, ni bug tracker…
Le projet me semble moribond. En tous cas comparé à Filezilla : https://svn.filezilla-project.org/filezilla/
Cela dit le responsable du package en sait peut-être plus…
[^] # Re: lopin compris
Posté par Marotte ⛧ . En réponse au journal La conférence de Microservice. Évalué à 8.
C’est quand le barman te sert une pression avec la moitié du verre remplie de mousse : c’est un mi-Krö service
(Unité mobile champêtre de mi-Krö service, crédit photo : Roger Tautoze ©)
[^] # Re: lopin compris
Posté par Marotte ⛧ . En réponse au journal La conférence de Microservice. Évalué à 4.
Une faute par phrase ! :)
# gFTP
Posté par Marotte ⛧ . En réponse au message gftp et la taille des fichiers. Évalué à 2.
https://www.gftp.org/
Si c’est un bug il y a peu de chance qu’il soit corrigé un jour.
Je serais toi j’arrêterais de l’utiliser.
[^] # Re: Bad idea
Posté par Marotte ⛧ . En réponse au message SSD dans un serveur ?. Évalué à 5.
Avoir des IO qui poutrent ça ne sert pas qu’au démarrage…
Je sais pas en USB-3 mais en USB-2 on perd tout l’intérêt de la mémoire flash… vu le débit du bus USB-2…
[^] # Re: strictement équivalent
Posté par Marotte ⛧ . En réponse au message Git. Évalué à 3.
Merci.
Effectivement, je découvre que git ne se préoccupe absolument pas des autorisations (ce qui est normal car ce n’est pas son boulot…). Si j’ai bien compris, pour les gérer les droits sans utiliser une surcouche comme gitolite on a deux possibilités :
ça ne permet pas de gérer les autorisations par branche mais ça permet déjà de les gérer par dépôt.
Quitte à me pencher sur les surcouches à git je lorgne du côté de gitlab qui semble offrir de nombreuses fonctionnalités, permet-il de gérer finement les autorisations ?
[^] # Re: awk avec précautions
Posté par Marotte ⛧ . En réponse au message [boulot] script pour récupérer des données. Évalué à 2.
Tu aurais dû apt-cache cherché ;) (j’ai cherché xls2csv)
[^] # Re: ISO Hybride ?
Posté par Marotte ⛧ . En réponse au message tester une clé USB bootable sans rebooter. Évalué à 2.
Tu as bien fait ta clé avec :
dd if=tonfichier.iso of=/dev/sdc?Sinon… une option de KVM pour désactiver le boot PXE (même si je vois pas bien l’intérêt…) ?
Il y a un menu de boot quand la VM démarre (F12)…
# ISO Hybride ?
Posté par Marotte ⛧ . En réponse au message tester une clé USB bootable sans rebooter. Évalué à 2.
S’il ne s’agit pas d’une image ISO dite « hybride » elle ne démarrera qu’à partir d’un lecteur optique, donc
kvm -cdrom /dev/sdcdevrait le faire. Par contre si c’est le cas, elle ne démarrera pas non plus si tu essayes de booter directement ta machine physique avec…Mais je peux me tromper…