new desing v1

master
Alexandre AGOSTINHO 2 years ago
parent e17ddd1405
commit f1bf92aa78

@ -0,0 +1 @@
/var/www/html

@ -2,118 +2,125 @@
<html> <html>
<head> <head>
<title>LangProg - Main</title>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<title>LangProg</title> <meta name="viewport" content="width=device-width, initial-scale=1">
<link href="styles/main.css" rel="stylesheet" type="text/css" /> <link href="./styles/main.css" rel="stylesheet" type="text/css" />
<link href="styles/index.css" rel="stylesheet" type="text/css" />
</head> </head>
<body> <body>
<div class="header"> <div class="header">
<div class="title"> <div class="title">
<h1>LangProg - Main</h1> <h1>LangProg</h1>
<img src="img/ProgrammingLanguage1-1.jpg" alt="ImgTitle" /> <p><b>Main</b> page</p>
</div> </div>
<nav> <nav class="nav-bar">
<a href="./index.html">Menu Principal</a> <span class="nav-left">
<a href="pages/galerie.html">Galerie</a> <a href="./index.html">Menu Principal</a>
<a href="pages/donnees.html">Données</a> </span>
<span class="nav-right">
<a href="pages/galerie.html">Galerie</a>
<a href="pages/donnees.html">Données</a>
</span>
</nav> </nav>
</div> </div>
<div class="main-content"> <div class="main-content">
<section class="articles">
<h2>actualités des languages</h2>
<div> <div class="side">
<article> <div class="links">
<h3>Quelques données...</h3> <h3>Liens externes..</h3>
<p>Voici quelques données sur les différants languages de
<ul>
<li><a href="https://fr.wikipedia.org/wiki/C_(langage)">C (Wiki)</a></li>
<li><a href="https://fr.wikipedia.org/wiki/C%2B%2B">C++ (Wiki)</a></li>
<li><a href="https://fr.wikipedia.org/wiki/C_sharp">C# (Wiki)</a></li>
</ul>
</div>
<section class="majs">
<h2>actualités du site</h2>
<div>
<article>
<h4>initialisation du site</h4>
<p>08/09/2022: création de la page d'acceuil, des 3 premiers articles,
et de la table.</p>
</article>
<article>
<h4>ajouts des stylesheets</h4>
<p>15/09/2022: ajouts de styles.css.</p>
</article>
<article>
<h4>maj complete de la structuration du site</h4>
<p>29/09/2022: création de multiple fichiers de styles adaptive,
arrangement du code pour une meilleur lisibilité.</p>
</article>
<article>
<h4>maj du style 1</h4>
<p>05/10/2022: mise à niveau du style: style pour les pages d'article,
de donnée, création de la page de gallerie avec des photos et des
vidéos, nouvelles bordures, overflow, position (stiky).</p>
</article>
</div>
</section>
</div>
<div class="main">
<section class="articles">
<h2>Actualités des languages</h2>
<div>
<article>
<a class="title-link" href="./pages/donnees.html">
<h4>Quelques données...</h4>
</a>
<p>Voici quelques données sur les différants languages de
programmation.</p> programmation.</p>
<a href="./pages/donnees.html">Voir les données...</a> </article>
</article>
<article> <article>
<h3>Le C</h3> <h4>Le C</h4>
<p>C est un langage de programmation <strong>impératif <p>C est un langage de programmation <strong>impératif
généraliste</strong>, de bas niveau. Inventé au début des années 1970 généraliste</strong>, de bas niveau. Inventé au début des années 1970
pour réécrire Unix, C est devenu un des langages les plus utilisés, pour réécrire Unix, C est devenu un des langages les plus utilisés,
encore de nos jours.</p> encore de nos jours.</p>
<a href="./pages/article1.html">Lire la suite...</a> <a class="title-link" href="./pages/article1.html">Lire la suite...</a>
</article> </article>
<article> <article>
<h3>Le C++</h3> <h4>Le C++</h4>
<p>C++ est un langage de programmation <strong>compilé</strong> <p>C++ est un langage de programmation <strong>compilé</strong>
permettant la programmation sous de multiples paradigmes, permettant la programmation sous de multiples paradigmes,
<strong>dont la programmation procédurale, la programmation orientée <strong>dont la programmation procédurale, la programmation orientée
objet et la programmation générique.</strong> Ses bonnes objet et la programmation générique.</strong> Ses bonnes
performances, et sa compatibilité avec le C en font un des langages performances, et sa compatibilité avec le C en font un des langages
de programmation les plus utilisés dans les applications où la de programmation les plus utilisés dans les applications où la
performance est critique.</p> performance est critique.</p>
<a href="./pages/article2.html">Lire la suite...</a> <a class="title-link" href="./pages/article2.html">Lire la suite...</a>
</article> </article>
<article> <article>
<h3>Le C#</h3> <h4>Le C#</h4>
<p>C# est un langage de programmation <strong>orientée objet</strong>, <p>C# est un langage de programmation <strong>orientée objet</strong>,
fortement typé, dérivé de C et de C++, ressemblant au langage Java. fortement typé, dérivé de C et de C++, ressemblant au langage Java.
Il est utilisé pour développer des <strong>applications Il est utilisé pour développer des <strong>applications
web</strong>, ainsi que des <strong>applications de bureau, des web</strong>, ainsi que des <strong>applications de bureau, des
services web, des commandes, des widgets ou des bibliothèques de services web, des commandes, des widgets ou des bibliothèques de
classes</strong>.</p> classes</strong>.</p>
<a href="./pages/article3.html">Lire la suite...</a> <a class="title-link" href="./pages/article3.html">Lire la suite...</a>
</article> </article>
</div> </div>
</section> </section>
</div>
<section class="actus">
<h2>Actualités du site</h2>
<div>
<article>
<h4>Initialisation du site</h4>
<p>08/09/2022: Création de la page d'acceuil, des 3 premiers articles,
et de la table.</p>
</article>
<article>
<h4>Ajouts des stylesheets</h4>
<p>15/09/2022: Ajouts de styles.css.</p>
</article>
<article>
<h4>MAJ complete de la structuration du site</h4>
<p>29/09/2022: Création de multiple fichiers de styles adaptive,
arrangement du code pour une meilleur lisibilité.</p>
</article>
<article>
<h4>MAJ du style 1</h4>
<p>05/10/2022: Mise à niveau du style: style pour les pages d'article,
de donnée, création de la page de Gallerie avec des photos et des
vidéos, nouvelles bordures, overflow, position (stiky).</p>
</article>
</div>
</section>
</div> </div>
<aside class="links">
<h3>Liens externes..</h3>
<ul>
<li><a href="https://fr.wikipedia.org/wiki/C_(langage)">C (Wiki)</a></li>
<li><a href="https://fr.wikipedia.org/wiki/C%2B%2B">C++ (Wiki)</a></li>
<li><a href="https://fr.wikipedia.org/wiki/C_sharp">C# (Wiki)</a></li>
</ul>
</aside>
<footer>
<p>Auteur: Alexandre Agostinho (TP1)</p>
<p><a href="mailto:alexandre.agostinho@etu.uca.fr">alexandre.agostinho@etu.uca.fr</a></p>
</footer>
</body> </body>
</html> </html>

