update website

This commit is contained in:
ramzouillee 2026-02-13 09:18:37 +01:00
parent 58ef7b5c4a
commit 65bd315402
15 changed files with 6488 additions and 0 deletions

View File

@ -0,0 +1,38 @@
---
tags:
- Linux
- UNIX
- Distributions
---
<img src="https://media1.tenor.com/m/-P-WHkN0ZZUAAAAd/asda.gif" alt="drake (moi) t'aidant avec mes notes remplies de bonne volontés" width="300" height="200">
# C'est quoi linux ? (30/10/25)
!!! warning
Page en travaux, doit être finie avec toutes les informations que j'ai sur Linux en général
## Arborescence type sur UNIX
Unix a généralement cette arborescence que ce soit sur n'importe quelle distro Linux également Android pour les téléphones et même quelques similitudes sur macOS.
```
/ # Racine du disque
├── /bin/ # Contient les commandes de base
├── /boot/ # Fichiers de demarrage
├── /dev/ # Tout ce qui est lié aux périphériques
├── /etc/ # Fichiers de configuration
├── /home/ # Répertoires utilisateurs
├── /lib/ # Bibliothèques logicielles
├── /mnt/ # Point de montage pour les systèmes de fichier temporaires
├── /media/ # Point de montage pour les disques temporaires
├── /opt/ # Logiciels optionnels, la ou on installera des programmes maison
├── /root/ # Répertoire du user root
├── /var/ # Variable, contient des logs, ect...
├── /usr/ # Contient sensiblement la même chose que la racine mais sans être utile au fonctionnement du système
├── /srv/ # Services hébergés sur le systèmes (FTP, HTTP, ect...)
├── /run/ # Emplacement mémoire des programmes
└── /tmp/ # Temporaire
```
[source de l'arbo.](https://fr.wikipedia.org/wiki/Filesystem_Hierarchy_Standard#Arborescence_des_r%C3%A9pertoires)

View File

@ -0,0 +1,113 @@
---
tags:
- Bash
- UNIX
---
<img src="https://media1.tenor.com/m/Aus6dg9v1FMAAAAC/bassem-regard.gif" alt="bassem sous degradé gros crane perdu">
*mon big ass qui fait sudo rm -rf / sans réfléchir*
# Commandes *sh pour les idiots (28/11/25)
## Cheatsheet de plein de commandes
> Depuis le début, beaucoup de commandes on été utilisées, du coup je note ici les commandes utilisées depuis le début et a quoi elles servent en gros
### Commandes de base
1. **sudo** : lance une commande avec les superdroits, peut manipuler tout le pc avec en gros
```bash
sudo [commande]
```
2. **ls** : liste les fichiers d'un dossier
```bash
# -a pour afficher les fichiers cachés / -l pour afficher en liste avec plus d'infos
ls [options] [fichier|dir]
```
3. **cd** : changer de dossier
```bash
# ~ pour aller au répertoire home / .. pour revenir en arriere
cd [dir]
```
4. **pwd** : affiche le répertoire actuel
```bash
pwd
```
5. **touch** : affiche le contenu d'un fichier
```bash
touch [fichier]
```
6. **nano** : éditeur de texte
```bash
nano [fichier]
```
7. **mkdir** : supprime ce qu'on lui donne
```bash
mkdir [options] [fichier|dir]
```
8. **rm** : supprime ce qu'on lui donne
```bash
# -r pour supprimer un dossier et son contenu (recursive) (`rmdir` le fait aussi)
# -f force la commande
rm [options] [fichier|dir]
```
9. **cp** : copie...
```bash
cp [options] [source] [destination]
```
10. **mv** : ...et déplace
```bash
mv [options] [source] [destination]
```
### Les caractères d'associations
`|` (le pipe) -> prend le résultat de la commande de gauche et le donne à celle de droite
*exemple : liste tout un répertoire, mais n'affiche que les résultats qui sont "feur"*
```bash
ls -la | grep "feur"
```
`>` et `>>`
- envoie le résultat d'une commande dans un fichier texte
- `>` écrase le fichier / `>>` ajoute à la fin sans effacer
- ex: `echo "coucou" > fichier.txt`
### Permissions et Utilisateurs
`chmod [droits] [fichier]`
- change les permissions d'un fichier (qui peut lire/écrire/exécuter)
- `chmod +x [fichier]` rend un script exécutable (très important)
- `chmod 777 [fichier]` donne tous les droits à tout le monde (dangereux mais ça dépanne)
`chown [user]:[groupe] [fichier]`
- change le propriétaire du fichier (si t'as copié un truc en sudo et que tu peux plus le toucher)
### Lecture et recherche dans les fichiers
`cat [fichier]`
- affiche tout le contenu d'un fichier d'un coup dans le terminal
- utile pour les petits fichiers, sinon ça inonde l'écran
`less [fichier]`
- affiche le contenu page par page (on peut scroller)
- appuyer sur `q` pour quitter
`head [fichier]` / `tail [fichier]`
- affiche juste le début (`head`) ou la fin (`tail`) d'un fichier
- `tail -f [fichier]` hyper utile pour voir les logs en direct (ça attend les nouvelles lignes)
`grep [mot] [fichier]`
- cherche un mot ou une phrase spécifique dans un fichier (le ctrl+f du terminal)
- -r pour chercher dans tous les dossiers (recursive) / -i pour ignorer les majuscules

View File

@ -0,0 +1,75 @@
---
tags:
- Git
- Bash
---
<img src="https://media1.tenor.com/m/Ra7ao_kzzHAAAAAC/stop-stop-it.gif" alt="kirk zehef pcq t'as pas commit">
*completement zehef pcq t'as pas git push*
# Git pour les neuilles (12/12/25)
## Créer un git
### -> Si le projet existe deja
- On clone le projet au sein d'un dossier, celui-ci sera dans son dossier de travail. ->
`git clone (url du projet git)`
### -> Sinon créer le projet
- Crée le projet git à partir de ce dossier. ->
`git init (dossier de travail)`
## Ignorer des fichiers/dossiers
- Ajouter des interdictions dans .gitignore
`echo gbvenv/ >> .gitignore` <- on indique via un echo qui écrira dans le fichier .gitignore qu'on ne veut pas push le dossier "gbvenv" ici, un fichier on ne mettera pas le slash (logique en amont)
## Une fois que de fichiers sont dispos, empaqueter !
> Pour envoyer un projet git, c'est comme envoyer un colis à la poste, d'abord, on met nos affaires dans le colis
_Plusieures possibilités ☝_
- Ajoute TOUS les fichiers du dossier via l'option -A ou --all ->
`git add -A`
- Ajoute SEULEMENT les modifications et suppressions (donc pas de nouveaux fichiers) ->
`git add -u`
## Etiqueter le paquet
> Ensuite, on rempli l'étiquette du colis et on la colle au colis
- On écrit une note recap courte du commit sur le git ->
`git commit -m "(message du commit)"`
## Déposer le colis
> Enfin pour push, c'est a dire déposer le colis au bureau de poste pour l'envoi, on fait :
- On envoie le paquet de l'origine à la branche souhaitée dans le git ->
`git push -u origin (branche souhaitée)`
!!! info
-u veut dire [ce que dit la doc en gros](https://git-scm.com/docs/git-push/fr#git-push---set-upstream)
### -> SI ERREUR
> Dans le cas ou un fichier/dossier a été supprimé autre part avant de push nos modifs
- Merge de force les deux branches pour ne faire qu'une branche
`git config pull.rebase false`
## Utiliser deux branches différentes
> Dans le cas ou l'on veut travailler avec une seconde branche
- Pour switch de branche de travail ->
`git checkout (branche souhaitée)`
- Pour merge en ecrasant la branche souhaitée ⬇️
```bash
git merge -s ours main
git checkout main
git merge (branche à merge)
```

View File

@ -0,0 +1,41 @@
---
tags:
- Python
- pip
- Environnements Virtuels
---
<img src="https://media1.tenor.com/m/3cMVlmowJxIAAAAd/t-kleouf.gif" alt="tk completement sous frozen">
*7alouf ouvre grabber apres 9h brainrot tsunami*
# pip et environnements virtuels pour les caca (16/01/26)
## Python et ses environnements virtuels
- En python, on peut travailler dans des "sandboxes" ou toutes les libraires installées resteront contenues dedans
> Utile de créer donc un environnement pour chaque projet afin de en pas perturber d'autres projets avec des milliers de packages inutiles en gros
`python3 -m venv gbvenv` <- permet de créer un environnement (venv crée l'environnement "gbvenv")
`source gbvenv/bin/activate` <- lance cet environnement pour travailler dedans
- En parlant de packages, parlons de ✨pip✨
> pip est le packages manager de python, en l'appelant, on peut installer des packages comme uvicorn par exemple, utile pour grabber
`pip install --upgrade pip` <- update les packages
`python -m pip install ***` <- installe le package qu'on notera a la place des ***
`pip freeze >> requirements.txt` <- commande super utile pour partager les dependances necessaires pour faire fonctionner son projet sur un autre environnement
`deactivate` <- désactive l'environnement virtuel
## Script de roi qui automatise le process
- J'ai codé un script qui automatise ce process avec une seule commande :
`bash <(curl -fsSL https://raw.githubusercontent.com/buchtioof/venv-setup/main/venvsetup.sh)`
> Pour en apprendre plus : [le git du projet](https://github.com/buchtioof/venv-setup)

View File

@ -0,0 +1,77 @@
---
tags:
- SQL
---
<img src="https://media1.tenor.com/m/EeiKHgyVQR8AAAAC/silencio.gif" alt="tuto ytb sql">
*florian quand je lui demande de l'aide*
# SQL pour les tung tung tung sahur (22/01/26)
## Modèle MVC
> Le modèle MVC est une façon de concevoir un projet logiciel, en gros on sépare celui-ci en trois grandes parties distinctes séparant la logique de la vue et rend le travail plus facile.
<img src="https://developer.mozilla.org/en-US/docs/Glossary/MVC/model-view-controller-light-blue.png" alt="Modèle MVC par MDN" width="200px">
Modèle MVC en prenant celui de grabber par exemple :
- Model = Base De Donnée (ex: EMPLOYEES, COMPUTERS)
- View = Tableau de bord, Site
- Controller = Cerveau qui dirige les deux parties Model et View (ex: app.py)
## TUTO : COMMENT CR2ER UNE BDD SQL FACILEMENT EN 2 MINUTES (SUPER FACILE)
### Structure d'une Base De Données
*celle de grabber pour l'exemple*
```
BDD (Etape 1) - grabberman
├── TABLES (Etape 2) - COMPUTERS
│ ├── Colonne (Etape 3) - PcId, entier/clé primaire
│ │ └── Donnée (Etape 4)
│ ├── Colonne (Etape 3) - Hostname, chaîne de charactère
│ └── Colonne (Etape 3) - MacAddress, chaîne de charactère
└── TABLES (Etape 2) - EMPLOYEES
├── Colonne (Etape 3) - UserId, entier/clé primaire
├── Colonne (Etape 3) - Username, chaîne de charactère
└── Colonne (Etape 3) - PcId, clé secondaire
```
### Etape 1 : Créer une BDD
`sqlite3 grabberman.db` <- Commande qui crée une DB qu'on appellera ici "grabberman"
### Etape 2 : Créer une table
```sql
CREATE TABLE "COMPUTERS"
(
PcId INTEGER PRIMARY KEY AUTOINCREMENT,
Hostname VARCHAR(50) NOT NULL,
MacAddress VARCHAR(50)
);
```
!!! note
Ici on crée une table dans laquelle on stockera des données (des PC que l'on grab par exemple)
### Etape 3 : Ajouter des données dans une table
`INSERT into COMPUTERS (Hostname, MacAddress) VALUES ('mypc', '1B:12:F0:FL:94');`
!!! note
Pour ajouter une donnée dans une tableau, on **INSERE** dans le **TABLEAU** donné les **VALEURS** dans les **Colonnes**
### Etape 4 : Créer un autre tableau avec une clé liée (foreign key)
```sql
CREATE TABLE "EMPLOYEES"
(
UserId INTEGER PRIMARY KEY AUTOINCREMENT,
Username VARCHAR(50) NOT NULL,
FOREIGN KEY (PcId) REFERENCES COMPUTERS(PcId)
);
```
!!! note
On recommence comme à l'étape 2, en ajoutant une clé étrangère **foreign key**, qui lie une clé extérieure, **PcId** ici, dans notre second Tableau

30
oldies/2025-10-16.md Normal file
View File

@ -0,0 +1,30 @@
# Premier cours de DevOps
---
## Le Garage Numérique
Un compte **Garages** servira en gros :
- au **Git du garage** ;
- un **Discord-like : Element** ;
- le **Nextcloud du garage**.
---
## Création du compte Garage
Création du compte, le mien c'est **ramzouille**.
---
## Installation de lapplication **Element**
Installation et configuration de **Element**.
---
## Présentation des projets **Open Source**
Introduction à la philosophie **Open Source**.
---

15
oldies/2025-10-17.md Normal file
View File

@ -0,0 +1,15 @@
# Deuxieme cours de DevOps
---
## Premiere note dans le Git
- Une **note par cours** pour résumer en gros la journée, le tout en **Markdown**.
---
## Présentation a l'oral
Un oral sur le hardware réseau qui se trouve dans nos PC comme la carte WIFI, Bluetooth ou encore le port Ethernet
---

17
oldies/2025-10-23.md Normal file
View File

@ -0,0 +1,17 @@
# Troisieme cours de DevOps
---
## Debian sur le mac
- Installation de debian sur le mac, il n'y avait qu'a suivre les commandes sur ce wiki et une seule commande shell : [The Banana port of debian](https://wiki.debian.org/InstallingDebianOn/Apple/M1#The_Bananas_port)
---
## Debut de gameshell
- Jeu pour apprendre le shell
---
## Clone du git de la note sur le debian

15
oldies/2025-10-24.md Normal file
View File

@ -0,0 +1,15 @@
# Quatrième cours de DevOps
---
## Installation d'une VM
- Sur le debian, on a installé une VM d'un debian (debian-ception) via kvm
---
## Gameshell pt.2
- J'ai avancé sur gameshell et suis arrivé vers les niveaux 30
---

15
oldies/2025-10-31.md Normal file
View File

@ -0,0 +1,15 @@
# Sixième cours de DevOps
---
## Grabber pt.2
- On continue le grabber
---
## Instal. debian n.195
- J'installe debian sur un troisième mac, cette fois-ci un intel, je deviens un expert en la matière
---

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long