diff --git a/sio2/sisr/PXE/README.me b/sio2/sisr/PXE/README.me
new file mode 100644
index 0000000..a26a58e
--- /dev/null
+++ b/sio2/sisr/PXE/README.me
@@ -0,0 +1,38 @@
+# TP Déploiement PXE
+
+## Description
+Ce projet décrit comment installer et configurer un serveur PXE (Preboot Execution Environment) pour permettre le démarrage de machines via le réseau.
+
+## Prérequis
+- Un serveur avec une distribution Linux (par exemple, Ubuntu ou Debian)
+- Accès root ou sudo
+- Une connexion réseau fonctionnelle
+
+## Installation
+
+### Étape 1 : Installer les paquets nécessaires
+```
+sudo apt update
+sudo apt install -y isc-dhcp-server tftpd-hpa
+
+### Étape 2 : Modifier le fichier isc-dhcp-server
+```
+--> Voir fichier dhcpd.conf
+
+### Étape 3 : Configurer nftables
+```
+--> Voir /etc/nftables.conf
+
+### Étape 4 : Configurer TFTP
+```
+YOURMIRROR=deb.debian.org
+Utiliser le script ci-dessous afin de récupérer l'image de netboot
+DIST=bookworm
+ARCH=amd64
+wget http://"$YOURMIRROR"/debian/dists/"$DIST"/main/installer-"$ARCH"/current/images/netboot/netboot.tar.gz
+
+L'extraire dans /srv/tftp
+
+
+
+
diff --git a/sio2/sisr/PXE/dhcpd.conf b/sio2/sisr/PXE/dhcpd.conf
new file mode 100644
index 0000000..05fa16c
--- /dev/null
+++ b/sio2/sisr/PXE/dhcpd.conf
@@ -0,0 +1,15 @@
+default-lease-time 600;
+max-lease-time 7200;
+
+allow booting;
+
+# in this example, we serve DHCP requests from 192.168.0.(3 to 253)
+# and we have a router at 192.168.0.1
+subnet 192.168.1.0 netmask 255.255.255.0 {
+  range 192.168.1.3 192.168.1.253;
+  option broadcast-address 192.168.1.255;
+  option routers 192.168.1.100;             # our router
+  option domain-name-servers 10.121.38.7; # our router has DNS functionality
+  next-server 192.168.1.100;                # our Server
+  filename "pxelinux.0"; # setting a default, might be wrong for "non defaults"
+}
\ No newline at end of file
diff --git a/sio2/sisr/PXE/enp0s3 b/sio2/sisr/PXE/enp0s3
new file mode 100644
index 0000000..356191f
--- /dev/null
+++ b/sio2/sisr/PXE/enp0s3
@@ -0,0 +1,3 @@
+# generated by FAI
+auto enp0s3
+iface enp0s3 inet dhcp
\ No newline at end of file
diff --git a/sio2/sisr/PXE/enp0s8 b/sio2/sisr/PXE/enp0s8
new file mode 100644
index 0000000..fe0b574
--- /dev/null
+++ b/sio2/sisr/PXE/enp0s8
@@ -0,0 +1,4 @@
+# generated by FAI
+auto enp0s8
+iface enp0s8 inet static
+address 192.168.1.100/24
\ No newline at end of file
diff --git a/sio2/sisr/PXE/isc-dhcp-server b/sio2/sisr/PXE/isc-dhcp-server
new file mode 100644
index 0000000..92f9a5d
--- /dev/null
+++ b/sio2/sisr/PXE/isc-dhcp-server
@@ -0,0 +1,18 @@
+# Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server)
+
+# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
+DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
+#DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf
+
+# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
+DHCPDv4_PID=/var/run/dhcpd.pid
+#DHCPDv6_PID=/var/run/dhcpd6.pid
+
+# Additional options to start dhcpd with.
+#       Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
+#OPTIONS=""
+
+# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
+#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
+INTERFACESv4="enp0s8"
+#INTERFACESv6=""
\ No newline at end of file
diff --git a/sio2/sisr/PXE/nftables.conf b/sio2/sisr/PXE/nftables.conf
new file mode 100644
index 0000000..2ffb815
--- /dev/null
+++ b/sio2/sisr/PXE/nftables.conf
@@ -0,0 +1,14 @@
+#!/usr/sbin/nft -f
+
+flush ruleset
+
+table inet nat {
+        chain prerouting {
+                type nat hook prerouting priority 0;
+        }
+        chain postrouting {
+                type nat hook postrouting priority 100;
+                oifname "enp0s3" masquerade
+        }
+}
+