Expliquer simplement le célèbre paradoxe de l’euro qui disparaît, une énigme mathématique qui semble faire “disparaître” 1 €
La situation de départ :
Trois amis arrivent à l’hôtel et réservent une chambre affichée à 30 €. Ils paient donc chacun 10 €, soit 30 € au total.
Les trois amis montent ensuite dans leur chambre.
La correction du prix et l’intervention du groom :
L’hôtelier réalise qu’il a fait une erreur : la chambre ne coûte pas 30 €, mais 25 €. Il décide donc de corriger le prix et de restituer 5 € aux clients.
Il confie la somme de 5 € au groom et lui demande de la rendre aux trois amis.
Mais le groom se trouve face à un problème : comment partager 5 € entre 3 personnes ? Impossible de faire une répartition équitable.
Le groom choisit donc une solution simple :
il rend 1 € à chaque ami (soit 3 € au total),
et garde 2 € pour lui, discrètement (son pourboire).
Le raisonnement paradoxal :
À ce stade, on peut constater plusieurs faits :
Chaque ami a payé initialement 10 €.
Le groom leur rend 1 €, donc chacun a réellement payé 9 €.
À trois, cela fait 3 × 9 € = 27 €.
Le groom a gardé 2 €.
Et c’est ici que l’illusion apparaît :
27 + 2 = 29 €, alors que les amis avaient payé 30 € au départ. Où est passé l’euro manquant ?
Ce raisonnement semble logique… mais il est faux.
Où est l’erreur dans le calcul ?
L’erreur provient du fait qu’on additionne des montants qui ne représentent pas la même chose.
Les 27 € représentent déjà :
25 € pour la chambre,
2 € pour le groom.
Les 2 € du groom ne doivent pas être ajoutés aux 27 €, car ils sont déjà inclus dans ces 27 € !
La vraie relation correcte est :
25 € → prix réel de la chambre
3 € → rendus aux amis
2 € → gardés par le groom
Soit : 25 + 3 + 2 = 30 € Donc aucun euro n’a disparu.
Autre façon de le formuler : Les amis ont payé 27 € au total, qui se décomposent en : 25 € pour l’hôtel + 2 € pour le groom Les comptes sont exacts.
Conclusion :
Le paradoxe de l’euro qui disparaît n’est pas un vrai paradoxe, mais une illusion fondée sur un raisonnement volontairement trompeur. En mélangeant des montants qui ne représentent pas les mêmes choses, on crée l’impression qu’un euro manque.
En réalité, les 30 € sont parfaitement distribués : 25 € pour l’hôtel, 3 € rendus, 2 € gardés. L’histoire montre l’importance d’analyser correctement ce que représentent les chiffres avant de les additionner ou de les comparer.
BUT : Lancer une Machine Virtuelle sous VirtualBox en ligne de commande en tache de fond
Parfois nous avons besoin de lancer une machine virtuelle sans passer par l’interface graphique et surtout sans afficher l’écran de la machine virtuelle. Par exemple vous avez créé un serveur virtuel sous VirtualBox et vous n’avez pas besoin de voir son écran puisque vous y accédez via ssh. Un autre exemple est l’utilisation d’une machinedont le bureau est accessible via un logiciel de prise de contrôle à distance (RDP, vnc, TeamViewer, mesh Central, etc).
La première chose à faire c’est de connaitre le nom de la machine virtuelle à lancer. Le plus simple est de regarder son nom dans l’interface de VirtualBox
Nous avons ici un serveur virtuel que nous avons appelé ‘ovh’ Pour lancer ce serveur tapons dans un terminal ‘vboxmanage startvm NomDeLaMachineVirtuelle –type headless’ ATTENTION : dans le cas où vous voulez afficher l’écran de la machine virtuelle ne pas mettre l’option ‘–type headless’
Copy
# ici la machine virtuelle se nomme 'ovh'vboxmanage startvm ovh --type headless
vboxmanage startvm ovh --type headless
Waiting for VM "ovh" to power on...
VM "ovh" has been successfully started.
Testons la connexion avec le serveur ici l’adresse du serveur est ‘ovh.local’ ou 192.168.0.100 car nous l’avons définie par avance
Copy
# ssh ovh.local# ou si l'adresse du serveur est 192.168.0.100ssh 192.168.0.100
bzg@uc:~$ ssh 192.168.0.100
bzg@192.168.0.100's password:
Welcome to Ubuntu 20.04.5 LTS (GNU/Linux 5.4.0-126-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of ven. 07 oct. 2022 14:20:21 UTC
System load: 0.86 Processes: 126
Usage of /: 42.8% of 39.07GB Users logged in: 0
Memory usage: 33% IPv4 address for enp0s3: 192.168.9.240
Swap usage: 0%
* Super-optimized for small spaces - read how we shrank the memory
footprint of MicroK8s to make it the smallest full K8s around.
https://ubuntu.com/blog/microk8s-memory-optimisation
0 updates can be applied immediately.
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
bzg@ovh:~$
BUT : Installer/Désinstaller des logiciels en mode « snap » et/ou supprimer le magasin des snaps sur Ubuntu
Les snaps sont des paquets permettant d’installer des logiciels contenant leurs propres dépendances et un environnement indépendant du reste des autres programmes.
Si cela est un gros avantage pour les utilisateurs novices, le prix a payer est un gouffre de puissance processeur et d’espace disque
Pour voir quels sont les snaps installés : snap list
Copy
bzg@uc:~$ snap list Nom Version Révision Suivi Éditeur Notes bare 1.05 latest/stable canonical✓ base core20 202203041376 latest/stable canonical✓ base gnome-3-38-20040+git.1f9014a 99 latest/stable/… canonical✓ -gtk-common-themes 0.1-59-g7bca6ae 1519 latest/stable/… canonical✓ -snap-store 3.38.0-66-gbd5b8f7 558 latest/stable/… canonical✓ -snapd 2.54.415177 latest/stable canonical✓ snapd
Pour installer un snap : sudo snap install {logiciel} exemple avec « chromium »
La suppression totale des snaps : sudo snap remove gtk-common-themes sudo snap remove snap-store Il est donc possible de désinstaller tous les snaps puis via un : sudo apt autoremove snapd on fini la désinstallation de snap et de son magasin
Pour empêcher la réinstallation de snapd il faut créer un fichier sudo nano /etc/apt/preferences.d/nosnapd contenant : Package: snapd Pin: release * Pin-Priority: -1
Et voilà un ubuntu sans snaps
En résumé : snap permet d’installer des logiciels facilement mais au prix de beaucoup de ressources, il est possible de supprimer entièrement le magasin « snap »
En 2020 les confinements firent exploser la demande en visioconférence ce qui provoqua un questionnement totalement justifié : quel outil doit on utiliser ?
Il existe beaucoup d’outils de visioconférence, des solutions hardware avec des caméras et des micros spécialisés qui s’adaptent automatiquement à l’environnement (salle de conférence, studio d’enregistrement, etc) ou des solutions purement logicielles plus adapté au télétravail ou à des communications privées familiale ou entre amis. Parmi ces logiciels de visioconférences nous trouvons des programmes gratuits, payants, propriétaires, open source, pour windows, mac, linux, chiffrés ou non, etc.
Quels sont donc les critères pour choisir le logiciel à installer sur son ordinateur, sa tablette ou son téléphone ?
Le premier critère : le choix déjà fait et donc imposé par l’administrateur de la visioconférence. En effet s’il est demandé de se connecter sur une solution, il sera impossible d’utiliser une autre solution pour rejoindre la conférence. Mais peut-être que vous utilisez déjà un outil que vous maîtrisez ou qui vous est imposé par votre entreprise, là aussi le choix est tout fait.
Vous n’avez pas encore de logiciel de visioconférence et vous devez créer la réunion, comment choisir la meilleur solution ?
Les critères à prendre en compte sont les suivants : – terminaux utilisés par les invités de la réunion : Téléphones (iPhone, Android, autre), Tablettes (iPad, Android, Windows, autres), Ordinateurs (Windows, Mac, Linux, autre), matériel de visioconférence – le niveau de sécurité et d’ingérence du logiciel – payant ou non : ici nous ne verrons que les solutions gratuites (donc pas de GoToMeeting, BlueJeans et autres solutions uniquement payantes) – nombre maximum de connections simultanée
Recalés dans ce test : Facetime : limité dans l’environnement Apple Hangouts : limité à 10 personnes Zoom : malgré beaucoup de points positifs suite à des problèmes de sécurité début 2020, perte de confiance totale dans la solution GoToMeeting, BlueJeans : uniquement en version payante
Nous retiendrons 3 solutions : – Teams : Fonctionne sur Windows, Mac, Linux (Beta à fin 2020), iPhone, Android, via le Web (Google Chrome) ou une communication téléphonique, il y a une version gratuite, et le flux est sécurisé, il faut cependant se connecter via un compte Microsoft – Skype : Fonctionne sur Windows, Mac, Linux, iPhone, Android, ou via le Web, gratuit, et le flux est sécurisé, il faut cependant se connecter via un compte Microsoft – Jitsi : Sûrement la solution la plus simple à mettre en œuvre, nous allons détailler son usage ci-après
Jitsi : Simple, gratuit, pas de compte à créer – Création d’un salon / d’une visioconférence 1) aller sur le site https://meet.jit.si 2) dans la case finissant par « Start Meeting », donner un nom de conférence
test_de_conference (mettre ici le nom de la conférence) puis appuyer sur « Start Meeting » 3) Une page apparaît avec :
Rejoindre la réunion meet.jit.si/test_de_conference (suivi d’un logo « copier »), en cliquant sur ce lien on copie le lien que l’on pourra mettre d’un un e-mail ou un SMS pour que les autres personnes puissent se connecter une case « Merci de saisir votre nom ici« , c’est ici que chacun donne son nom un bouton « Rejoindre la réunion » avec une option sur la droite pour couper son micro en arrivant dans la réunion deux icônes permettant de savoir si le micro et la caméra sont actifs ou non une fois le nom saisi dans la case « Merci de saisir votre nom ici » cliquer sur le bouton « Rejoindre la réunion » et la réunion commence 4) Vous êtes seul(e) dans la réunion s’affiche puisque vous êtes arrivé en premier en bougeant la souris un bouton « Inviter d’autres personnes » apparaît, en cliquant dessus on retrouve le lien de la conférence mais aussi un menu « Partager l’invitation à la réunion » qui permet soit de copier le lien, soit d’envoyer un e-mail, enfin un numéro de téléphone apparaît pour ce qui se connecterons uniquement par téléphone, un numéro français (+33.1.87.21.0005) est disponible en cliquant sur « Plus de numéros »
5) Utilisation de la visioconférence : en bas il y a des icônes qui apparaissent lorsqu’on bouge la souris à gauche : – un rectangle en forme de bulle de BD pour ouvrir/fermer le chat (discutions texte) – un petit écran pour partager son écran ou une fenêtre – une main pour demander la parole au milieu : un micro : pour couper / allumer le micro un combiné téléphonique rouge : pour raccrocher / sortir de la conférence une caméra : pour couper / allumer la webcam à droite : – un utilisateur avec le signe + : pour inviter d’autres participant – un bouclier : sécurité, c’est ici que l’on peut rajouter un mot de passe à la salle de réunion – trois points verticaux : menu avec diverses options
En résumé : soit on passe par le site pour créer son salon / sa conférence, puis pour envoyer les liens : https://meet.jit.si soit on crée un lien directement avec un nom de conférence puis on l’envoi par messagerie aux participants : https://meet.jit.si/nom_de_la_conference
BUT : Savoir si un paquet (un logiciel) est installé ou non
Il existe plusieurs méthode pour savoir si un paquet est installé, en passant bien sûr par l’interface graphique « Logiciel Ubuntu », mais parfois il est utile dans un code de vérifier si un paquet est déjà installé. Afin d’évité de perdre du temps et utilisant « apt install » pour un logiciel déjà installé. Si le paquet est déjà installé, apt install vous l’indiquera sinon il l’installera ou le mettra à jour si nécessaire.
voici donc deux méthodes simples pour savoir si un paquet/logiciel est installé ou non :
En utilisant dpkg, avec l’option l (list) : dpkg -l {package}
Nous voyons que « Thunderbird » est installé mais pas « vlc »
En résumé : les commandes « apt-cache policy {package} | grep Installé » ou « dpkg -l {package} » permettent de savoir si un logiciel est installé sans passer par l’interface graphique
bzg@uc:~$ mkdir cdlive bzg@uc:~$ cd cdlive bzg@uc:~/cdlive$ mkdir iso squashfs
Copie du CD ou de l’ISO du CD dans le répertoire « iso » :
Dans le cas où le CD est monté automatiquement
Copy
bzg@uc:~/cdlive$ sudo cp -va /media/bzg/Ubuntu\ 20.04.4\ LTS\ amd64/. iso
Il faut remplacer « bzg » par votre nom d’utilisateur et « Ubuntu\ 20.04.4\ LTS\ amd64 » par le nom du CD qui apparaît au montage du CD Attention à ne pas oublier les « \ » devant les espaces
Dans le cas où c’est l’image « iso » qui est utilisée il faut monter l’image avant la copie puis la démonter
Copy
bzg@uc:~/cdlive$ sudo mount -o loop /home/bzg/Téléchargements/Ubuntu\ 20.04.4\ LTS\ amd64.iso /mntbzg@uc:~/cdlive$ sudo cp -av /mnt/. iso bzg@uc:~/cdlive$ sudo umount /mnt
Montage et copie du « squafs » dans le répertoire squahfs puis démontage C’est le contenu système du CD
bzg@uc:~/cdlive$ sudo mount --bind /proc squashfs/proc bzg@uc:~/cdlive$ sudo mount --bind /sys squashfs/sys bzg@uc:~/cdlive$ sudo mount -t devpts none squashfs/dev/pts bzg@uc:~/cdlive$ sudo mount --bind /dev squashfs/dev bzg@uc:~/cdlive$ sudo mount --bind /dev/pts squashfs/dev/pts bzg@uc:~/cdlive$ sudo cp /etc/resolv.conf squashfs/etc/resolv.conf bzg@uc:~/cdlive$ sudo chroot squashfs root@uc:/#
Vous remarquerez que nous sommes en mode « root », mais dans un environnement cloisonné à cdlive/squashfs Pour notre exemple nous aurons besoin d’installer des programmes qui sont dans « universe » Installons le dépôt « universe » puis faisons une mise à jour du système qui se trouve dans le chroot
Vous pouvez faire les mise à jour, mais je ne vais pas le faire afin de garder le même niveau que la version d’origine (avec : apt dist-upgrade) Sélectionnons le clavier français (azerty / french)
root@uc:/# apt install console-data
S’il y a des erreurs au sujet de ‘zsys’ c’est normal et nous allons le corriger en supprimant les programmes inutiles
Enfin installons quelques programmes utiles (utilisez atp instal ) ssh : pour activer la connection en ssh chntpw : pour supprimer les mots de passe Windows grub-customizer : pour gérer les boots EFI
Nous pouvons copier des fichiers qui apparaîtrons dans le ‘home’ de l’utilisateur dans l’arborescence ‘squashfs/etc/skel’ Pour copier un fichier tuto pour la configuration du wifi, téléchargeons une page web que nous mettrons dans ~Téléchargement et que nous appellerons ‘wifi.html’, puis lançons sa copie par
GNU nano 4.8 squashfs/etc/skel/.profile Modifié # Mettre à la fin du fichier .profile # test si connexion internet sinon ffichage d'un fichier html test="$(ping -c 2google.com| grep '2 re')"if[!"$test"]then # Pas de connection internet affichage d'un tuto sur le wifi firefox ~/wifi.html fi ^G Aide ^O Écrire ^W Chercher ^K Couper ^J Justifier ^C Pos. cur. M-U Annuler M-A Marquer ^X Quitter ^R Lire fich. ^\ Remplacer ^U Coller ^T Orthograp. ^_ Aller ligne M-E Refaire M-6 Copier
Puis sortir par ctrl-X
Pour utiliser le Français par défaut
Copy
bzg@uc:~/cdlive$ echo "fr"| sudo tee iso/isolinux/lang
BUT : retrouver rapidement les différences existantes entre deux répertoires sous Ubuntu en ligne de commande
S’il est facile en mode graphique de comparer deux répertoires contenant peu de fichiers, cela devient vite compliqué lorsque que nous devons comparer plusieurs dizaines de fichiers
En ligne de commande il suffit d’utiliser la commande « diff » ainsi : diff -rq repertoire1 repertoire2
Copy
bzg@uc:~$ diff -rq Images/src Images/dstSeulement dans Images/dst: 10403.jpgSeulement dans Images/dst: 11687.jpg
Dans ce premier exemple nous constatons que deux fichiers ne se trouvent que dans le répertoire « Images/dst »
Prenons un deuxième exemple avec des différences plus importantes
Copy
bzg@uc:~$ cd Imagesbzg@uc:~/Images$ diff -rq src dstLes fichiers src/10403.jpg et dst/10403.jpg sont différentsSeulement dans dst: 10927.jpgSeulement dans dst: 11687.jpgSeulement dans src: 12231.jpg
Nous sommes rentré dans le répertoires « Images » afin de simplifier le chemin des répertoires à comparer Cette fois ci, nous constatons qu’un fichier existe dans les deux répertoires mais n’a pas le même contenu (fichiers différents) Deux fichiers n’existent que dans le répertoire « dst » alors qu’un fichier n’existe que dans le répertoire « src »
Les options -r et -q correspondent à : -r : recursif, explore tous les répertoires et sous répertoires -q : quick, indique seulement les fichiers différents (sans afficher le contenu des différences)
En résumé : La commande « diff » qui permet d’afficher les différences entre deux fichiers peut être utilisée pour trouver les différences de contenu de deux répertoires
La chaîne ‘Salist’ étant simple et sans caractère système, nous pouvons écrire cette chaîne sans délimiteur ou avec les apostrophes simples ou doubles, il n’y aura aucune différence
Nous constatons que les fichiers 2020 et 2021 sont retournées, en effet la recherche sur « 20 » renvoi aussi le fichier contenant ’20/02/21′ puis 20 s’y trouve Nous devons donc faire une recherche sur ‘/20’
Recherchons les fichiers contenants des clients donc avec la chaîne ‘\ Client’, il faut impérativement délimiter la chaîne à cause de l’espace et échapper le caractère système ‘\’ en le faisant précéder d’un autre caractère ‘\’ soit la chaîne ‘\ Client’
Nous pouvons voir l’arborescence complète à partir du répertoire ‘home’ de l’utilisateur, les […] servent à raccourcir le listing pour éviter de se dérouler sur 10 pages
Méthode classe avec un petit script Créer le script suivant via ‘nano arbo’