@ -0,0 +1,119 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>LangProg</title>
<link href="styles/main.css" rel="stylesheet" type="text/css" />
<link href="styles/index.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="header">
<div class="title">
<h1>LangProg - Main</h1>
<img src="img/ProgrammingLanguage1-1.jpg" alt="ImgTitle" />
</div>
<nav>
<a href="./index.html">Menu Principal</a>
<a href="pages/galerie.html">Galerie</a>
<a href="pages/donnees.html">Données</a>
</nav>
</div>
<div class="main-content">
<section class="articles">
<h2>actualités des languages</h2>
<div>
<article>
<h3>Quelques données...</h3>
<p>Voici quelques données sur les différants languages de
programmation.</p>
<a href="./pages/donnees.html">Voir les données...</a>
</article>
<article>
<h3>Le C</h3>
<p>C est un langage de programmation <strong>impératif
généraliste</strong>, de bas niveau. Inventé au début des années 1970
pour réécrire Unix, C est devenu un des langages les plus utilisés,
encore de nos jours.</p>
<a href="./pages/article1.html">Lire la suite...</a>
</article>
<article>
<h3>Le C++</h3>
<p>C++ est un langage de programmation <strong>compilé</strong>
permettant la programmation sous de multiples paradigmes,
<strong>dont la programmation procédurale, la programmation orientée
objet et la programmation générique.</strong> Ses bonnes
performances, et sa compatibilité avec le C en font un des langages
de programmation les plus utilisés dans les applications où la
performance est critique.</p>
<a href="./pages/article2.html">Lire la suite...</a>
</article>
<article>
<h3>Le C#</h3>
<p>C# est un langage de programmation <strong>orientée objet</strong>,
fortement typé, dérivé de C et de C++, ressemblant au langage Java.
Il est utilisé pour développer des <strong>applications
web</strong>, ainsi que des <strong>applications de bureau, des
services web, des commandes, des widgets ou des bibliothèques de
classes</strong>.</p>
<a href="./pages/article3.html">Lire la suite...</a>
</article>
</div>
</section>
<section class="actus">
<h2>Actualités du site</h2>
<div>
<article>
<h4>Initialisation du site</h4>
<p>08/09/2022: Création de la page d'acceuil, des 3 premiers articles,
et de la table.</p>
</article>
<article>
<h4>Ajouts des stylesheets</h4>
<p>15/09/2022: Ajouts de styles.css.</p>
</article>
<article>
<h4>MAJ complete de la structuration du site</h4>
<p>29/09/2022: Création de multiple fichiers de styles adaptive,
arrangement du code pour une meilleur lisibilité.</p>
</article>
<article>
<h4>MAJ du style 1</h4>
<p>05/10/2022: Mise à niveau du style: style pour les pages d'article,
de donnée, création de la page de Gallerie avec des photos et des
vidéos, nouvelles bordures, overflow, position (stiky).</p>
</article>
</div>
</section>
</div>
<aside class="links">
<h3>Liens externes..</h3>
<ul>
<li><a href="https://fr.wikipedia.org/wiki/C_(langage)">C (Wiki)</a></li>
<li><a href="https://fr.wikipedia.org/wiki/C%2B%2B">C++ (Wiki)</a></li>
<li><a href="https://fr.wikipedia.org/wiki/C_sharp">C# (Wiki)</a></li>
</ul>
</aside>
<footer>
<p>Auteur: Alexandre Agostinho (TP1)</p>
<p><a href="mailto:alexandre.agostinho@etu.uca.fr">alexandre.agostinho@etu.uca.fr</a></p>
</footer>
</body>
</html>

