Skip to content

Commit

Permalink
Deployed 123cbce with MkDocs version: 1.5.3
Browse files Browse the repository at this point in the history
  • Loading branch information
Unknown committed Jan 21, 2024
1 parent 49c9044 commit bf9aa1f
Show file tree
Hide file tree
Showing 2,429 changed files with 120,512 additions and 969 deletions.
10 changes: 5 additions & 5 deletions algo/Recursivite/index.html

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions algo/diviser/index.html

Large diffs are not rendered by default.

760 changes: 426 additions & 334 deletions data/structure/arbre/index.html

Large diffs are not rendered by default.

36 changes: 36 additions & 0 deletions data/structure/scripts/hauteur/exo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
class Noeud :
"""objet Noeud d'un arbre binaire"""
def __init__(self, val = None, filsG = None, filsD = None) :
self.set_val(val)
self.set_filsG(filsG)
self.set_filsD(filsD)

def get_val(self):
return self.val

def set_val(self, nouvelle_val):
self.val = nouvelle_val

def get_filsG(self):
return self.filsG

def set_filsG(self, nouveau_filsG):
self.filsG = nouveau_filsG

def get_filsD(self):
return self.filsD

def set_filsD(self, nouveau_filsD):
self.filsD = nouveau_filsD

def __str__(self):
return f"{self.get_val()}, {self.get_filsG()}, {self.get_filsD()}"

def hauteur(arbre):
return ...


# Création de l'arbre
arbre = Noeud(1,Noeud(2, Noeud(4),Noeud(5)), Noeud(3, filsD = Noeud(6)))

print(hauteur(arbre))
Empty file.
39 changes: 39 additions & 0 deletions data/structure/scripts/hauteur/exo_corr.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
class Noeud :
"""objet Noeud d'un arbre binaire"""
def __init__(self, val = None, filsG = None, filsD = None) :
self.set_val(val)
self.set_filsG(filsG)
self.set_filsD(filsD)

def get_val(self):
return self.val

def set_val(self, nouvelle_val):
self.val = nouvelle_val

def get_filsG(self):
return self.filsG

def set_filsG(self, nouveau_filsG):
self.filsG = nouveau_filsG

def get_filsD(self):
return self.filsD

def set_filsD(self, nouveau_filsD):
self.filsD = nouveau_filsD

def __str__(self):
return f"{self.get_val()}, {self.get_filsG()}, {self.get_filsD()}"

def hauteur(arbre):
if arbre == None:
return 0
else :
return 1 + max(hauteur(arbre.get_filsG()), hauteur(arbre.get_filsD()))


# Création de l'arbre
arbre = Noeud(1,Noeud(2, Noeud(4),Noeud(5)), Noeud(3, filsD = Noeud(6)))

print(taille(arbre))
1 change: 1 addition & 0 deletions data/structure/scripts/hauteur/exo_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
assert hauteur(Noeud(1,Noeud(2, Noeud(4),Noeud(5)), Noeud(3, filsD = Noeud(6)))) == 3, "L'arbre n'a pas la bonne hauteur"
33 changes: 33 additions & 0 deletions data/structure/scripts/noeud/exo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
class Noeud :
"""objet Noeud d'un arbre binaire"""
def __init__(self, val = None, filsG = None, filsD = None) :
self.set_val(val)
self.set_filsG(filsG)
self.set_filsD(filsD)

def get_val(self):
return self.val

def set_val(self, nouvelle_val):
self.val = nouvelle_val

def get_filsG(self):
return self.filsG

def set_filsG(self, nouveau_filsG):
self.filsG = nouveau_filsG

def get_filsD(self):
return self.filsD

def set_filsD(self, nouveau_filsD):
self.filsD = nouveau_filsD

def __str__(self):
return f"{self.get_val()}, {self.get_filsG()}, {self.get_filsD()}"


# Création de l'arbre
arbre = ...

print(arbre)
Empty file.
33 changes: 33 additions & 0 deletions data/structure/scripts/noeud/exo_corr.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
class Noeud :
"""objet Noeud d'un arbre binaire"""
def __init__(self, val = None, filsG = None, filsD = None) :
self.set_val(val)
self.set_filsG(filsG)
self.set_filsD(filsD)

