Premier commit, avec quelques fiches déjà mises.

This commit is contained in:
Mysaa 2021-09-21 21:31:45 +02:00
commit 93ce5bcbeb
Signed by: Mysaa
GPG Key ID: DBA23608F23F5A10
12 changed files with 460 additions and 0 deletions

5
.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
*.pdf
a.out
test.html
test.c
fichier1.txt

21
C1.md Normal file
View File

@ -0,0 +1,21 @@
C 1
=
###Exercice 1
1. Le langage C a été développé par les laboratoires Bell
2. Il a vu le jour en 1972.
3. `K&R-C` est la première version du C telle que décrite dans le livre **The C Programming language** écrit par Brian **K**ernighan aux appendices écrites par Dennis **R**itchie.
`C-ANSI` est une version révisée par l'**I**nstitut **N**ational **A**méricain de **N**ormalisation (ANSI) du langage C publiée en 1989.
###Exercice 2
`gcc` pour `Gnu Compiler Collection` est un ensemble d'executables permetant de compiler, lier, modifier des executables et sources `C`. Il est sous licence `GNU` (libre) et est le compilateur de base de la plupart des systèmes.
###Exercice 3
RAS

21
C2.md Normal file
View File

@ -0,0 +1,21 @@
C 2
=
### Exercice 1
1. La commande demande des fichier d'entrée. Typiquement des fichiers source et en-tête C
2. `gcc --version`
3. Sur les PC de l'ENS: version `7.5.0`
### Exercice 2
```
gcc test.c
./a.out
```
### Exercice 3
### Exercice 4
RAS

33
HTML0.md Normal file
View File