@ -0,0 +1,116 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>LangProg - Le C</title>
<link href="../styles/main.css" rel="stylesheet" type="text/css" />
<link href="../styles/articles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="header">
<div class="title">
<h1>LangProg - C</h1>
<img src="../img/ProgrammingLanguage1-1.jpg" alt="ImgTitle" />
</div>
<nav>
<a href="../index.html">Menu Principal</a>
<a href="galerie.html">Galerie</a>
<a href="donnees.html">Données</a>
</nav>
</div>
<img class="logo" src="../img/The_C_Programming_Language_logo.svg.png" alt="CImage">
<div class="main-content">
<section class="articles">
<h2>le language de programmation c</h2>
<article>
<p>c est un langage de programmation <strong>impératif
généraliste</strong>, de bas niveau. inventé au début des années 1970
pour réécrire unix, c est devenu un des langages les plus utilisés,
encore de nos jours. de nombreux langages plus modernes comme c++, c#,
java et php ou javascript ont repris une syntaxe similaire au c et
reprennent en partie sa logique. c offre au développeur une
<strong>marge de contrôle importante</strong> sur la machine
(notamment sur la gestion de la mémoire) et est de ce fait utilisé
pour réaliser les <strong>« fondations »</strong> (compilateurs,
interpréteurs…) de ces langages plus modernes.</p>
</article>
<article>
<h3>histoire</h3>
<p>le langage c a été inventé au cours de l'année 1972 dans les
laboratoires bell. il était développé en même temps qu'unix par
dennis ritchie et kenneth thompson. kenneth thompson avait développé
le prédécesseur direct de c, le langage b, qui est lui-même
largement inspiré de bcpl. dennis ritchie a fait évoluer le langage
b dans une nouvelle version suffisamment différente, en ajoutant
notamment les types, pour qu'elle soit appelée c1.
bien que c soit directement dérivé de b, ritchie relève aussi des influences de
pl/i, fortran et algol 68. en outre, ritchie signale que l'équipe
était convaincue du bien-fondé de l'idée d'écrire un système
d'exploitation dans un langage de plus haut niveau que l'assembleur,
un aspect pionnier de multics, écrit en pl/i.
par la suite, brian kernighan aida à populariser le langage c. il procéda aussi
à quelques modifications de dernière minute. en 1978, kernighan fut
le principal auteur du livre the c programming language décrivant le
langage enfin stabilisé ; ritchie s'était occupé des appendices et
des exemples avec unix. on appelle aussi ce livre « le k&r », et
l'on parle de c traditionnel ou de c k&r lorsqu'on se réfère au
langage tel qu'il existait à cette époque. </p>
</article>
<article>
<h3>qualités et défauts</h3>
<ul>
<h4>principale qualitées</h4>
<li>il existe depuis longtemps, le début des années 1970 ;</li>
<li>il est fondé sur un standard ouvert ;</li>
<li>de nombreux informaticiens le connaissent ;</li>
<li>il permet la minimisation de l'allocation mémoire nécessaire, son contrôle complet et la maximisation de la performance, notamment par l'utilisation de pointeurs ;</li>
<li>il permet la construction de structures de données complexes et ad-hoc, au plus près des besoins ;</li>
<li>des compilateurs et bibliothèques logicielles existent sur la plupart des architectures ;</li>
<li>il a influencé de nombreux langages plus récents dont c++, java, c# et php ; sa syntaxe en particulier est largement reprise ;</li>
<li>il met en œuvre un nombre restreint de concepts, ce qui facilite sa maîtrise et l'écriture de compilateurs simples et rapides ;</li>
<li>il ne spécifie pas rigidement le comportement du fichier exécutable produit, ce qui aide à tirer parti des capacités propres à chaque ordinateur ;</li>
<li>il permet, par la compilation directe vers le langage machine (via l'assembleur), l'écriture de logiciels qui n'ont besoin d'aucun support à l'exécution (ni bibliothèque logicielle ni machine virtuelle), au comportement prévisible en temps d'exécution comme en consommation de mémoire vive, comme des noyaux de système d'exploitation et des logiciels embarqués.</li>
<h4>principaux inconvénients</h4>
<li>le peu de vérifications offertes par les compilateurs d'origine (k&r c), et l'absence de vérifications à l'exécution, ce qui fait que des erreurs qui auraient pu être automatiquement détectées lors du développement ne létaient quà l'exécution, donc au prix dun plantage du logiciel ;
<ul>
<li>sous unix, on pouvait utiliser les utilitaires lint et cflow pour éviter de tels mécomptes,</li>
<li>des vérifications sont ajoutées avec le temps, mais elles restent partielles,</li>
</ul>
</li>
<li>son approche de la modularité restée au niveau de ce qui se faisait au début des années 1970, et largement dépassée depuis par d'autres langages :
<ul>
<li>il ne facilite pas la programmation orientée objet,</li>
<li>il ne permet pas de créer des espaces de noms,</li>
</ul>
</li>
<li>la gestion d'exceptions très sommaire ;</li>
<li>le support très limité de la généricité, malgré lintroduction des expressions à type générique en c11 ;</li>
<li>les subtilités de l'écriture de programmes portables, car le comportement exact des exécutables dépend de l'ordinateur cible ;</li>
<li>le support minimaliste de l'allocation de mémoire et des chaînes de caractères, ce qui oblige les programmeurs à s'occuper de détails fastidieux et sources de bugs ; il n'y a notamment pas de ramasse-miettes standard ;</li>
<li>les bugs graves qui peuvent être causés par un simple manque d'attention du développeur ; tel le dépassement de tampon qui constitue une faille de sécurité informatique exploitable par les logiciels malveillants ;</li>
<li>certaines erreurs ne peuvent être détectées automatiquement qu'à l'aide d'outils supplémentaires et non standardisés, comme lint et valgrind ;</li>
<li>la faible productivité du langage par rapport aux langages plus récents[réf. souhaitée].</li>
</ul>
</article>
</section>
</div>
<footer>
<p>Auteur: Alexandre Agostinho</p>
<p><a href="mailto:alexandre.agostinho@etu.uca.fr">alexandre.agostinho@etu.uca.fr</a></p>
</footer>
</body>
</html>

@ -0,0 +1,152 @@
body {
background-color: #ebebeb;
margin: 0;
}
a {
background-color: darkgrey;
text-decoration: none;
padding-left: 10px;
padding-right: 10px;
}
a:link, a:visited { color: white; }
a:hover { color: cadetblue; background-color: white; }
a:active { color: darkgrey; }
/* HEADER */
.header {
border-left: 10px solid cadetblue;
background-image: linear-gradient(to right, #ebebeb, cadetblue);
position: sticky;
top: 0px;
}
.header .title {
display: block;
}
.header h1 {
margin-left: 10px;
margin-bottom: 4px;
margin-top: 0;
}
.header img {
position: absolute;
right: 0;
top: 0;
width: 124px;
}
.header nav {
background-color: cadetblue;
}
.header nav a {
background-color: cadetblue;
margin-inline: 10px;
}
.header a:hover { color: darkgrey; }
.header a:active { color: cadetblue; }
/* MAIN CONTENT */
.main-content {
border-left: 10px solid cadetblue;
border-right: 2px solid cadetblue;
border-radius: 0 14px 0 0;
margin-right: 20%;
}
.main-content section {
margin-left: 10px;
border-bottom: 2px solid cadetblue;
}
.main-content .articles div {
height: 600px;
overflow: scroll;
}
.main-content .actus div {
height: 200px;
overflow: scroll;
}
.main-content .articles article {
margin-bottom: 50px;
}
.main-content h2,h3 {
border-bottom: 6px solid cadetblue;
border-left: 6px solid darkgrey;
border-radius: 0 14px;
padding-bottom: 4px;
padding-left: 10px;
}
.main-content h2 {
background-color: cadetblue;
border-bottom: 6px solid darkgrey;
margin-bottom: 3px;
}
.main-content h4 {
border-bottom: 2px solid cadetblue;
padding-bottom: 4px;
}
.main-content p, li {
padding-right: 20px;
text-align: justify;
}
.main-content .actus h4 {
margin-bottom: 0;
padding-bottom: 2px;
}
.main-content .actus p {
margin-top: 2px;
}
/* ASIDE */
.links {
background-color: #ebebebca;
padding-left: 2%;
padding-right: 2%;
padding-top: 1%;
border: 6px solid cadetblue;
border-radius: 0 14px;
position: fixed;
top: 113px;
right: 1%;
left: 80%;
height: 400px;
margin-left: 1%;
}
.links h3, ul {
text-align: justify;
}
/* FOOTER */
footer {
background-color: darkgray;
padding: 0;
margin: 0;
position: sticky;
bottom: 0px;
}
footer p {
display: inline-block;
text-align: right;
padding: 0;
margin: 0;
}

@ -2,40 +2,89 @@
<html> <html>
<head> <head>
<meta charset="utf-8" /> <title>Le C</title>
<title>LangProg - Le C</title> <meta charset="UTF-8">
<link href="../styles/main.css" rel="stylesheet" type="text/css" /> <meta name="viewport" content="width=device-width, initial-scale=1">
<link href="../styles/articles.css" rel="stylesheet" type="text/css" /> <link href="../styles/main.css" rel="stylesheet" type="text/css">
<link href="../styles/article.css" rel="stylesheet" type="text/css">
</head> </head>
<body> <body>
<div class="header"> <div class="header">
<div class="title"> <div class="title">
<h1>LangProg - C</h1> <h1>LangProg</h1>
<img src="../img/ProgrammingLanguage1-1.jpg" alt="ImgTitle" /> <p><b>Le langage C</b> article</p>
</div> </div>
<nav> <nav class="nav-bar">
<a href="../index.html">Menu Principal</a> <span class="nav-left">
<a href="galerie.html">Galerie</a> <a href="../index.html">Menu Principal</a>
<a href="donnees.html">Données</a> </span>
<span class="nav-right">
<a href="./galerie.html">Galerie</a>
<a href="./donnees.html">Données</a>
</span>
</nav> </nav>
</div> </div>
<img class="logo" src="../img/The_C_Programming_Language_logo.svg.png" alt="CImage">
<div class="main-content"> <div class="main-content">
<div class="side">
<div class="links">
<h3>Liens externes..</h3>
<ul>
<li><a href="https://fr.wikipedia.org/wiki/C_(langage)">C (Wiki)</a></li>
<li><a href="https://fr.wikipedia.org/wiki/C%2B%2B">C++ (Wiki)</a></li>
<li><a href="https://fr.wikipedia.org/wiki/C_sharp">C# (Wiki)</a></li>
</ul>
</div>
<section class="majs">
<h2>actualités du site</h2>
<div>
<article>
<h4>initialisation du site</h4>
<p>08/09/2022: création de la page d'acceuil, des 3 premiers articles,
et de la table.</p>
</article>
<article>
<h4>ajouts des stylesheets</h4>
<p>15/09/2022: ajouts de styles.css.</p>
</article>
<article>
<h4>maj complete de la structuration du site</h4>
<p>29/09/2022: création de multiple fichiers de styles adaptive,
arrangement du code pour une meilleur lisibilité.</p>
</article>
<article>
<h4>maj du style 1</h4>
<p>05/10/2022: mise à niveau du style: style pour les pages d'article,
de donnée, création de la page de gallerie avec des photos et des
vidéos, nouvelles bordures, overflow, position (stiky).</p>
</article>
</div>
</section>
</div>
<div class="main">
<section class="articles"> <section class="articles">
<h2>Le language de programmation C</h2> <h2>le language de programmation c</h2>
<article> <article>
<p>C est un langage de programmation <strong>impératif <p>c est un langage de programmation <strong>impératif
généraliste</strong>, de bas niveau. Inventé au début des années 1970 généraliste</strong>, de bas niveau. inventé au début des années 1970
pour réécrire Unix, C est devenu un des langages les plus utilisés, pour réécrire unix, c est devenu un des langages les plus utilisés,
encore de nos jours. De nombreux langages plus modernes comme C++, C#, encore de nos jours. de nombreux langages plus modernes comme c++, c#,
Java et PHP ou JavaScript ont repris une syntaxe similaire au C et java et php ou javascript ont repris une syntaxe similaire au c et
reprennent en partie sa logique. C offre au développeur une reprennent en partie sa logique. c offre au développeur une
<strong>marge de contrôle importante</strong> sur la machine <strong>marge de contrôle importante</strong> sur la machine
(notamment sur la gestion de la mémoire) et est de ce fait utilisé (notamment sur la gestion de la mémoire) et est de ce fait utilisé
pour réaliser les <strong>« fondations »</strong> (compilateurs, pour réaliser les <strong>« fondations »</strong> (compilateurs,
@ -43,48 +92,48 @@
</article> </article>
<article> <article>
<h3>Histoire</h3> <h3>histoire</h3>
<p>Le langage C a été inventé au cours de l'année 1972 dans les <p>le langage c a été inventé au cours de l'année 1972 dans les
Laboratoires Bell. Il était développé en même temps qu'Unix par laboratoires bell. il était développé en même temps qu'unix par
Dennis Ritchie et Kenneth Thompson. Kenneth Thompson avait développé dennis ritchie et kenneth thompson. kenneth thompson avait développé
le prédécesseur direct de C, le langage B, qui est lui-même le prédécesseur direct de c, le langage b, qui est lui-même
largement inspiré de BCPL. Dennis Ritchie a fait évoluer le langage largement inspiré de bcpl. dennis ritchie a fait évoluer le langage
B dans une nouvelle version suffisamment différente, en ajoutant b dans une nouvelle version suffisamment différente, en ajoutant
notamment les types, pour qu'elle soit appelée C1. notamment les types, pour qu'elle soit appelée c1.
Bien que C soit directement dérivé de B, Ritchie relève aussi des influences de bien que c soit directement dérivé de b, ritchie relève aussi des influences de
PL/I, FORTRAN et ALGOL 68. En outre, Ritchie signale que l'équipe pl/i, fortran et algol 68. en outre, ritchie signale que l'équipe
était convaincue du bien-fondé de l'idée d'écrire un système était convaincue du bien-fondé de l'idée d'écrire un système
d'exploitation dans un langage de plus haut niveau que l'assembleur, d'exploitation dans un langage de plus haut niveau que l'assembleur,
un aspect pionnier de Multics, écrit en PL/I. un aspect pionnier de multics, écrit en pl/i.
Par la suite, Brian Kernighan aida à populariser le langage C. Il procéda aussi par la suite, brian kernighan aida à populariser le langage c. il procéda aussi
à quelques modifications de dernière minute. En 1978, Kernighan fut à quelques modifications de dernière minute. en 1978, kernighan fut
le principal auteur du livre The C Programming Language décrivant le le principal auteur du livre the c programming language décrivant le
langage enfin stabilisé ; Ritchie s'était occupé des appendices et langage enfin stabilisé ; ritchie s'était occupé des appendices et
des exemples avec Unix. On appelle aussi ce livre « le K&R », et des exemples avec unix. on appelle aussi ce livre « le k&r », et
l'on parle de C traditionnel ou de C K&R lorsqu'on se réfère au l'on parle de c traditionnel ou de c k&r lorsqu'on se réfère au
langage tel qu'il existait à cette époque. </p> langage tel qu'il existait à cette époque. </p>
</article> </article>
<article> <article>
<h3>Qualités et défauts</h3> <h3>qualités et défauts</h3>
<ul> <ul>
<h4>Principale qualitées</h4> <h4>principale qualitées</h4>
<li>il existe depuis longtemps, le début des années 1970 ;</li> <li>il existe depuis longtemps, le début des années 1970 ;</li>
<li>il est fondé sur un standard ouvert ;</li> <li>il est fondé sur un standard ouvert ;</li>
<li>de nombreux informaticiens le connaissent ;</li> <li>de nombreux informaticiens le connaissent ;</li>
<li>il permet la minimisation de l'allocation mémoire nécessaire, son contrôle complet et la maximisation de la performance, notamment par l'utilisation de pointeurs ;</li> <li>il permet la minimisation de l'allocation mémoire nécessaire, son contrôle complet et la maximisation de la performance, notamment par l'utilisation de pointeurs ;</li>
<li>il permet la construction de structures de données complexes et ad-hoc, au plus près des besoins ;</li> <li>il permet la construction de structures de données complexes et ad-hoc, au plus près des besoins ;</li>
<li>des compilateurs et bibliothèques logicielles existent sur la plupart des architectures ;</li> <li>des compilateurs et bibliothèques logicielles existent sur la plupart des architectures ;</li>
<li>il a influencé de nombreux langages plus récents dont C++, Java, C# et PHP ; sa syntaxe en particulier est largement reprise ;</li> <li>il a influencé de nombreux langages plus récents dont c++, java, c# et php ; sa syntaxe en particulier est largement reprise ;</li>
<li>il met en œuvre un nombre restreint de concepts, ce qui facilite sa maîtrise et l'écriture de compilateurs simples et rapides ;</li> <li>il met en œuvre un nombre restreint de concepts, ce qui facilite sa maîtrise et l'écriture de compilateurs simples et rapides ;</li>
<li>il ne spécifie pas rigidement le comportement du fichier exécutable produit, ce qui aide à tirer parti des capacités propres à chaque ordinateur ;</li> <li>il ne spécifie pas rigidement le comportement du fichier exécutable produit, ce qui aide à tirer parti des capacités propres à chaque ordinateur ;</li>
<li>il permet, par la compilation directe vers le langage machine (via l'assembleur), l'écriture de logiciels qui n'ont besoin d'aucun support à l'exécution (ni bibliothèque logicielle ni machine virtuelle), au comportement prévisible en temps d'exécution comme en consommation de mémoire vive, comme des noyaux de système d'exploitation et des logiciels embarqués.</li> <li>il permet, par la compilation directe vers le langage machine (via l'assembleur), l'écriture de logiciels qui n'ont besoin d'aucun support à l'exécution (ni bibliothèque logicielle ni machine virtuelle), au comportement prévisible en temps d'exécution comme en consommation de mémoire vive, comme des noyaux de système d'exploitation et des logiciels embarqués.</li>
<h4>Principaux inconvénients</h4> <h4>principaux inconvénients</h4>
<li>le peu de vérifications offertes par les compilateurs d'origine (K&R C), et l'absence de vérifications à l'exécution, ce qui fait que des erreurs qui auraient pu être automatiquement détectées lors du développement ne létaient quà l'exécution, donc au prix dun plantage du logiciel ; <li>le peu de vérifications offertes par les compilateurs d'origine (k&r c), et l'absence de vérifications à l'exécution, ce qui fait que des erreurs qui auraient pu être automatiquement détectées lors du développement ne létaient quà l'exécution, donc au prix dun plantage du logiciel ;
<ul> <ul>
<li>sous UNIX, on pouvait utiliser les utilitaires lint et cflow pour éviter de tels mécomptes,</li> <li>sous unix, on pouvait utiliser les utilitaires lint et cflow pour éviter de tels mécomptes,</li>
<li>des vérifications sont ajoutées avec le temps, mais elles restent partielles,</li> <li>des vérifications sont ajoutées avec le temps, mais elles restent partielles,</li>
</ul> </ul>
</li> </li>
@ -95,11 +144,11 @@
</ul> </ul>
</li> </li>
<li>la gestion d'exceptions très sommaire ;</li> <li>la gestion d'exceptions très sommaire ;</li>
<li>le support très limité de la généricité, malgré lintroduction des expressions à type générique en C11 ;</li> <li>le support très limité de la généricité, malgré lintroduction des expressions à type générique en c11 ;</li>
<li>les subtilités de l'écriture de programmes portables, car le comportement exact des exécutables dépend de l'ordinateur cible ;</li> <li>les subtilités de l'écriture de programmes portables, car le comportement exact des exécutables dépend de l'ordinateur cible ;</li>
<li>le support minimaliste de l'allocation de mémoire et des chaînes de caractères, ce qui oblige les programmeurs à s'occuper de détails fastidieux et sources de bugs ; il n'y a notamment pas de ramasse-miettes standard ;</li> <li>le support minimaliste de l'allocation de mémoire et des chaînes de caractères, ce qui oblige les programmeurs à s'occuper de détails fastidieux et sources de bugs ; il n'y a notamment pas de ramasse-miettes standard ;</li>
<li>les bugs graves qui peuvent être causés par un simple manque d'attention du développeur ; tel le dépassement de tampon qui constitue une faille de sécurité informatique exploitable par les logiciels malveillants ;</li> <li>les bugs graves qui peuvent être causés par un simple manque d'attention du développeur ; tel le dépassement de tampon qui constitue une faille de sécurité informatique exploitable par les logiciels malveillants ;</li>
<li>certaines erreurs ne peuvent être détectées automatiquement qu'à l'aide d'outils supplémentaires et non standardisés, comme lint et Valgrind ;</li> <li>certaines erreurs ne peuvent être détectées automatiquement qu'à l'aide d'outils supplémentaires et non standardisés, comme lint et valgrind ;</li>
<li>la faible productivité du langage par rapport aux langages plus récents[réf. souhaitée].</li> <li>la faible productivité du langage par rapport aux langages plus récents[réf. souhaitée].</li>
</ul> </ul>
</article> </article>
@ -107,10 +156,8 @@
</section> </section>
</div> </div>
<footer>
<p>Auteur: Alexandre Agostinho</p> </div>
<p><a href="mailto:alexandre.agostinho@etu.uca.fr">alexandre.agostinho@etu.uca.fr</a></p>
</footer>
</body> </body>
</html> </html>

@ -69,13 +69,13 @@ body {
} }
.side { .side {
flex: 30%; flex: 20%;
background-color: #f1f1f1; background-color: #f1f1f1;
padding: 20px; padding: 20px;
} }
.main { .main {
flex: 70%; flex: 80%;
background-color: #ebebeb; background-color: #ebebeb;
padding: 20px; padding: 20px;
} }

@ -1,152 +1,103 @@
body { * {
background-color: #ebebeb; box-sizing: border-box;
margin: 0;
} }
a { body {
background-color: darkgrey; font-family: Arial;
text-decoration: none; margin: 0;
padding-left: 10px;
padding-right: 10px;
} }
a:link, a:visited { color: white; }
a:hover { color: cadetblue; background-color: white; }
a:active { color: darkgrey; }
/* HEADER */ /* HEADER --------------------------------------------*/
.header { .header {
border-left: 10px solid cadetblue;
background-image: linear-gradient(to right, #ebebeb, cadetblue);
position: sticky; position: sticky;
top: 0px;
} }
.header .title { .header .title {
display: block; background-image: linear-gradient(to right, #ebebeb, cadetblue);
} text-align: center;
padding: 60px;
.header h1 { color: #ebebeb;
margin-left: 10px;
margin-bottom: 4px;
margin-top: 0;
}
.header img {
position: absolute;
right: 0;
top: 0;
width: 124px;
}
.header nav {
background-color: cadetblue;
}
.header nav a {
background-color: cadetblue;
margin-inline: 10px;
}
.header a:hover { color: darkgrey; }
.header a:active { color: cadetblue; }
/* MAIN CONTENT */
.main-content {
border-left: 10px solid cadetblue;
border-right: 2px solid cadetblue;
border-radius: 0 14px 0 0;
margin-right: 20%;
} }
.main-content section { .nav-bar a:link { color: white; }
margin-left: 10px; .nav-bar a:visited { color: white; }
border-bottom: 2px solid cadetblue; .nav-bar a:hover {
color: #555;
background-color: #ebebeb;
border: 10px solid #ebebeb;
border-radius: 25px;
font-size: 20px;
} }
.main-content .articles div {
height: 600px;
overflow: scroll;
}
.main-content .actus div { .nav-bar {
height: 200px; display: flex;
overflow: scroll; justify-content: space-between;
padding: 5px;
align-items: baseline;
background-color: #555;
} }
.main-content .articles article { .nav-bar a {
margin-bottom: 50px; padding: 5px 20px;
margin: 0 10px 0 10px;
text-align: center;
text-decoration: none;
border-radius: 25%;
transition:
border 300ms,
font-size 300ms,
background-color 300ms,
color 300ms;
} }
.main-content h2,h3 { .nav-left {
border-bottom: 6px solid cadetblue; display: flex;
border-left: 6px solid darkgrey; justify-content: flex-start;
border-radius: 0 14px; align-items: baseline;
padding-bottom: 4px;
padding-left: 10px;
} }
.main-content h2 { .nav-right {
background-color: cadetblue; display: flex;
border-bottom: 6px solid darkgrey; justify-content: flex-end;
margin-bottom: 3px; align-items: baseline;
} }
.main-content h4 { /* MAIN CONTENT --------------------------------------------*/
border-bottom: 2px solid cadetblue;
padding-bottom: 4px;
}
.main-content p, li { .main-content {
padding-right: 20px; display: flex;
text-align: justify; flex-wrap: wrap;
} }
.main-content .actus h4 { .side {
margin-bottom: 0; flex: 20%;
padding-bottom: 2px; background-color: #f1f1f1;
padding: 20px;
} }
.main-content .actus p { .main {
margin-top: 2px; flex: 80%;
background-color: #ebebeb;
padding: 20px;
} }
/* ASIDE */ article {
border-bottom: 1px solid #555;
.links {
background-color: #ebebebca;
padding-left: 2%;
padding-right: 2%;
padding-top: 1%;
border: 6px solid cadetblue;
border-radius: 0 14px;
position: fixed;
top: 113px;
right: 1%;
left: 80%;
height: 400px;
margin-left: 1%;
} }
.links h3, ul { .title-link {
text-align: justify; text-decoration: none;
color: black;
} }
/* FOOTER */
footer { /* RESPONSIVE -----------------------------------------------------*/
background-color: darkgray;
padding: 0;
margin: 0;
position: sticky;
bottom: 0px;
}
footer p { @media screen and (max-width: 700px) {
display: inline-block; .main-content, .nav-bar {
text-align: right; flex-direction: column;
padding: 0; }
margin: 0;
} }

Loading…
Cancel
Save