def get_val(self):
return self.val

def set_val(self, nouvelle_val):
self.val = nouvelle_val

def get_filsG(self):
return self.filsG

def set_filsG(self, nouveau_filsG):
self.filsG = nouveau_filsG

def get_filsD(self):
return self.filsD

def set_filsD(self, nouveau_filsD):
self.filsD = nouveau_filsD

def __str__(self):
return f"{self.get_val()}, {self.get_filsG()}, {self.get_filsD()}"


# Création de l'arbre
arbre = Noeud(1,Noeud(2, Noeud(4),Noeud(5)), Noeud(3, filsD = Noeud(6)))

print(arbre)
1 change: 1 addition & 0 deletions data/structure/scripts/noeud/exo_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
assert arbre.__str__() == '1, 2, 4, None, None, 5, None, None, 3, None, 6, None, None', "L'arbre n'a pas poussé correctement..."
36 changes: 36 additions & 0 deletions data/structure/scripts/taille/exo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
class Noeud :
"""objet Noeud d'un arbre binaire"""
def __init__(self, val = None, filsG = None, filsD = None) :
self.set_val(val)
self.set_filsG(filsG)
self.set_filsD(filsD)

def get_val(self):
return self.val

def set_val(self, nouvelle_val):
self.val = nouvelle_val

def get_filsG(self):
return self.filsG

def set_filsG(self, nouveau_filsG):
self.filsG = nouveau_filsG

def get_filsD(self):
return self.filsD

def set_filsD(self, nouveau_filsD):
self.filsD = nouveau_filsD

def __str__(self):
return f"{self.get_val()}, {self.get_filsG()}, {self.get_filsD()}"

def taille(arbre):
return ...


# Création de l'arbre
arbre = Noeud(1,Noeud(2, Noeud(4),Noeud(5)), Noeud(3, filsD = Noeud(6)))

print(taille(arbre))
Empty file.
39 changes: 39 additions & 0 deletions data/structure/scripts/taille/exo_corr.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
class Noeud :
"""objet Noeud d'un arbre binaire"""
def __init__(self, val = None, filsG = None, filsD = None) :
self.set_val(val)
self.set_filsG(filsG)
self.set_filsD(filsD)

def get_val(self):
return self.val

def set_val(self, nouvelle_val):
self.val = nouvelle_val

def get_filsG(self):
return self.filsG

def set_filsG(self, nouveau_filsG):
self.filsG = nouveau_filsG

def get_filsD(self):
return self.filsD

def set_filsD(self, nouveau_filsD):
self.filsD = nouveau_filsD

def __str__(self):
return f"{self.get_val()}, {self.get_filsG()}, {self.get_filsD()}"

def taille(arbre):
if arbre == None:
return 0
else:
return 1 + taille(arbre.get_filsG()) + taille(arbre.get_filsD())


# Création de l'arbre
arbre = Noeud(1,Noeud(2, Noeud(4),Noeud(5)), Noeud(3, filsD = Noeud(6)))

print(taille(arbre))
1 change: 1 addition & 0 deletions data/structure/scripts/taille/exo_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
assert taille(Noeud(1,Noeud(2, Noeud(4),Noeud(5)), Noeud(3, filsD = Noeud(6)))) == 6, "L'arbre n'est pas de la bonne taille"
99 changes: 30 additions & 69 deletions data/tables/csv/fichiers_csv/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2006,17 +2006,6 @@



<label class="md-nav__link md-nav__link--active" for="__toc">


<span class="md-ellipsis">
Fichiers csv
</span>


<span class="md-nav__icon md-icon"></span>
</label>

<a href="./" class="md-nav__link md-nav__link--active">


Expand All @@ -2027,32 +2016,6 @@

</a>



<nav class="md-nav md-nav--secondary" aria-label="Table des matières">






<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table des matières
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>

<li class="md-nav__item">
<a href="#creation" class="md-nav__link">
Création
</a>

</li>

</ul>

</nav>

</li>


