From a9fd5b4eb34a2234e3097eaf5734929529a723c2 Mon Sep 17 00:00:00 2001 From: tenzi Date: Tue, 10 Mar 2026 13:12:36 +0100 Subject: [PATCH] organzation --- gbapp/Dockerfile | 21 ++++++++ gbapp/__pycache__/app.cpython-313.pyc | Bin 0 -> 8213 bytes gbapp/__pycache__/forms.cpython-313.pyc | Bin 0 -> 559 bytes gbapp/__pycache__/models.cpython-313.pyc | Bin 0 -> 3388 bytes gbapp/__pycache__/ordinateur.cpython-313.pyc | Bin 0 -> 2428 bytes app.py => gbapp/app.py | 13 +++-- gbapp/gbcompose.yml | 20 ++++++++ models.py => gbapp/models.py | 5 +- requirements.txt => gbapp/requirements.txt | 2 + .../templates}/employee_form.html | 0 {templates => gbapp/templates}/employees.html | 0 {templates => gbapp/templates}/item.html | 23 ++------- grabber.sh | 47 +++++++----------- mydb.db | Bin 135168 -> 135168 bytes wp/Dockerfile | 2 + wp/compose.yml | 29 +++++++++++ 16 files changed, 106 insertions(+), 56 deletions(-) create mode 100644 gbapp/Dockerfile create mode 100644 gbapp/__pycache__/app.cpython-313.pyc create mode 100644 gbapp/__pycache__/forms.cpython-313.pyc create mode 100644 gbapp/__pycache__/models.cpython-313.pyc create mode 100644 gbapp/__pycache__/ordinateur.cpython-313.pyc rename app.py => gbapp/app.py (95%) create mode 100644 gbapp/gbcompose.yml rename models.py => gbapp/models.py (93%) rename requirements.txt => gbapp/requirements.txt (93%) rename {templates => gbapp/templates}/employee_form.html (100%) rename {templates => gbapp/templates}/employees.html (100%) rename {templates => gbapp/templates}/item.html (84%) create mode 100644 wp/Dockerfile create mode 100644 wp/compose.yml diff --git a/gbapp/Dockerfile b/gbapp/Dockerfile new file mode 100644 index 0000000..cf5f0e8 --- /dev/null +++ b/gbapp/Dockerfile @@ -0,0 +1,21 @@ +FROM python:3.13 +WORKDIR /opt + +COPY requirements.txt ./ +COPY app.py ./ +COPY models.py ./ +COPY templates ./templates +COPY static ./static + +RUN apt-get update && apt-get -y install sqlite3 + +RUN pip install --no-cache-dir -r requirements.txt + +RUN useradd app +RUN chown -R app:app . + +EXPOSE 8000 + +USER app + +CMD ["sh", "-c", "sleep 10 && uvicorn app:app --host 0.0.0.0 --port 8000"] diff --git a/gbapp/__pycache__/app.cpython-313.pyc b/gbapp/__pycache__/app.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..77dea11d9fcde69564238403ef1af3c89569c4a5 GIT binary patch literal 8213 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 literal 0 HcmV?d00001 diff --git a/gbapp/__pycache__/forms.cpython-313.pyc b/gbapp/__pycache__/forms.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1b0569566179fbaab5ad3017f29f98676df9e3da GIT binary patch literal 559 zcmX|7!Ac`R5Uo!4M2(SElc?-r5kZz*91!;)hzDUkBF7PqQ`&mat1}J zXp>NZry1I+GA7AX7A7X8YD>!0vNNf&48#5?(^SSqvNWR&`IdX0#M;fY`5l_T_4TD2 zpz4zscR=RTo#7a(BrJk`N!p-r1(W5*pI?)e=7VTXR$Ko>3vInnowl8PZlLJiVTkrS y^ZDV}SB6}m_z)Eq%9&;%IVc}`i0ecd?bL!7&KP@!jYs(QDmYua*?$8{#o&KJRgMk- literal 0 HcmV?d00001 diff --git a/gbapp/__pycache__/models.cpython-313.pyc b/gbapp/__pycache__/models.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..49b1ca472521d78d28d78be7228b306a279ea6f6 GIT binary patch literal 3388 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 BN+kdQ literal 0 HcmV?d00001 diff --git a/app.py b/gbapp/app.py similarity index 95% rename from app.py rename to gbapp/app.py index 1c6ac66..dfff502 100644 --- a/app.py +++ b/gbapp/app.py @@ -19,9 +19,16 @@ templates = Jinja2Templates(directory="templates") #sqlitemodel sqlite_file_name = "mydb.db" -sqlite_url = f"sqlite:///mydb.db" - -engine = create_engine(sqlite_url) +import os +pg_url = ( + f"postgresql+psycopg://" + f"{os.getenv('POSTGRES_USER')}:" + f"{os.getenv('POSTGRES_PASSWORD')}" + f"@db:5432/" + f"{os.getenv('POSTGRES_DB')}" +) +print(f"URL PGDB: {pg_url}") +engine = create_engine(pg_url) def create_db_and_tables(): SQLModel.metadata.create_all(engine) diff --git a/gbapp/gbcompose.yml b/gbapp/gbcompose.yml new file mode 100644 index 0000000..be1bb34 --- /dev/null +++ b/gbapp/gbcompose.yml @@ -0,0 +1,20 @@ +services: + grabber: + build: . + depends_on: + db: + condition: service_started + ports: + - "8080:80" + environment: + POSTGRES_USER: gb + POSTGRES_PASSWORD: gbpwd + POSTGRES_DB: gbdb + db: + image: postgres:18 + environment: + POSTGRES_USER: gb + POSTGRES_PASSWORD: gbpwd + POSTGRES_DB: gbdb + + diff --git a/models.py b/gbapp/models.py similarity index 93% rename from models.py rename to gbapp/models.py index 36540ed..fccf38a 100644 --- a/models.py +++ b/gbapp/models.py @@ -33,10 +33,7 @@ class ordinateur(SQLModel, table=True): cpu_freq_max: str = Field(index=True) cpu_id: str = Field(index=True) mb_serial: str = Field(index=True) - ram_size: str = Field(index=True) - ram_gen: str = Field(index=True) - sizes: str = Field(index=True) - memory_mb: str = Field(index=True) + ram: str = Field(index=True) gpu_model: str = Field(index=True) chassis_serial: str = Field(index=True) cpu_cores_nb: str = Field(index=True) diff --git a/requirements.txt b/gbapp/requirements.txt similarity index 93% rename from requirements.txt rename to gbapp/requirements.txt index 101e659..fd6055e 100644 --- a/requirements.txt +++ b/gbapp/requirements.txt @@ -9,7 +9,9 @@ greenlet==3.3.1 h11==0.16.0 idna==3.11 Jinja2==3.1.6 +lastapi==0.2 MarkupSafe==3.0.3 +psycopg[binary] pydantic==2.12.5 pydantic_core==2.41.5 python-multipart==0.0.22 diff --git a/templates/employee_form.html b/gbapp/templates/employee_form.html similarity index 100% rename from templates/employee_form.html rename to gbapp/templates/employee_form.html diff --git a/templates/employees.html b/gbapp/templates/employees.html similarity index 100% rename from templates/employees.html rename to gbapp/templates/employees.html diff --git a/templates/item.html b/gbapp/templates/item.html similarity index 84% rename from templates/item.html rename to gbapp/templates/item.html index 1990bd7..7717e05 100644 --- a/templates/item.html +++ b/gbapp/templates/item.html @@ -36,20 +36,8 @@ {{ordi.cpu_id}} - Memory mb - {{ordi.memory_mb}} - - - Ram size - {{ordi.ram_size}} - - - Ram gen - {{ordi.ram_gen}} - - - Sizes - {{ordi.sizes}} + Ram + {{ordi.ram}} Mb serial @@ -83,11 +71,6 @@ CPU threads number {{ordi.cpu_threads_nb}} - - Ram number - {{ordi.ram_number}} - - Ram slots number {{ordi.ram_slots_nb}} @@ -127,4 +110,4 @@ - \ No newline at end of file + diff --git a/grabber.sh b/grabber.sh index 56151a8..27e7d1f 100755 --- a/grabber.sh +++ b/grabber.sh @@ -11,7 +11,7 @@ OS=$(lsb_release -a |grep Description |cut -f2) CPU_ID=$(sudo dmidecode -t processor |grep ID |cut -d: -f2) RAM_SIZE=$(lsmem |grep "Mémoire partagée" |cut -d: -f2 |sed 's/\ //g') RAM_GEN=$(sudo dmidecode -t memory |grep Type: |grep -v Unknown |tail -n1 |cut -d: -f2 |sed 's/\ //') -SIZES=$(lsblk -dnb | grep -v loop | grep -v boot | tr -s " " | cut -d' ' -f4) +RAM="$RAM_SIZE $RAM_GEN" MB_SERIAL=$(sudo dmidecode | grep -A 4 "Base Board" | tail -n1 | cut -d: -f2 | sed 's/\ //') CPU_FREQUENCY_MIN=$(lscpu | grep MHz | cut -d: -f2 | sed -n '3p' | tr -s " " | sed 's/\ //' | cut -d, -f1) CPU_FREQUENCY_CUR=$(sudo dmidecode | grep "MHz" | cut -d: -f2 | sed -n '3p' | sed 's/\ //') @@ -41,9 +41,9 @@ MAC_ADDRESS=$(cat /sys/class/net/$(ls /sys/class/net | grep -vE '^(lo|docker|vet USED_SPACE=$(lsblk -nr -o FSUSED| sed -n 2p) #LISTE D'INFO PAR DISK -DISK_NAMES=$(lsblk -nr -o PKNAME,PATH $disk_path |grep -vE "^ " |cut -d \ -f3) +DISK_NAMES=$(lsblk -nr -o NAME) FSTYPES=$(lsblk -nr -o FSTYPE) -ALL_SIZES=$(lsblk -nr -o size) +ALL_SIZES=$(lsblk -nr -o SIZE) ALL_USED=$(lsblk -nr -o FSUSED) ###################################################### @@ -53,10 +53,7 @@ json_data=$(jq -n \ --arg host "$HOSTNAME" \ --arg cpu "$CPU" \ --arg cpu_id "$CPU_ID" \ - --arg mem "$MEM" \ - --arg ram_size "$RAM_SIZE" \ - --arg ram_gen "$RAM_GEN" \ - --arg sizes "$SIZES" \ + --arg ram "$RAM" \ --arg mb_serial "$MB_SERIAL" \ --arg cpu_freq_min "$CPU_FREQUENCY_MIN" \ --arg cpu_freq_cur "$CPU_FREQUENCY_CUR" \ @@ -81,23 +78,26 @@ json_data=$(jq -n \ '{ HARDWARE: { hostname:$host, + ipv4:$ipv4, + mac:$mac_address, + partitions: { + nom:$nom_disk, + fstype:$fstype, + total_size:$total_size, + used_space:$used_space + }, cpu:$cpu, cpu_id:$cpu_id, - memory_mb:$mem, - ram_size:$ram_size, - ram_gen: $ram_gen, - sizes:$sizes, + ram:$ram, mb_serial:$mb_serial, cpu_freq_min:$cpu_freq_min, cpu_freq_cur:$cpu_freq_cur, cpu_freq_max:$cpu_freq_max, - gpu_model:$gpu_model, - chassis_serial:$chassis_serial, cpu_cores_nb:$cpu_cores_nb, cpu_threads_nb:$cpu_threads_nb, - ram_number:$ram_number, - ram_slots_nb:$ram_slots_nb, - mac_address:$mac_address, + gpu_model:$gpu_model, + chassis_serial:$chassis_serial, + ram_slots_nb:$ram_slots_nb, }, SOFTWARE: { @@ -107,23 +107,12 @@ json_data=$(jq -n \ wm:$wm, kernel:$kernel, }, - - EVALUATION: { - hostname:$host, - ipv4:$ipv4, - mac:$mac_address, - partitions: { - nom:$nom_disk, - fstype:$fstype, - total_size:$total_size, - used_space:$used_space - } - } + }') echo "arg1=$1" -curl -X POST http://$1:8000/endpoint \ +curl -X POST -k http://$1:8000/endpoint \ -H "Content-Type: application/json" \ -d "$json_data" diff --git a/mydb.db b/mydb.db index 91ac563a662053dc16c956a8865cb209a55a55ea..8645a708aa41701e650da67a2803a3d51f82fe1d 100644 GIT binary patch delta 616 zcmZWmJxc>Y6x_|-<~|C?c!m_QxH?^O`2!c*1cX##6N`WW(^+Vh1Z)Js_zR3h(ijLD zM9@MIf`x^RpcY~wXrpMSrEfQP$3gZLZ*KP9&dhGRXSRE0H_LN}OUpdhsh!vO@j(_1 zW}?FIgbB`YgnjH_6%|>hojh8$Eg0bVrF_AkvjlS-r@G!O*X#6+Pd3kDD`g0l&N%*N zeY@IhY;DjlspKprW+{D^(iF84JIq^1NG|P{qw~EY$uGt%C}`u7LJb*)_{KY4@PIqq zP&}$}%I%^hG;rTGG>20d3xCX%gQk||QqKrMG6W(7dI&TH$VoyD%4r+dq&i~wAk|kq z;vToSz(|(dkFBxm?xHE>>57yM>XD6rH-erFx(K>H?VfUwFL=e6gE2YiGxTwSFTCNI yJWOyUi*oN_P3A5sL3%+8zf?*0S)#C$mb delta 43 zcmV+`0M!40pa_7V2#^~A9+4bF0Um*1wO|3EkGBEP0skMS-~kY}-~j{>w*=4u{69~4 B5CH%H diff --git a/wp/Dockerfile b/wp/Dockerfile new file mode 100644 index 0000000..0553237 --- /dev/null +++ b/wp/Dockerfile @@ -0,0 +1,2 @@ +FROM php +RUN wget wp.zip diff --git a/wp/compose.yml b/wp/compose.yml new file mode 100644 index 0000000..e4dfc53 --- /dev/null +++ b/wp/compose.yml @@ -0,0 +1,29 @@ +services: + + wordpress: + image: wordpress:latest + restart: always + ports: + - 80:80 + environment: + WORDPRESS_DB_HOST: db + WORDPRESS_DB_USER: exampleuser + WORDPRESS_DB_PASSWORD: examplepass + WORDPRESS_DB_NAME: exampledb + volumes: + - wordpress:/var/www/html + + db: + image: mysql:8.0 + restart: always + environment: + MYSQL_DATABASE: exampledb + MYSQL_USER: exampleuser + MYSQL_PASSWORD: examplepass + MYSQL_RANDOM_ROOT_PASSWORD: '1' + volumes: + - db:/var/lib/mysql + +volumes: + wordpress: + db: