illustrations: mise à jour

master
Raito Bezarius 4 years ago
parent 7cbe49d362
commit d9f313da55

@ -8,7 +8,7 @@ class UnixFS:
# Sans intégration
def test_monkeypatche(mocker):
mocker.patch('os.remove')
mocker.patch('os.remove') # Se renseigner sur les mocks dans les tests
UnixFS.rm('contrôle complet')
os.remove.assert_called_once_with('contrôle complet')
@ -22,4 +22,5 @@ def test_db_with_db():
UnixFS.rm(fp.name)
# Exercice: assert que le fichier a été supprimé.
# assert not os.access(fp.name)?
# Regarder os.path aussi.
# https://docs.python.org/fr/3/library/os.html

@ -8,6 +8,7 @@ def encode(input_string):
count = 1
prev = ''
lst = []
if not input_string:
return ([], 0)

@ -2,6 +2,7 @@ from hypothesis import given, assume
from hypothesis.strategies import lists, permutations
from collections import Counter, defaultdict
# Wikipedia: Paradoxe de Condorcet / Scrutin de Condorcet.
# Ici, on va observer un paradoxe classique en théorie des votes juste en utilisant Hypothesis.
# Imaginez, ici que vous fabriquez un algorithme de couplage, type APB/Admissions Parallèles/Parcoursup.

@ -5,7 +5,38 @@ utilisateur = "raito" # À remplacer avec root ou votre nom d'utilisateur.
c = Connection(nom_hote, user=utilisateur)
def generer_nix():
squelette = """
# This file is managed by Fabric, do not edit.
{ pkgs, ... }:
{
%s
}
"""
nix_conf = """
# On se lance un petit service de courses à la maison.
services.grocy = {
enable = true;
hostName = "votre.tld"; # Vous pouvez utiliser un DynDNS ! e.g. https://dns.he.net/
};
security.acme.acceptTerms = true; # On accepte les termes du contrat de Let's Encrypt.
security.acme.email = "vous@mail.tld"; # Email pour les alertes de Let's Encrypt.
networking.firewall.allowedTCPPorts = [ 80 443 ]; # Ports à ouvrir!
"""
return squelette % nix_conf
print('[+] Regardons le nom d\'hôte')
c.run('hostname')
print('[+] Regardons les informations du noyau et de la machine')
c.run('uname -a')
fabric_managed_contents = generer_nix()
with open("/tmp/fabric.nix", "w") as f:
f.write(fabric_managed_contents)
c.put('/tmp/fabric.nix', '/tmp/fabric.nix')
c.run('sudo mv /tmp/fabric.nix /etc/nixos/fabric-managed.nix', pty=True)
c.run('sudo nixos-rebuild switch', pty=True)

Loading…
Cancel
Save