Expand Down Expand Up @@ -4127,8 +4090,7 @@
<h1 id="les-fichiers-csv-et-json">📑 Les fichiers <code>csv</code> et <code>json</code><a class="headerlink" href="#les-fichiers-csv-et-json" title="Permanent link">⚓︎</a></h1>
<div class="admonition info">
<p class="admonition-title">Fichiers de données</p>
<p>Le site <a href="https://www.data.gouv.fr/fr/">data.gouv</a> propose de nombreux jeux de données en libre accès.</p>
<p>Les fichiers correspondants sont souvent proposés aux formats </p>
<p>Le site <a href="https://www.data.gouv.fr/fr/">data.gouv</a> propose de nombreux jeux de données en libre accès. Ces données sont souvent proposées aux formats : </p>
<ul>
<li><code>csv</code> pour <em><strong>C</strong>omma <strong>S</strong>eparated <strong>V</strong>alues</em>,</li>
<li><code>json</code> pour <em><strong>J</strong>ava<strong>S</strong>cript <strong>O</strong>bject <strong>N</strong>otation</em>.</li>
Expand All @@ -4152,16 +4114,36 @@ <h1 id="les-fichiers-csv-et-json">📑 Les fichiers <code>csv</code> et <code>js
</code></pre></div>
</li>
</ul>
<details class="note">
<summary>Autres formats...</summary>
<p>Les fichiers <code>csv</code> et <code>json</code> ne sont pas les seuls formats de fichiers de données. Par exemple on trouve souvent les fichiers xml.</p>
<div class="highlight"><span class="filename">📑 Données XML</span><pre><span></span><code><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
<span class="nt">&lt;amis&gt;</span>
<span class="w"> </span><span class="nt">&lt;personne&gt;</span>
<span class="w"> </span><span class="nt">&lt;nom&gt;</span>Jean<span class="nt">&lt;/nom&gt;</span>
<span class="w"> </span><span class="nt">&lt;âge&gt;</span>26<span class="nt">&lt;/âge&gt;</span>
<span class="w"> </span><span class="nt">&lt;ville&gt;</span>Paris<span class="nt">&lt;/ville&gt;</span>
<span class="w"> </span><span class="nt">&lt;passion&gt;</span>VTT<span class="nt">&lt;/passion&gt;</span>
<span class="w"> </span><span class="nt">&lt;/personne&gt;</span>
<span class="w"> </span><span class="nt">&lt;personne&gt;</span>
<span class="w"> </span><span class="nt">&lt;nom&gt;</span>Marion<span class="nt">&lt;/nom&gt;</span>
<span class="w"> </span><span class="nt">&lt;âge&gt;</span>28<span class="nt">&lt;/âge&gt;</span>
<span class="w"> </span><span class="nt">&lt;ville&gt;</span>Lyon<span class="nt">&lt;/ville&gt;</span>
<span class="w"> </span><span class="nt">&lt;passion&gt;</span>badminton<span class="nt">&lt;/passion&gt;</span>
<span class="w"> </span><span class="nt">&lt;/personne&gt;</span>
<span class="nt">&lt;/amis&gt;</span>
</code></pre></div>
</details>
</div>
<div class="admonition note">
<p class="admonition-title">Remarques</p>
<details class="note">
<summary>Remarques</summary>
<p>Nous travaillerons désormais avec les fichiers <code>csv</code>. L'exemple précédent permet de remarquer plusieurs choses :</p>
<ul>
<li>
<p>un fichier <code>csv</code> contient des <strong>données textuelles</strong>,</p>
</li>
<li>
<p>les données sont organisées en lignes,</p>
<p>les données sont organisées en <strong>lignes</strong>,</p>
</li>
<li>
<p>la première ligne regroupe le nom des <strong>descripteurs</strong> (il y en a quatre ici : <code class="highlight"><span class="n">nom</span></code>, <code class="highlight"><span class="n">âge</span></code>, <code class="highlight"><span class="n">ville</span></code> et <code class="highlight"><span class="n">passion</span></code>),</p>
Expand All @@ -4176,10 +4158,8 @@ <h1 id="les-fichiers-csv-et-json">📑 Les fichiers <code>csv</code> et <code>js
<p>les données peuvent être de types différents. Ici le <code class="highlight"><span class="n">nom</span></code>, la <code class="highlight"><span class="n">ville</span></code> et la <code class="highlight"><span class="n">passion</span></code> sont des chaînes de caractères, l'<code class="highlight"><span class="n">âge</span></code> un entier.</p>
</li>
</ul>
</div>
<div class="admonition danger">
<div class="admonition warning">
<p class="admonition-title">Attention</p>
<p>La réalité n'est pas aussi simple :</p>
<ul>
<li>
<p>il arrive que <strong>la première ligne ne contienne pas les entêtes</strong>. Ils peuvent être listés dans un fichier annexe ou... perdus !</p>
Expand All @@ -4192,6 +4172,11 @@ <h1 id="les-fichiers-csv-et-json">📑 Les fichiers <code>csv</code> et <code>js
</li>
</ul>
</div>
<ul>
<li>Les fichiers <code>csv</code> et <code>json</code> étant de simples fichiers « texte », il est donc possible de les créer avec un quelconque éditeur de texte.</li>
</ul>
<p><img alt="Création d'un fichier csv" class="center" src="../creation_dark.gif" width="60%" /></p>
</details>
<details class="question">
<summary>Activité 1 - Premiers contacts</summary>
<p>On considère les deux fichiers <code>csv</code> ci-dessous (on n'en donne que les trois première lignes) :</p>
Expand Down Expand Up @@ -4248,30 +4233,6 @@ <h1 id="les-fichiers-csv-et-json">📑 Les fichiers <code>csv</code> et <code>js
<p>On pourrait aussi noter le <strong>gros</strong> problème qui consiste à stocker les mots de passe des utilisateurs en clair dans un fichier !</p>
</details>
</details>
<details class="note">
<summary>Autres formats...</summary>
<p>Les fichiers <code>csv</code> et <code>json</code> ne sont pas les seuls formats permettant de conserver des données. </p>
<p>On peut aussi retenir le format <code>xml</code> pour <em>e<strong>X</strong>tensible <strong>M</strong>arkup <strong>L</strong>anguage</em> qui utilise des balises au même titre que le <code>html</code> :</p>
<div class="highlight"><span class="filename">📑 Données XML</span><pre><span></span><code><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
<span class="nt">&lt;amis&gt;</span>
<span class="w"> </span><span class="nt">&lt;personne&gt;</span>
<span class="w"> </span><span class="nt">&lt;nom&gt;</span>Jean<span class="nt">&lt;/nom&gt;</span>
<span class="w"> </span><span class="nt">&lt;âge&gt;</span>26<span class="nt">&lt;/âge&gt;</span>
<span class="w"> </span><span class="nt">&lt;ville&gt;</span>Paris<span class="nt">&lt;/ville&gt;</span>
<span class="w"> </span><span class="nt">&lt;passion&gt;</span>VTT<span class="nt">&lt;/passion&gt;</span>
<span class="w"> </span><span class="nt">&lt;/personne&gt;</span>
<span class="w"> </span><span class="nt">&lt;personne&gt;</span>
<span class="w"> </span><span class="nt">&lt;nom&gt;</span>Marion<span class="nt">&lt;/nom&gt;</span>
<span class="w"> </span><span class="nt">&lt;âge&gt;</span>28<span class="nt">&lt;/âge&gt;</span>
<span class="w"> </span><span class="nt">&lt;ville&gt;</span>Lyon<span class="nt">&lt;/ville&gt;</span>
<span class="w"> </span><span class="nt">&lt;passion&gt;</span>badminton<span class="nt">&lt;/passion&gt;</span>
<span class="w"> </span><span class="nt">&lt;/personne&gt;</span>
<span class="nt">&lt;/amis&gt;</span>
</code></pre></div>
</details>
<h2 id="creation">Création<a class="headerlink" href="#creation" title="Permanent link">⚓︎</a></h2>
<p>On l'a dit, les fichiers <code>csv</code> et <code>json</code> sont des fichiers « texte » classique. Il est donc possible de les créer avec un simple éditeur de texte.</p>
<p><img alt="Création d'un fichier csv" class="center" src="../creation_dark.gif" width="60%" /></p>
<details class="question">
<summary>Activité 3 - « <em>Créer</em> » un fichier <code>csv</code></summary>
<p>On souhaite « <em>créer</em> » un fichier <code>csv</code> recensant les jours fériés en France durant l'année 2023.</p>
Expand Down
Loading

0 comments on commit bf9aa1f

Please sign in to comment.