@ -0,0 +1,33 @@
HTML 0
=
###Exercice 1
1. Le sigle `HTML` signifie `HyperText Markup Language`
2. Le `HTML` est principalement utilisé afin de structurer le contenu des pages web.
###Exercice 2
1. Le `W3C` est le `World Wide Web Consortium`
2. Il a été fondé par Tim Berners-lee, qui le dirige encore en partie.
3. Son rôle est de fournir des standards des langages du web (`HTML`, `CSS`, ...) afin de garantir une compatibilité des pages web avec tous les navigateurs.
4. On peut valider une page web avec le [validateur du w3c](https://validator.w3.org/) qui est plutôt très strict.
###Exercice 3
1. Le navigateur internet permet de transformer le codes sources téléchargés des pages web en objets graphiques. Il execute aussi le code impératif contenu dans les pages afin de créer de l'interaction.
2. Les navigateurs les plus courrament utilisés
- Mozilla Firefox
- Google Chrome
- Opera
- Saphari
- Konqueror (sous les environnements KDE)
- Microsoft Edge, anciennement Internet Explorer
3. Lorsque l'on développe un interface graphique web en HTML, il faut utilier plusieurs navigateurs afin de s'assurer que notre page web a le même rendu, ou du moins à un rendu cohérent executé par n'importe quel navigateur.
###Exercice 4
C'est fait !
###Exercice 5
RAS

52
HTML1.md Normal file
View File

@ -0,0 +1,52 @@
HTML 2
=
### Exercice 1
1. Une balise est un noeud de l'arbre qu'est la page web, qui a un nom et éventuellement des arguments.
2. Les balises sont avec ou sans contenu
3. Avec contenu, on peut les créer avec la syntaxe suivante:
```
<balise arg="val">contenu</balise>
```
Sans contenu, on peut ou bien enlever le contenu, ou utiliser une syntaxe abrégée. Les deux lignes suivantes sont équivalentes:
```
<balise arg="val"></balise>
<balise arg="val"/>
```
### Exercice 2
1. Un attribut est un couple (nom,valeur) associé à une balise.
2. Un identifiant d'une balise est la valeur de son attribut nommé 'id'. Il doit être unique dans le document.
3. L'attribut class a pour valeur une liste de noms séparés par des espaces qui sont les «classes» du noeud. Elle peuvent être répétées à travers plusieurs balises, on pourra par exemple dire que deux balises ont la même classe.
4. L'attribut id ne contient qu'une valeur et décrit une balise du document de manière unique là où l'attribut class peut contenir plusieurs valeurs qui peuvent être communes à plusieurs balises du document.
### Exercice 3
```
<!DOCTYPE html>
<html>
<head>
</head>
<body>
</body>
</html>
```
### Exercice 4
Les commentaires sont délimités par les chaines de caractère `<!--` et `-->`, par exemple
```
<p>
Bonjour à <b>tous</b>, je vous apprécie <!-- C'est faux je vous déteste -->
</p>
```
### Exercice 5
RAS

24
HTML2.md Normal file
View File

@ -0,0 +1,24 @@
HTML 3
=
### Exercice 1
1. Spécifie quel syntaxe doit être réspectée dans ce fichier `XML`, donc la syntaxe `HTML`
2. Présente le document web dans son intégralité.
3. Contient tous les en-tête/métadonnées de la page. Tout ce qui n'est pas un élément visuel ou d'interface devrait se retrouver ici (typiquement: titre, hyperliens vers la feuille de style, charset utilisé, mots clés, ...)
4. Contient l'ensemble des éléments visuels et d'interface de la page. Il est, à peu près, le document affiché. Il prend graphiquement toute la place disponible (laissée par le navigateur).
### Exercice 2
Toutes ces balises définissent des sections de la page HTML. Elle n'ont pas d'effet visuel (à moins de le spécifier dans un fichier CSS), mais elles permettent d'organiser logiquement la page.
1. En-tête visuel de la page, contient des informations telles le titre de la page, l'auteur, la balise `<nav>`.
2. Pied-de-page. Contient des informations telles les contacts des webmaster, les adresses des institutions, le bouton «Me contacter», les licences des pages.
3. Liens de navigations. Contient les liens permetant de naviguer sur le site.
4. Définis une section du site. L'interprétation dépend de la page web considérée, mais les différentes sections doivent avoir la même valeur, être dans le même thème.
5. Définis une zone de contenu qui ne fait pas partie du cœur du contenu du site, par exemple des références ou des notes en bas de page.
6. Définis une zone du contenu qui a du sens de manière autonome, qui soit compréhensible et censée si on enlevait le reste du document.
### Exercice 3

38
HTML3.md Normal file
View File

@ -0,0 +1,38 @@
HTML 4
=
### Exercice 1
1. Pour ajouter du texte dans une page web, il suffit de l'écrire dans la balise <body>. En général, d'autres balises entoureront ce texte afin de pourvoir le manipuler plus précisément. Attention toutefois, pour les caractères compliqués (accents, crochets, ...), il faut les écrire en utilisant leur code html (`&eacute;`) ou leur code unicode décimal (`&#233;`) ou héxadécimal (`&#xE9;`)
2. Pour faire un retour à la ligne, il faut utiliser la balise `br` ainsi: `<br/>`
### Exercice 2
```
<!DOCTYPE html>
<html>
<head></head>
<body>Les cours de PROJ1, c'est bien !</body>
</html>
```
### Exercice 3
Pour ajouter une image, il faut utiliser la balise `img` sans contenu avec les attributs suivants:
* `src`: URL de l'image à afficher
* `alt`: Un texte dérivant l'image, pour l'accessibilité.
* `width` et `height` pour spécifier les dimensions à utiliser (optionnel).
### Exercice 4
```
<!DOCTYPE html>
<html>
<head></head>
<body>
Les cours de PROJ1, c'est bien !
<img src="https://www.pokepedia.fr/images/c/cd/Rondoudou-RFVF.png" alt="Artwork du pokémon Rondoudou"/>
</body>
</html>
```
### Exercice 5
RAS

42
Man01.md Normal file
View File

@ -0,0 +1,42 @@
Man 01
=
### Exercice 1
Dans une page MAN, on peut typiquement trouver les sections suivantes:
* NOM
* SYNOPSIS
* CONFIGURATION
* DESCRIPTION
* OPTIONS
* CODE DE RETOUR
* VALEUR RENVOYÉE
* ERREURS
* ENVIRONNEMENT
* FICHIERS
* VERSIONS
* CONFORMITÉ
* NOTES
* BOGUES
* EXEMPLE
* AUTEURS
* VOIR AUSSI
### Exercice 2
Pour chercher un terme, il sufit de rentrer le caractère `/` puis de taper le texte recherché, puis entrée.
### Exercice 3
Ce sont deux pages différentes. L'une est dans la section 1 du manuel, et décrit donc la commande `printf` dans le terminal, alors que l'autre est dans la section 3 et décrit donc la fonction `printf` accessible depuis les librairies (et typiquement les programmes C)
### Exercice 4
Il y a 9 catégories dans les pages de man. La troisième permet d'utiliser correctement les fonctions des librairies qui se sont données la peine d'écrire leurs pages de manuel.
### Exercice 5
Pour trouver toutes les pages contenant un mot clé, il faut utiliser l'option `-k`.
Par exemple: `man -k timeout`
### Exercice 6
RAS

78
Markdown01.md Normal file
View File

@ -0,0 +1,78 @@
# Fiche Markdown 01
## Culture générale
### Exercice 1
1. Un langage de balisage est un langage permettant d'ajouter des balises autour d'un texte afin de l'enrichir d'informations, pour rajouter des éléments de style (souligné, emphase, ...) ou des éléments logiques (mots-clés, sections, ...)
2. Markdown a été créé en 2004 par John Gruber, aidé d'Aaron Swartz
3. Pourtant, aucune spécification n'a jamais été publiée par ses auteurs, faisant que chaque logiciel y allait de son interprétation. En 2016 a été créée une spécification *RFC*, et d'autres initiatives essaient aussi de fixer un formalisme au langage.
## Mise en page
### Exercice 2
1.
- Reproduisez cette liste
+ Point par point
* En utilisant trois marqueurs différents pour les puces
2.
Faisons donc plus de liste imbriquées ...
* Trois
* Petits
+ chats
* mangeant
+ des souris
* goulument
* et oubliant
* de chercher
* leur pain
+ à
+ la
* boulangerie
### Exercice 3
1. Michel était parti se promener, son gros ventre **gras** se balancant au gré du vent. Il rentra dans un magasin de pâtes *italiquien*. Du moins, c'est ce qui était marqué sur le panneau. Il regarda longuement le menu avant de se décider sur ***pâtes à la carbonara***.
2. Il attendit des lustres et quand le serveur arriva enfin, son plat était froid. Il le souligna au vendeur et sortit du batiment. Le vendeur était bouche bée ... Ici, à Markdown City, personne ne soulignait jamais rien. Personne ne savait comment faire. Les maires de la ville n'avaient jamais expliqué comment. Ce Michel était vraiment quelqu'un de spécial.
* Le soulignage n'est pas utilisé dans le document de John Gruber, car trop difficile à lire. Le soulignage ne peut donc ce faire que à travers de versions personnalisées du Markdown.
### Exercice 4
1. Pour distinguer deux paragraphes, il suffit de mettre deux espaces à la fin de la ligne, puis de faire un retour à la ligne
C'est pratique. Pour écrire du texte. Par contre, faut écrire du texte. Ou le copier coller en ligne. Hmmmmmm, je vais y réfléchir. Je pourrais, pour vous éviter un long et réberbatif Lorem Ipsum, vous raconter ce que m'a un jour raconté un ami scribe me présentant sa situation:
Vous savez, je ne penses pas qu'il y ait de bonne ou de mauvaise situation. Si je devais résumer ma vie là, maintenant devant vous, ce serait d'abord des rencontres, des gens qui, un jour, m'ont tendu la main, quand j'étais seul chez moi. Et c'est étonnant de se dire que le hasard, les rencontres forgent une destinée.
Parce que quand on à comme moi le goût de la chose bien faite, parfois, on ne trouve pas l'interlocuteur en face, je dirais, le miroir qui vous aide à avancer.
2. Pour faire un retour à la ligne, encore plus simple :
Il suffit de faire ~~quatre~~ deux caractères «retour à la ligne».
Un jeu d'enfant !
### Exercice 5
1.
Question 1 de l'exo 5
=
qui prend de de la place
-
2. Voici six titres pour le plaisir de vous yeux.
# Ceci n'est pas le début du document
## parce qu'il n'est pas au début
### même presque à la fin
#### Quesque ça fait là
##### ou «titre à ralonge»
###### le parfum pour hommes
### Exercice 6
Il serait intéressant de faire comprendre que le Markdown est aussi simple à lire non compilé que compilé, ce qui le rend puissant dans son utilisation dans des terminaux non graphiques.

49
Markdown02.md Normal file
View File

@ -0,0 +1,49 @@
Fiche markdown 02
=
## Insertions en pagaille
### Exercice 1
1. Voici un joli Hello world !
```
++++++++++
[>+++++++>++++++++++>+++>+<<<<-]
>++.>+.+++++++..+++.>++.<<
+++++++++++++++.>.+++.------.--------.>+.>.
```
2. Saviez-vous qu'en brainfuck, tous les caractères autres que `<>+-.,[]` sont des commentaires. Par exemple la ligne «`au.ts zlqdq étmt`» est équivalente à «`.`» .
### Exercice 2
1. On peut faire des liens vers <https://daringfireball.net/projects/markdown/>
2. Mais aussi vers la [page officielle de Markdown](https://daringfireball.net/projects/markdown/)
3. Ou encore vers [Markdown l'officiel]
[Markdown l'officiel]: https://daringfireball.net/projects/markdown/
### Exercice 3
On peut même voir le logo markdown en résolution beaucoup trop élevée !
![Logo markdown](https://upload.wikimedia.org/wikipedia/commons/thumb/4/48/Markdown-mark.svg/2560px-Markdown-mark.svg.png)
### Exercice 4
J'ai déjà cité mon ami Otis dans un précédent exercice, je vais donc citer Mr. Torvalds qui disait:
> Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.
---
Il a aussi dit:
> Given enough eyeballs, all bugs are shallow.
### Exercice 5
RAS

16
SSH1.md Normal file
View File

@ -0,0 +1,16 @@
SSH 1
=
### Exercice 1
1. `SSH` signifie `Secure SHell`
2. Le protocole `SSH` a été conçu par Tatu Ylönen en 1995
3. Le `SSH` est implémenté par le logiciel `openssh` sous Linux, et par le logiciel graphique `PuTTY` sous windows.
4. Le protocole `SSH` permet principalement de se connécter à un terminal d'une machine distante de manière sécurisée. Il permet aussi de transférer des fichiers ou encore d'accéder à des environnement de bureau à distance. Il permet aussi d'accéder à des repos git en toute sécurité.
5. L'authentification est le processus qui permet d'assurer qu'une connection revendiquant une identitée n'est pas un usurpateur.
6. Lorsque l'on utilise le protocole SSH, l'authentification doit se faire auprès du serveur, qui est typiquement sur la machine sur laquelle on veut se connecter. Openssh gère l'autentification par mot de passe et clé privée, mais peut aussi relayer ce processus à des modules PAM.
7. Les deux principales méthodes d'authentifications en SSH sont l'authentification par mot de passe et l'authentification par clé privée.
### Exercice 2
RAS

81
Shell01.md Normal file
View File

@ -0,0 +1,81 @@
Shell 01
=
### Exercice 1
Pour ouvrir un terminal, on peut:
* Depuis un environnement graphique, lancer une application adéquate (xterm, gnome-terminal)
* On peut aussi parfois faire Ctrl+Alt+F# afin d'accéder aux terminaux du système.
* Souvent, le racourci Ctrl+Alt+T permet d'y accéder directement.
* ~~Win+R, taper cmd~~
### Exercice 2
`pwd`
### Exercice 3
L'autocomplétion permet de compléter automatiquement les commandes/dossiers/sous-commandes dans le terminal, en appuyant sur TAB. De base, la seule autocomplétion disponible est celle des commandes dans le `$PATH` et des fichiers du disque pour les arguments. Mais des additions peuvent être mises pour parfaire l'autocomplétion avec les sous-commandes, les listes d'arguments, etc (`apt install pyt` -> [TAB] -> `apt install python`)
### Exercice 4
Le fichier fichier1.txt a bien été créé (du haut de ses 0 octets)
### Exercice 5
La commande `cd` pour «Change Directory» permet de se déplacer dans un dossier. Ici on appliquerait `cd ./Documents`.
### Exercice 6
On peut lancer la commande `cd ..`
### Exercice 7
/!\ - Erreur de frappe `les différents répertoire` -> `les différents répertoires`
Si j'ai bien compris la question, on peut faire `cd ~` ou simplement `cd`
### Exercice 8
La commande `export` permet d'écrire les variables d'environnement du terminal lancé.
Lancée sans arguments, elle affiche toutes les variables actuellement changées.
La variable `$HOME` contient le chemin du dossier de l'utilisateur (correspondant à `~`)
La variable `$PATH` contient l'ensemble des dossiers dans lesquels chercher une commande lors de l'execution.
### Exercice 9
1. `ls -a`
2. `mkdir Projet1`
3. `cd Projet1`
`mkdir "Fiche Console"`
4. `cd Fiche\ Console`
`cp ~/Documents/Proj/fichier1.txt .`
5. `gedit fichier1.txt`
`nano fichier1.txt`
6. `cat fichier1.txt`
7. `touch exercice-console.txt`
8. `ls`
### Exercice 10
Les touches haut/bas permettent d'accéder à l'historique des commandes (aussi accessible via la commande `history`).
Pour faire une recherche par motif, le raccourci `Ctrl+R` est très pratique. Pour des recherche plus avancées, on peut utiliser `cat ~/.bash_history | grep -e ...`
La commande repose par défaut sur le fichier `.bash_history` présant dans le dossier de l'utilisateur.
### Exercice 11
1. La commande affiche dynamiquement l'ensemble des processus de l'ordinateur avec leurs statistiques, comme la charge processeur ou la mémoire utilisée. Elle fournit aussi une interface pour les gérer.
2. La commande affiche le texte «`Mon home : `» concaténé du chemin du dossier de l'utilisateur.
### Exercice 12
RAS