<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>http://os-vps418.infomaniak.ch:1250/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Quentinscott</id>
	<title>Wiki du LAMA (UMR 5127) - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="http://os-vps418.infomaniak.ch:1250/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Quentinscott"/>
	<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php/Sp%C3%A9cial:Contributions/Quentinscott"/>
	<updated>2026-05-21T13:56:16Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=MSHS501_et_MSHS601_:_Enqu%C3%AAte_et_sondage&amp;diff=5236</id>
		<title>MSHS501 et MSHS601 : Enquête et sondage</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=MSHS501_et_MSHS601_:_Enqu%C3%AAte_et_sondage&amp;diff=5236"/>
		<updated>2011-05-30T10:07:16Z</updated>

		<summary type="html">&lt;p&gt;Quentinscott : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Qu&#039;est-ce qu&#039;une enquête dans le cadre de ce cours ? Dans quels cas faire une enquête. Il faut faire attention à la surcharge du mot enquête en français (ici on va parler des &amp;quot;surveys&amp;quot; et des &amp;quot;polls&amp;quot; de la langue anglaise). &lt;br /&gt;
&lt;br /&gt;
Définition: pour ce cours, on définit enquête et sondage par les caractéristiques suivantes :&lt;br /&gt;
* démarche scientifique et rigoureuse,&lt;br /&gt;
* recherche de réponses à une ou plusieurs questions déterminées,&lt;br /&gt;
* interrogation d&#039;un échantillon choisi parmi une population bien définie.&lt;br /&gt;
&lt;br /&gt;
Attention, l&#039;enquête n&#039;est pas toujours la bonne manière de répondre à une question.&lt;br /&gt;
&lt;br /&gt;
Il existe deux types d&#039;enquêtes : &lt;br /&gt;
* l&#039;enquête qualitative (en générale par entretien),&lt;br /&gt;
* l&#039;enquête quantitative ou statistique (principal objet de ce cours) dont les sondages font partie.&lt;br /&gt;
&lt;br /&gt;
Plan général du cours en trois parties :&lt;br /&gt;
# conception d&#039;une enquête.&lt;br /&gt;
# mise en oeuvre et contribution des outils informatiques modernes.&lt;br /&gt;
# considérations statistiques avancées.&lt;br /&gt;
&lt;br /&gt;
Voici les feuilles de TD :&lt;br /&gt;
* [http://www.lama.univ-savoie.fr/~raffalli/pdfs/MSHS501-TD1.pdf TD1]&lt;br /&gt;
* [http://www.lama.univ-savoie.fr/~raffalli/pdfs/MSHS501-TD2.pdf TD2]&lt;br /&gt;
* [http://www.lama.univ-savoie.fr/~raffalli/pdfs/MSHS501-TD3.pdf TD3]&lt;br /&gt;
* [http://www.lama.univ-savoie.fr/~raffalli/pdfs/MSHS501-TD4.pdf TD4]&lt;br /&gt;
&lt;br /&gt;
Voici le sujet d&#039;examen de janvier 2009 et son corrigé: [http://www.lama.univ-savoie.fr/~raffalli/pdfs/exam090109.pdf sujet] et [http://www.lama.univ-savoie.fr/~raffalli/pdfs/exam090109-corr.pdf corrigé]&lt;br /&gt;
&lt;br /&gt;
Le projet de cette année (2008-2009) a pour but de conduire une [[enquête sur les comportements à risque des étudiants de l&#039;université]] .&lt;br /&gt;
&lt;br /&gt;
== Modalités d&#039;une enquête ==&lt;br /&gt;
&lt;br /&gt;
# Choisir d&#039;enquêter ou non.&lt;br /&gt;
# Construire l&#039;enquête :&lt;br /&gt;
#* Préciser les objectifs, c&#039;est-à-dire les questions auxquelles l&#039;enquête devra répondre, ou les hypothèses qu&#039;elle devra confirmer ou invalider. Il faut distinguer l&#039;objectif général (qui donne son unité à l&#039;enquête et les objectifs particuliers. Attention aux cahiers des charges &amp;quot;tout fait&amp;quot;.&lt;br /&gt;
#* Définir le &amp;quot;plan d&#039;observation&amp;quot; : préciser la population et l&#039;échantillon (taille et structure) et les contraintes matérielles.&lt;br /&gt;
#* Modalité de l&#039;enquête.&lt;br /&gt;
#* Décider du caractère qualitatif ou quantitatif.&lt;br /&gt;
#* Préparation et test du questionnaire ou des entretiens.&lt;br /&gt;
#* Entretien préparatoire. &lt;br /&gt;
# Recueil de l&#039;information. Après cette étape on ne peut plus revenir en arrière.&lt;br /&gt;
# Dépouillement et analyse des données.&lt;br /&gt;
# Rédaction du rapport final.&lt;br /&gt;
&lt;br /&gt;
=== Contexte et problématique d&#039;une enquête ===&lt;br /&gt;
&lt;br /&gt;
Première question : l&#039;enquête est-elle la bonne méthode ? Confrontation avec les autres méthodes : étude documentaire, observation directe (engagée ou non), expérimentation.&lt;br /&gt;
&lt;br /&gt;
3 TYPES D&#039;ENQUETES&lt;br /&gt;
&lt;br /&gt;
-Enquête transversale: question sur l&#039;ensemble de la population&lt;br /&gt;
&lt;br /&gt;
-Comparaison de groupe: dans la question initiale il y a déjà la définition de groupe&lt;br /&gt;
&lt;br /&gt;
-Etude longitudinale: temps, comment la population évolue&lt;br /&gt;
&lt;br /&gt;
=== Plan de réalisation d&#039;une enquête ===&lt;br /&gt;
&lt;br /&gt;
==== Objectifs et cahier des charges ====&lt;br /&gt;
&lt;br /&gt;
Le cahier des charges de départ va d&#039;une unique question vague à un questionnaire tout fait (il faut alors revenir en arrière). &lt;br /&gt;
&lt;br /&gt;
Il faut donc déterminer la question générale de départ et la transformer en questions de recherches spécifiques sous forme d&#039;hypothèses ou de quantités (exemple de la croyance au paranormal). &lt;br /&gt;
&lt;br /&gt;
* Les hypothèses et les quantités à mesurer doivent être définies de manière objective et non ambiguë. Elles doivent être respectivement vérifiables et mesurables (exemple du bonheur).&lt;br /&gt;
* L&#039;hypothèse doit être plausible et remise en question.&lt;br /&gt;
* Attention : vérifier une hypothèse n&#039;est pas demander aux gens ce qu&#039;ils en pensent.&lt;br /&gt;
&lt;br /&gt;
Pour formuler les hypothèses, il faut rechercher des indicateurs et les multiplier. Exemple: &amp;quot;Il y a une relation négative entre les croyances religieuses et les croyances au paranormal&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Pour cela, on fait une pré-enquête avec une recherche documentaire, la réalisation d&#039;entretien (avec des informateurs priviligiés ou auprès de la population sujet de l&#039;enquête). On repère ainsi les bons indicateurs et le vocabulaire de la population. On s&#039;arrête lorsque l&#039;on tourne en rond.&lt;br /&gt;
&lt;br /&gt;
==== Population parente -- échantillon -- modalités du sondage ====&lt;br /&gt;
&lt;br /&gt;
Population parente : le sujet de l&#039;enquête (individu, famille, entreprise). Il faut bien définir les critères d&#039;inclusion.&lt;br /&gt;
&lt;br /&gt;
Plan d&#039;observation : - Enquête transversale - Comparaison de groupes : (Quasi expérimentation : on prend une population, on la divise aléatoirement en 2 echantillons et on en soumet un à un cas et l&#039;autre non. Vraie expérimentation : on selectionne 2 échantilons en fonstion du fait qu&#039;ils aient subis ou non l&#039;evenement cas témoin : on compare les groupes en fonction de plusieurs critères),- Enquête longitudinale :(étude de cohorte : choix d&#039;un echantillon à un intervalle régulier dans une même population,étude à série chronologique : on interroge 2 fois la même population avant et apres l&#039;évenement, interview répété ou panel  : on fixe l&#039;echantillon, étude de tendance  : similaire à l&#039;étude de cohorte mais la population est plus large).  &lt;br /&gt;
&lt;br /&gt;
Sondage : il faut choisir un échantillon (faire un sondage). Problème de la taille et du choix.&lt;br /&gt;
C&#039;est l&#039;un des problèmes majeurs, on y consacrera le chapitre 3.&lt;br /&gt;
&lt;br /&gt;
==== Le questionnaire ====&lt;br /&gt;
&lt;br /&gt;
Il s&#039;agit de préparer &#039;&#039;l&#039;instrument d&#039;observation&#039;&#039;. Etape délicate, là aussi le chapitre 4 y est consacré.&lt;br /&gt;
&lt;br /&gt;
=== Recueil des données ===&lt;br /&gt;
&lt;br /&gt;
C&#039;est une phase sans retour en arrière possible. C&#039;est aussi cette phase qui concentre la majeur partie du coût de l&#039;enquête (sauf en cas de collecte par internet et dans une moindre mesure par courrier).&lt;br /&gt;
&lt;br /&gt;
=== Traitement et analyse des résultats ===&lt;br /&gt;
&lt;br /&gt;
C&#039;est là et dans le choix de l&#039;échantillon qu&#039;il faut vraiment faire preuve de rigueur scientifique. cf chapitre 6.&lt;br /&gt;
&lt;br /&gt;
=== Le rapport ===&lt;br /&gt;
&lt;br /&gt;
Comme tout rapport, il commence par une page de titres et une introduction comportant les motivations, le plan et un résumé des résultats (ou pas). Attention, la plupart de vos lecteur s&#039;arrêteront là ... &lt;br /&gt;
&lt;br /&gt;
La suite du rapport peut (doit ?) suivre le plan de réalisation de l&#039;enquête et donc présenter les objectifs et la méthode de l&#039;enquête. Vous devez &#039;&#039;&#039;prouver&#039;&#039;&#039; votre rigueur scientifique. Ensuite, vous donnez les résultats bruts (à plat) et enfin les analyses statistiques qui justifient vos conclusions.&lt;br /&gt;
&lt;br /&gt;
La conclusion (qui peut-être incluse dans l&#039;introduction) résume vos résultats, vos &#039;&#039;échecs&#039;&#039; et vos éventuelles recommandation si l&#039;étude avait pour motivation une aide à la décision.&lt;br /&gt;
&lt;br /&gt;
Attention : ce qui compte dans un rapport &#039;&#039;&#039;scientifique&#039;&#039;&#039;, c&#039;est sa cohérence et sa rigueur. Il faut éviter les répétitions et la dispersion. Il faut rechercher la &#039;&#039;densité&#039;&#039; et la &#039;&#039;cohésion&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Les modalités d&#039;un sondage ==&lt;br /&gt;
&lt;br /&gt;
=== Population et méthode de collecte ===&lt;br /&gt;
&lt;br /&gt;
==== La population ====&lt;br /&gt;
&lt;br /&gt;
Que les critères d&#039;inclusions aient l&#039;air de s&#039;imposer d&#039;eux mêmes ou non, il faut absolument prendre soin de les définir par écrit. Il faut être face à un individu, savoir s&#039;il fait partie ou non de la population étudiée. Pas de place ici pour le libre arbitre des enquêteurs.&lt;br /&gt;
&lt;br /&gt;
==== Type de collecte ====&lt;br /&gt;
&lt;br /&gt;
Le type de collecte (enquête avec un sondeur, questionnaire auto administré, etc ...), influe sur le choix de l&#039;échantillon et aussi sur l&#039;analyse des données.&lt;br /&gt;
&lt;br /&gt;
- questionnaire administré ( face à face, au tel, internet )&lt;br /&gt;
&lt;br /&gt;
- questionnaire auto administré ( papier, internet )&lt;br /&gt;
&lt;br /&gt;
- entretien&lt;br /&gt;
&lt;br /&gt;
=== Les problèmes d&#039;échantillonnages ===&lt;br /&gt;
&lt;br /&gt;
==== La population et l&#039;échantillonnage ====&lt;br /&gt;
&lt;br /&gt;
L&#039;échantillon doit couvrir toute la population (être représentatif, sinon on a une généralisation abusive). C&#039;est là le principal problème. (attention à : echantillon original biaisé, auto selection, echantillonnage par quotas...)&lt;br /&gt;
&lt;br /&gt;
==== La taille de l&#039;échantillon ====&lt;br /&gt;
&lt;br /&gt;
Il faut simuler des sondages et s&#039;assurer que la taille de l&#039;échantillon sera suffisante dans la plupart des cas. &lt;br /&gt;
Dans certains cas, on peut calculer une taille d&#039;échantillon, dans d&#039;autres cas, seule la simulation permet de conclure. &lt;br /&gt;
Attention, la méthode d&#039;échantillonage permet (et sert souvent) à réduire la taille de l&#039;échantillon sans dégrader la qualité des résultats.&lt;br /&gt;
&lt;br /&gt;
=== Les différents types classiques d&#039;échantillonnages ===&lt;br /&gt;
&lt;br /&gt;
==== Les échantillons aléatoires ====&lt;br /&gt;
&lt;br /&gt;
1. Tirages aléatoires simples  : il s&#039;applique pour l&#039;enquete transversale ou  encore longitudinale, il consiste à prendre, au hasard &amp;quot;n&amp;quot; individus dans le liste d&#039;une population &lt;br /&gt;
&lt;br /&gt;
2. Échantillon systématique : on prend la liste d&#039;une population et on prend un individu tous les &amp;quot;n&amp;quot;. On peut choisir le premier au hasard.&lt;br /&gt;
&lt;br /&gt;
3. Échantillon avec probabilité inégale : ( ex : si on veut connaitre le pourcentage de femmes dans une entraprise, on prend alors des entreprises au hasard mais pas avec une probabilité uniforme, avec par exemple une probabilité proportionelle à la taille ).&lt;br /&gt;
&lt;br /&gt;
4. Échantillon stratifié : on découpe la population en fonction des critères que l&#039;on a déja identifié,on obtient alors des strates et on prend ensuite un échantillon pour chaque strates&lt;br /&gt;
&lt;br /&gt;
5. Échantillon par grappes : on découpe la population en grappe, on choisit aléatoirement un echantillon pour chaque grappe et enfin on interroge toutes les personnes de chaque grappe&lt;br /&gt;
&lt;br /&gt;
6. Échantillon à plusieurs degrés : on découpe la population en groupe, en sous groupe, en &amp;quot;sous-sous&amp;quot; groupe ... d degrés.&lt;br /&gt;
&lt;br /&gt;
7. Échantillon à plusieurs phases :on prend un echantillon qui contient des individus externe à la population que l&#039;on veut observer et on fait notre questionnaire en 2 parties: si l&#039;individu fait parti de la population que l&#039;on veut observer alors on continue le questionnaire.&lt;br /&gt;
&lt;br /&gt;
==== Les échantillons empiriques ====&lt;br /&gt;
&lt;br /&gt;
#Méthode des quotas : il faut disposer de stat de la population avant l&#039;enquete, on choisit des critères et on essaie d&#039;avoir le bon pourcentage pour chaque critères.&lt;br /&gt;
#Échantillon par choix raisonné : on selectionne un echantillon que l&#039;on considère représantatif &lt;br /&gt;
#Échantillon &amp;quot;aléatoire reconstitué&amp;quot; : on fait se déplacer l&#039;enqueteur au hasard dans la ville et il interroge des personnes au hasard.&lt;br /&gt;
#Échantillon de commodité ou volontaire : on prend les personnes que l&#039;on a sous la main.&lt;br /&gt;
&lt;br /&gt;
==== Correction du biais de non réponses ====&lt;br /&gt;
&lt;br /&gt;
== Les questionnaires ==&lt;br /&gt;
&lt;br /&gt;
=== Généralités ===&lt;br /&gt;
&lt;br /&gt;
Un instrument de mesure qui cherche à être précis et fiable et qui prend en compte l&#039;enquêté.&lt;br /&gt;
&lt;br /&gt;
Chaque question doit avoir un (et un seul) objectif précis et bien déterminé.&lt;br /&gt;
Les questions doivent être construite avec le plus grand soin pour éviter toutes erreurs...&lt;br /&gt;
&lt;br /&gt;
Il faut aussi s&#039;assurer (autant que possible) que l&#039;enquêté acceptera d&#039;aller jusqu&#039;au bout du questionnaire&lt;br /&gt;
et répondra avec sincérité.&lt;br /&gt;
&lt;br /&gt;
=== Questions ouvertes ou fermées ===&lt;br /&gt;
&lt;br /&gt;
Les deux types de questions ne sont pas équivalentes. Il n&#039;y a pas trop de problème pour l&#039;âge, mais c&#039;est plus &lt;br /&gt;
difficile pour des concepts comme l&#039;inflation (13% contre 21%).&lt;br /&gt;
 &lt;br /&gt;
* La question ouverte donne une grande liberté (impossible pour des sujets très généraux genre&lt;br /&gt;
&amp;quot;que pensez-vous de la paix dans le monde ?&amp;quot;). Réponses riches et diversifiées, mais parfois dur à grouper en classe et donc à analyser.&lt;br /&gt;
Repose trop sur la mémoire de l&#039;enquêté (risque d&#039;oublis d&#039;une possibilité pour certains et pas pour d&#039;autres).&lt;br /&gt;
* La question fermée (à choix multiples ou à choix unique) est plus facile à analyser, mais peut induire des biais (risque de désirabilité sociale, réponses peu réfléchies) mais il faut faire attention à ne pas être exhaustif.&lt;br /&gt;
&lt;br /&gt;
En général, on élabore des questions fermées à partir de questions ouvertes posées lors d&#039;une pré-enquête.  &lt;br /&gt;
&lt;br /&gt;
Précaution : exhaustivité et exclusion mutuelle. L&#039;item &amp;quot;autre&amp;quot; doit être évité sauf pour des cas exceptionnels.&lt;br /&gt;
&lt;br /&gt;
=== Type de questions ===&lt;br /&gt;
&lt;br /&gt;
==== Questions de comportements (Que font-ils ?) ====&lt;br /&gt;
&lt;br /&gt;
Problème des comportements génants : rendre la question acceptable, utiliser des procédures spécifiques (urne, isoloir, question indirecte ).&lt;br /&gt;
&lt;br /&gt;
Attention aux problèmes de mémoire : proposer des listes, des questions sur un passé récent.&lt;br /&gt;
&lt;br /&gt;
==== Questions d&#039;opinion (Que pensent-ils ?) ====&lt;br /&gt;
&lt;br /&gt;
On utilise des échelles unidimensionnelles (à deux ou plusieurs &#039;&#039;degrés&#039;&#039;), des mises en situation ou des classements.&lt;br /&gt;
&lt;br /&gt;
Position intermédiaire : veut-on connaître les indécis ou forcer à prendre partie. &lt;br /&gt;
&lt;br /&gt;
Sans opinion : attention, la formulation de la question peut beaucoup faire varier la proportion de sans opinion. L&#039;absence de&lt;br /&gt;
cette possibilité peut forcer l&#039;enquêté à répondre au hasard.&lt;br /&gt;
&lt;br /&gt;
Attention on veut bien demander ce que pense l&#039;interogé et pas ce que pense l&#039;interoogé sur l&#039;opinion des autres personnes.&lt;br /&gt;
&lt;br /&gt;
==== Questions d&#039;intentions (Que vont-ils faire ?) ====&lt;br /&gt;
&lt;br /&gt;
L&#039;enquêté est peu engagé par sa réponse d&#039;où une surestimation globale&lt;br /&gt;
de l&#039;action (surestimation des intentions d&#039;achats par exemple).&lt;br /&gt;
&lt;br /&gt;
==== Questions de connaissances (Que savent-ils ?) ====&lt;br /&gt;
&lt;br /&gt;
L&#039;enquêté risque de ne pas oser la non-réponse. Il faut utiliser des formulations plus acceptables : &amp;quot;Sauriez-vous par hasard...&amp;quot;.&lt;br /&gt;
Introduire des questions faciles et éventuellement des fausses réponses (auteur ou livre inexistant)&lt;br /&gt;
&lt;br /&gt;
==== Renseignements signalétiques (Qui sont-ils ?) ====&lt;br /&gt;
&lt;br /&gt;
* Recoupement possible avec des données existantes (par exemple en utilisant les catégories socio-professionnelles de l&#039;INSEE)&lt;br /&gt;
* Souvent des variables importantes dans les hypothèses de l&#039;enquête.&lt;br /&gt;
&lt;br /&gt;
=== Questions indirectes ===&lt;br /&gt;
&lt;br /&gt;
* Mise en situation&lt;br /&gt;
* Association de mots (liste ouverte ou fermée)&lt;br /&gt;
* Phrases à compléter&lt;br /&gt;
* Bulle de BD à compléter&lt;br /&gt;
&lt;br /&gt;
=== Qualités des questions ===&lt;br /&gt;
&lt;br /&gt;
* Neutralité : tendance à l&#039;acquiescement, ...,question chargée (pas toujours un défaut) (= question biaisée : &amp;quot;etes vous en faveur de l&#039;assassinat d&#039;un bébé dans le ventre de sa mère?)&lt;br /&gt;
* Être compris : niveau, intérêt (filtrage), vocabulaire (bon sens, sens multiple, confusion, ambiguité, non familier, vague, interpretation contradictoire), question complexe&lt;br /&gt;
* Économie globale du questionnaire : ordre, transition, effet de halo, taille, présentation, frontiere nette des reponses (je ne peux pas associer une modalité à une autre, pas de chevauchement)&lt;br /&gt;
* Experience personnelle, diverse des individus.&lt;br /&gt;
* Effet de l&#039;ordre des questions : effet de rapport, effet de fatigue , effet de deliberation  (une modalité peut être avantagée si elle est enoncée en premier ou si elle est enoncée en dernier)&lt;br /&gt;
* Les possibilités de réponses : eviter de proposer plus de 5 modalités (ex: choix entre 0 et 10 ), choix d&#039;integrer une reponse mediane ou non.&lt;br /&gt;
&lt;br /&gt;
=== Analyse du questionnaire ===&lt;br /&gt;
 - ACM&lt;br /&gt;
 - scinder la population de la bonne manière&lt;br /&gt;
 - analyse d&#039;indépendance: il faut estimer les 2 variables avec le même effort,la même rigueur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;2 types de classification:&#039;&#039;&#039;&lt;br /&gt;
   - classification discrète/continue&lt;br /&gt;
   - classification qualitative/quantitative&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;3 types de questions et VA:&#039;&#039;&#039;&lt;br /&gt;
   - énumérative&lt;br /&gt;
   - ordinale&lt;br /&gt;
   - numérique&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;numérique:&#039;&#039;&#039; classification de type quantitative.La somme et /ou la différence ont un sens.La moyenne aussi.VA sont dans (R,+).&lt;br /&gt;
 &#039;&#039;&#039;ordinale:&#039;&#039;&#039; La somme et la différence n&#039;ont pas de sens mais l&#039;ordre a un sens.&lt;br /&gt;
  Exemple: 1- Très satisfait&lt;br /&gt;
           2- Satisfait&lt;br /&gt;
           3- ...&lt;br /&gt;
           6- Pas du tout satisfait&lt;br /&gt;
La moyenne n&#039;a ici pas de sens.Mais la médiane garde du sens(écart interquartile).&lt;br /&gt;
 &#039;&#039;&#039;énumérative:&#039;&#039;&#039;  C&#039;est tout le reste!&lt;br /&gt;
Exemples: couleur,goût,partis politiques,opinions politiques...&lt;br /&gt;
On peut juste se poser des questions sur la distribution elle-même.&lt;br /&gt;
&lt;br /&gt;
 -essayer d&#039;avoir le plus d&#039;informations possibles pour chaque sous-adjectif.&lt;br /&gt;
numérique &amp;gt; ordinale &amp;gt; énumérative&lt;br /&gt;
&lt;br /&gt;
== Techniques informatiques modernes de collecte ==&lt;br /&gt;
&lt;br /&gt;
== Traitement et analyse statistique des données ==&lt;br /&gt;
&lt;br /&gt;
== Programme de TD et TP du second semestre ==&lt;br /&gt;
&lt;br /&gt;
[http://www.lama.univ-savoie.fr/~raffalli/pdfs/enquete-0427.odt Questionnaire étudiants au format open office]&lt;br /&gt;
[http://www.lama.univ-savoie.fr/~raffalli/pdfs/enquete-0427.doc Questionnaire étudiants au format word]  au 27 avril&lt;br /&gt;
&lt;br /&gt;
Pour info les vieux fichiers : &lt;br /&gt;
&lt;br /&gt;
[http://www.lama.univ-savoie.fr/~raffalli/pdfs/enquete-0421.odt Questionnaire étudiants au format open office]&lt;br /&gt;
[http://www.lama.univ-savoie.fr/~raffalli/pdfs/enquete-0421.doc Questionnaire étudiants au format word]  au 21 avril&lt;br /&gt;
&lt;br /&gt;
[http://www.lama.univ-savoie.fr/~raffalli/pdfs/enquete-0420.odt Questionnaire étudiants au format open office]&lt;br /&gt;
[http://www.lama.univ-savoie.fr/~raffalli/pdfs/enquete-0420.doc Questionnaire étudiants au format word]  au 20 avril&lt;br /&gt;
&lt;br /&gt;
Semaine 5 : préparation du questionnaire pour le projet&lt;br /&gt;
&lt;br /&gt;
Semaine 7 en salle machine : étude des estimateurs de la moyenne, de la variance et de la médiane.&lt;br /&gt;
&lt;br /&gt;
Semaine 9 : découverte et application d&#039;un test  &lt;br /&gt;
&lt;br /&gt;
Semaine 11 : feuille de TD sur le cours&lt;br /&gt;
&lt;br /&gt;
TP 1 (2H, semaine 6 ou après) : mise en place du questionnaire en php+mysql et des tests.&lt;br /&gt;
&lt;br /&gt;
TP 2 (2H) : faire l&#039;enquête sur le campus.&lt;br /&gt;
&lt;br /&gt;
TP 3 (2H) : on verra ...&lt;br /&gt;
&lt;br /&gt;
[http://cvresumewritingservices.org/ resume service]&lt;/div&gt;</summary>
		<author><name>Quentinscott</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=MATH206_:_Probabilit%C3%A9s_et_Statistiques&amp;diff=5235</id>
		<title>MATH206 : Probabilités et Statistiques</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=MATH206_:_Probabilit%C3%A9s_et_Statistiques&amp;diff=5235"/>
		<updated>2011-05-30T10:07:14Z</updated>

		<summary type="html">&lt;p&gt;Quentinscott : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Feuilles de TD : &lt;br /&gt;
[http://www.lama.univ-savoie.fr/~raffalli/pdfs/TD1-MATH206.pdf 1] &lt;br /&gt;
[http://www.lama.univ-savoie.fr/~raffalli/pdfs/TD2-MATH206.pdf 2] &lt;br /&gt;
[http://www.lama.univ-savoie.fr/~raffalli/pdfs/TD3-MATH206.pdf 3] &lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Statistique descriptive: décrire avec le moins possible de nombres (ou avec un graphique) des données constituées&lt;br /&gt;
d&#039;un (très) grand nombre de valeur.&lt;br /&gt;
&lt;br /&gt;
Probabilité: prédire la description précédente sans faire de mesure (à l&#039;aide d&#039;hypothèses).&lt;br /&gt;
&lt;br /&gt;
Statistique mathématique ou inférentielle: comparer la prédiction à la mesure et confirmer ou infirmer des hypothèses scientifiques.&lt;br /&gt;
&lt;br /&gt;
Exemple du dé juste.&lt;br /&gt;
&lt;br /&gt;
==Vocabulaire de probabilité==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Population &#039;&#039;&#039; : Groupe d&#039;objets étudiés. Elle peut-être :&lt;br /&gt;
**&amp;quot;réelle&amp;quot; : les Français, les étudiants de ce cours...&lt;br /&gt;
** &amp;quot;virtuelle&amp;quot; : l&#039;ensemble des lancés de dés possibles...&lt;br /&gt;
* &#039;&#039;&#039;Sous-population, échantillon &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Expérience &#039;&#039;&#039; : Choisir un élément dans une population.&lt;br /&gt;
* &#039;&#039;&#039;Evénement&#039;&#039;&#039; : L&#039;événement se produit lorsque l&#039;élément appartient à la sous-population.&lt;br /&gt;
* &#039;&#039;&#039;Partition &#039;&#039;&#039; : Découpage d&#039;un ensemble en plusieurs sous-ensembles disjoints.&lt;br /&gt;
* &#039;&#039;&#039;Cardinal &#039;&#039;&#039; : Nombre d&#039;éléments d&#039;un ensemble.&lt;br /&gt;
* &#039;&#039;&#039;Fréquence &#039;&#039;&#039; d&#039;un sous ensemble A &amp;amp;sub; &amp;amp;Omega; : &amp;lt;math&amp;gt; F(A)=\frac{\displaystyle {card(A)}}{\displaystyle{card}(\Omega)} &amp;lt;/math&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Variable aléatoire &#039;&#039;&#039; et &#039;&#039;&#039; Série statistique &#039;&#039;&#039; : Application d&#039;une population &amp;amp;Omega; dans un ensemble &#039;&#039;G&#039;&#039; quelconque.&lt;br /&gt;
&lt;br /&gt;
==Estimateur ponctuel==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Moyenne &#039;&#039;&#039;  et &#039;&#039;&#039;espérance&#039;&#039;&#039; (rappel et &amp;quot;sens&amp;quot;)&lt;br /&gt;
Formule de la moyenne (resp. espérance) d&#039;une série statistique (resp. variable aléatore) X sur un population &amp;lt;math&amp;gt;\Omega&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle M(X) = E(X) = \frac{\sum_{i \in \Omega} X_i}{Card(\Omega)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: pour avoir le droit d&#039;écrire &amp;lt;math&amp;gt;E(X)&amp;lt;/math&amp;gt; il faut que &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; soit une variable aléatoire numérique, c-à-d une application de &amp;lt;math&amp;gt;\Omega&amp;lt;/math&amp;gt; dans &amp;lt;math&amp;gt;\mathbb{R}&amp;lt;/math&amp;gt; (remarque hors programme : un espace vectoriel suffirait).&lt;br /&gt;
 &lt;br /&gt;
La moyenne est le nombre x qui remplace le mieux &amp;lt;math&amp;gt;X_i&amp;lt;/math&amp;gt; pour l&#039;ensemble de la population quand on regarde l&#039; &#039;&#039;&#039;erreur quadratique&#039;&#039;&#039;&lt;br /&gt;
donnée par la formule suivante (preuve facile en dérivant f):&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle f(x) = \sum_{i \in \Omega} (X_i - x)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On définit deux types d&#039;erreurs : &lt;br /&gt;
# &#039;&#039;&#039; l&#039;erreur absolue &#039;&#039;&#039; : &amp;lt;math&amp;gt; \sum_{i \in \Omega} \mid X_i -x \mid &amp;lt;/math&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039; l&#039;erreur quadratique &#039;&#039;&#039; : &amp;lt;math&amp;gt; \sum_{i \in \Omega} (X_i -x)^2 &amp;lt;/math&amp;gt;&lt;br /&gt;
On choisit la seconde car la première est plus compliquée. &lt;br /&gt;
&lt;br /&gt;
L&#039;erreur quadratique est aussi liée à la variance V(X) car:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle V(X) = \frac{\sum_{i \in \Omega} (X_i - E(X))^2}{Card(\Omega)} = \frac{f(E(x))}{Card(\Omega)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Propriété de la moyenne (linéarité) : &amp;lt;math&amp;gt;E(X + Y) = E(X) + E(Y)&amp;lt;/math&amp;gt; et &amp;lt;math&amp;gt;E(aX) = aE(X)&amp;lt;/math&amp;gt;.&lt;br /&gt;
* Propriété de la variance : &amp;lt;math&amp;gt;V(X) = E(X^2) - E(X)^2&amp;lt;/math&amp;gt; et &amp;lt;math&amp;gt;V(aX) = a^2 V(X)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notation:&lt;br /&gt;
*&amp;lt;math&amp;gt;i \mapsto ...&amp;lt;/math&amp;gt; désigne la fonction qui a &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; associe le contenu des trois petits points. Cela évite de donner des noms à toutes les fonctions (et donc toutes les variables alétoires) ou d&#039;utiliser trop de notations ambigües.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;u&amp;gt;Démonstration de &amp;lt;math&amp;gt;V(X) = E(X^2) - E(X)^2&amp;lt;/math&amp;gt;&amp;lt;/u&amp;gt;&lt;br /&gt;
 &amp;lt;math&amp;gt;\begin{align}V(X) &amp;amp;= \frac{\sum_{i \in \Omega} (X_i - E(X))^2}{Card(\Omega)} \\&lt;br /&gt;
                         &amp;amp;= E(i \mapsto (X_i - E(X))^2) \\&lt;br /&gt;
                         &amp;amp;= E(i \mapsto X_i^2 - 2 X_i E(X) + E(X)^2) \\&lt;br /&gt;
                         &amp;amp;= E(i \mapsto X_i^2) - 2 E(X) E(i \mapsto X_i) + E(i \mapsto E(X)^2) \\&lt;br /&gt;
                         &amp;amp;= E(X^2) - 2 E(X)^2 + E(X)^2 \\&lt;br /&gt;
                         &amp;amp;= E(X^2) - E(X)^2&lt;br /&gt;
 \end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Définition d&#039;estimateur et de biais : &lt;br /&gt;
&lt;br /&gt;
Un &#039;&#039;&#039;estimateur&#039;&#039;&#039; est une &amp;quot;formule&amp;quot; permettant de donner une bonne approximation d&#039;un paramètre statistique à partir de la variable aléatoire restreinte à un échantillon.&lt;br /&gt;
&lt;br /&gt;
Un estimateur estime un paramètre P(X) si il converge vers P(X) lorsque la taille de l&#039;échantillon tend vers la taille de la population&lt;br /&gt;
(cela n&#039;a de sens que sur les populations infinies ...)&lt;br /&gt;
&lt;br /&gt;
Un estimateur pour P(X) est &#039;&#039;&#039;sans biais&#039;&#039;&#039;, si son espérance est égale à P(X) lorsqu&#039;on le considère comme une variable aléatoire sur la population des échantillons de taille n fabriquées à partir de &amp;lt;math&amp;gt;\Omega&amp;lt;/math&amp;gt; (notée &amp;lt;math&amp;gt;\Omega^{(n)}&amp;lt;/math&amp;gt; si il s&#039;agit d&#039;échantillon&lt;br /&gt;
sans répétition (ou remise) et sans ordre et &amp;lt;math&amp;gt;\Omega^{n}&amp;lt;/math&amp;gt; pour les échantillons avec répétitions (avec remise) et avec ordre).&lt;br /&gt;
&lt;br /&gt;
Notation:&lt;br /&gt;
*&amp;lt;math&amp;gt;\hat{P}(X)&amp;lt;/math&amp;gt; désigne la valeur du paramètre statistique &amp;lt;math&amp;gt;P&amp;lt;/math&amp;gt; sur un échantillon (ici implicite).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt; Estimateur de la moyenne :&amp;lt;/u&amp;gt; la moyenne sur l&#039;échantillon est un estimateur sans biais de la moyenne sur la population entière.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;u&amp;gt;Démonstration :&amp;lt;/u&amp;gt;&lt;br /&gt;
 Soit &amp;lt;math&amp;gt;(A_1;...;A_n)&amp;lt;/math&amp;gt; l&#039;échantillon (avec ou sans répétition, la preuve est identique) et &lt;br /&gt;
 &amp;lt;math&amp;gt;\hat{E}(X)=\frac{\sum_{i = 1}^n X_{A_i}}{n} &amp;lt;/math&amp;gt; la moyenne sur l&#039;échantillon. &lt;br /&gt;
 On a:&lt;br /&gt;
 &amp;lt;math&amp;gt;\begin{align}E(\hat{E}(X)) &amp;amp;= E\left(A \mapsto \frac{\sum_{i = 1}^n X_{A_i}}{n}\right) \\&lt;br /&gt;
                                           &amp;amp;= \frac{1}{n} \sum_{i = 1}^n E(A \mapsto X_{A_i}) \\  &lt;br /&gt;
                                           &amp;amp;= \frac{1}{n} n E(X) = E(X)\end{align}  &amp;lt;/math&amp;gt;&lt;br /&gt;
 Explication:&lt;br /&gt;
 - La première égalité est juste le remplacement de &amp;lt;math&amp;gt;\hat{E}(X)&amp;lt;/math&amp;gt; par sa &#039;&#039;vraie&#039;&#039; définition, &lt;br /&gt;
 c&#039;est à dire la variable aléatoire qui à l&#039;échantillon &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; associe la moyenne de &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt;&lt;br /&gt;
 sur cet échantillon.&lt;br /&gt;
 - La seconde égalité est juste la linéarité de l&#039;espérance. On doit numéroter les éléments de l&#039;échantillon&lt;br /&gt;
 pour pouvoir faire cette étape sinon la preuve n&#039;est pas tout à fait correcte. &lt;br /&gt;
 - La troisième égalité vient du fait que pour chaque &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; on a &amp;lt;math&amp;gt;E(A \mapsto X_{A_i}) = E(X)&amp;lt;/math&amp;gt;.&lt;br /&gt;
 C&#039;est intuitivement vrai, car prendre un échantillon de taille &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; pour ne retenir que sa i-ème valeur,&lt;br /&gt;
 revient à juste prendre un individu. Si vous n&#039;êtes pas convaincu, faite le calcul !&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;u&amp;gt;Estimateur de la variance (avec et sans remise) :&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si on note &amp;lt;math&amp;gt;\hat{V}(X)&amp;lt;/math&amp;gt; la variance d&#039;un échantillon de taille n dans une population de taille N, on obtient un estimateur sans biais &lt;br /&gt;
de la variance avec les formules suivantes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle \frac{n}{n-1}\hat{V}(X)&amp;lt;/math&amp;gt; dans le cas de tirage avec remise de l&#039;échantillon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle \frac{N-1}{N} \frac{n}{n-1}\hat{V}(X)&amp;lt;/math&amp;gt; dans le cas de tirage sans remise (qui vaut bien &amp;lt;math&amp;gt;\sigma^2&amp;lt;/math&amp;gt; lorque n = N).&lt;br /&gt;
 &amp;lt;u&amp;gt;Démonstration :&amp;lt;/u&amp;gt;&lt;br /&gt;
 &#039;&#039; Calcul préalable : &#039;&#039; Soit X une variable aléatoire sur &amp;amp;Omega;, On définit &amp;lt;math&amp;gt;Y = (i,j) \mapsto X_i X_j&amp;lt;/math&amp;gt; la variable aléatoire sur &lt;br /&gt;
 &amp;lt;math&amp;gt;\Omega \times \Omega&amp;lt;/math&amp;gt; (avec remise) ou sur &amp;lt;math&amp;gt;\Omega \times \Omega \setminus \{(i,i) \mid i \in \Omega\}&amp;lt;/math&amp;gt; (sans remise).&lt;br /&gt;
 * avec remise : &lt;br /&gt;
 &amp;lt;math&amp;gt;\begin{align} E(Y) &amp;amp;= \frac{1}{N^2} \left( \sum_{i,j \in \Omega} X_iX_j \right) \\&lt;br /&gt;
                                                    &amp;amp;= \frac{1}{N^2} \left( \sum_{i \in \Omega} X_i \sum_{j \in \Omega} X_j \right) \\&lt;br /&gt;
                                                    &amp;amp;=E(X)^2 &lt;br /&gt;
                           \end{align} &amp;lt;/math&amp;gt;&lt;br /&gt;
 * sans remise : &lt;br /&gt;
 &amp;lt;math&amp;gt;\begin{align} E(Y) &lt;br /&gt;
                &amp;amp;=\frac{\sum_{i,j \in \Omega ; i \neq j }X_iX_j}{N^2 - N} \\&lt;br /&gt;
                &amp;amp;=\frac{\sum_{i,j \in \Omega}X_iX_j - \sum_{i \in \Omega}X_i^2}{N(N-1)} \\&lt;br /&gt;
                &amp;amp;=\frac{ \left( \sum_{i \in \Omega} X_i \right) ^2 - \sum_{i \in \Omega }X_i^2}{N(N-1)} \\&lt;br /&gt;
                &amp;amp;= E(X)^2 \frac{N}{N-1} - \frac{E(X^2)}{N-1}&lt;br /&gt;
          \end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
 &#039;&#039; Fin de la démonstration :&#039;&#039; Soit &amp;amp;Omega; une population de taille N, soit X une variable aléatoire sur &amp;amp;Omega;, on s&#039;intéresse aux échantillons de taille n. &lt;br /&gt;
 On a V(X) variance de la population et &amp;lt;math&amp;gt;\hat{V}(X)&amp;lt;/math&amp;gt; la variance d&#039;un échantillon &amp;lt;math&amp;gt;A = \{a_1,\dots,a_n\}&amp;lt;/math&amp;gt; de taille&lt;br /&gt;
 &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;. Là encore, la notation &amp;lt;math&amp;gt;\hat{V}(X)&amp;lt;/math&amp;gt; ne fait pas appraître le fait que cette quantité dépend de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. On a &lt;br /&gt;
 &amp;lt;math&amp;gt;\begin{align}\hat{V}(X) &amp;amp;= \hat{E}(X^2) - \hat{E}(X)^2 \\&lt;br /&gt;
                               &amp;amp;= \frac{1}{n} \sum_{i = 1}^n X_{a_i}^2  - \frac{1}{n^2} \sum_{1 \leq i, j \leq n} X_{a_i}X_{a_j} \\&lt;br /&gt;
                               &amp;amp;= \frac{n-1}{n^2} \sum_{i = 1}^n X_{a_i}^2  - \frac{1}{n^2} \sum_{1 \leq i \neq j \leq n} X_{a_i}X_{a_j} &lt;br /&gt;
          \end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
 D&#039;où&lt;br /&gt;
 &amp;lt;math&amp;gt;\begin{align} E(A \mapsto \hat{V}(X)) &lt;br /&gt;
  &amp;amp;=\frac{n-1}{n^2} \sum_{i = 1}^n E(A \mapsto X_{a_i}^2) - \frac{1}{n^2} \sum_{1 \leq i \neq j \leq n} E(A \mapsto X_{a_i}X_{a_j}) \\&lt;br /&gt;
  &amp;amp;=\frac{n-1}{n} E(X^2) - \frac{n-1}{n} E(Y)&lt;br /&gt;
 \end{align}&amp;lt;/math&amp;gt; &lt;br /&gt;
 Pour finir, on utilise le résultat du calcul préalable.&lt;br /&gt;
 * avec remise : &amp;lt;math&amp;gt; E(A \mapsto \hat{V}(X))= \frac{n-1}{n} (E(X^2) - E(X)^2)= \frac{n-1}{n} V(X) &amp;lt;/math&amp;gt;&lt;br /&gt;
 * sans remise : &amp;lt;math&amp;gt; E(A \mapsto \hat{V}(X))= \frac{n-1}{n} (E(X^2) - E(X)^2 \frac{N}{N-1} + \frac{E(X^2)}{N-1})= \frac{n-1}{n} \frac{N}{N-1}V(X) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On prend donc en général, pour estimateur sans biais de V(X) sur un échantillon &amp;lt;math&amp;gt;A \subset \Omega&amp;lt;/math&amp;gt; la valeur appelée variance empirique de Y : &lt;br /&gt;
&amp;lt;math&amp;gt;\displaystyle \sigma&#039;^2 = \frac{1}{Card(A)-1}\sum_{i \in A} (y_i - \overline y)^2&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque: pour faire le calcul pour l&#039;estimateur de variance, le point principal est de calculer l&#039;espérance de &amp;lt;math&amp;gt;X_1X_2&amp;lt;/math&amp;gt; où &amp;lt;math&amp;gt;X_1&amp;lt;/math&amp;gt; et &amp;lt;math&amp;gt;X_2&amp;lt;/math&amp;gt; sont deux variables aléatoires obtenues à partir d&#039;une variable aléatoire X en choisissant deux individus au hasard. On a besoin de faire ce calcul à la fois pour un choix de deux individus avec remise et sans remise.&lt;br /&gt;
&lt;br /&gt;
==Un peu de dénombrement==&lt;br /&gt;
&lt;br /&gt;
* Cardinal du &#039;&#039;&#039;produit cartésien &#039;&#039;&#039;: le produit des cardinaux.&lt;br /&gt;
&lt;br /&gt;
* Tirage &#039;&#039;&#039;sans ordre et sans remise &#039;&#039;&#039; de p parmi n, c-à-d nombre de parties à p éléments d&#039;un ensemble à n éléments : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\displaystyle C^p_n&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
          &amp;lt;u&amp;gt;Démonstration :&amp;lt;/u&amp;gt;&lt;br /&gt;
          On veut choisir p+1 éléments parmi n+1, sans ordre, sans remise. Soit &amp;lt;math&amp;gt; E_n^p &amp;lt;/math&amp;gt; l&#039;ensemble des parties à p éléments de {1;...;n}.&lt;br /&gt;
          &amp;lt;math&amp;gt; E_{n+1}^{p+1}= F_{n+1}^{p+1} \cup G_{n+1}^{p+1}&amp;lt;/math&amp;gt; de sorte que &amp;lt;math&amp;gt; F_{n+1}^{p+1} &amp;lt;/math&amp;gt; est l&#039;ensemble des p+1 éléments qui contiennent n+1,&lt;br /&gt;
          et &amp;lt;math&amp;gt; G_{n+1}^{p+1} &amp;lt;/math&amp;gt; est l&#039;ensemble des p+1 éléments qui ne contiennent pas n+1. On a &amp;lt;math&amp;gt; F_{n+1}^{p+1} \cap G_{n+1}^{p+1} = \emptyset&amp;lt;/math&amp;gt;. &lt;br /&gt;
          D&#039;autre part &amp;lt;math&amp;gt; G_{n+1}^{p+1}=E_{n}^{p+1} &amp;lt;/math&amp;gt;. Soit f: &amp;lt;math&amp;gt; E_n^p \rightarrow F_{n+1}^{p+1}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; card(E_{n+1}^{p+1})=card(E_n^p) + card(E_n^{p+1})&amp;lt;/math&amp;gt;&lt;br /&gt;
          &#039;&#039;Remarque : &#039;&#039; Deux ensembles en bijection ont le même cardinal.&lt;br /&gt;
&lt;br /&gt;
* Tirage &#039;&#039;&#039;avec ordre et sans remise &#039;&#039;&#039; de p parmi n, c-à-d nombre de p-uplets d&#039;un ensemble à n éléments (nombre d&#039;injections de {1;...;p} dans un ensemble à n éléments) : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;\displaystyle A^p_n&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
          &amp;lt;u&amp;gt;Démonstration:&amp;lt;/u&amp;gt;&lt;br /&gt;
          Soit &amp;lt;math&amp;gt; A_n^p &amp;lt;/math&amp;gt; le nombre d&#039;injection, &amp;lt;math&amp;gt; A_n^1=n &amp;lt;/math&amp;gt; et &amp;lt;math&amp;gt; A_{n+1}^{p+1}=(n+1) \times A_n^p&amp;lt;/math&amp;gt;. &lt;br /&gt;
          D&#039;où &amp;lt;math&amp;gt; A_n^p= n A_{n-1}^{p-1}=n(n-1)(n-2) ... (n-p+1) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tirage &#039;&#039;&#039;avec ordre et avec remise &#039;&#039;&#039; de p parmi n, c-à-d nombre de tirage avec remise et avec ordre de p-élemnts parmis n (nombre d&#039;applications de  {1;...;p} dans un ensemble à n éléments) : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;n^p&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
          &amp;lt;u&amp;gt;Démonstration :&amp;lt;/u&amp;gt;&lt;br /&gt;
          &amp;lt;math&amp;gt; card(E \times E \times E \times ... \times E)=(cardE)^p=n^p &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tirage &#039;&#039;&#039;sans ordre et avec remise &#039;&#039;&#039; de p parmi n : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\displaystyle  C^{p}_{n+p-1} = C^{n-1}_{n+p-1}&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
          &amp;lt;u&amp;gt;Démonstration : &amp;lt;/u&amp;gt;&lt;br /&gt;
          On place n-1 jetons dans n+p-1 cases, il reste p cases libres. Il y a &amp;lt;math&amp;gt; C_{n+p-1}^{n-1}=C_{n-1+p}^{p}&amp;lt;/math&amp;gt; choix. &lt;br /&gt;
          Soit f: &amp;lt;math&amp;gt; E \rightarrow \begin{Bmatrix}0;\dots;p\end{Bmatrix} &amp;lt;/math&amp;gt; soit f associe à x le nombre de fois où x a été choisi. &lt;br /&gt;
         On a &amp;lt;math&amp;gt; \sum_{x \in E} f(x)=p&amp;lt;/math&amp;gt;, ce qui revient à n-1 jetons et p cases vides.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;u&amp;gt;Choix de p éléments parmi n &amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;th&amp;gt; Ordre\Remise &amp;lt;/th&amp;gt; &amp;lt;th&amp;gt; Sans (0&amp;amp;le;p&amp;amp;le;n) &amp;lt;/th&amp;gt; &amp;lt;th&amp;gt; Avec (0&amp;amp;le;p)&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;th&amp;gt; Sans &amp;lt;/th&amp;gt; &amp;lt;td&amp;gt; &amp;lt;math&amp;gt;\displaystyle C^p_n&amp;lt;/math&amp;gt; &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; &amp;lt;math&amp;gt;\displaystyle C^p_{n+p-1}&amp;lt;/math&amp;gt;&amp;lt;/td&amp;gt; &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;th&amp;gt; Avec &amp;lt;/th&amp;gt; &amp;lt;td&amp;gt; &amp;lt;math&amp;gt;\displaystyle A^p_n&amp;lt;/math&amp;gt; &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; &amp;lt;math&amp;gt; n^p &amp;lt;/math&amp;gt; &amp;lt;/td&amp;gt; &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039; Rappel des formules usuelles pour les coefficients binomiaux :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* avec factorielle : &amp;lt;math&amp;gt;\displaystyle C^p_n = \frac{A^p_n}{p!} = \frac{n!}{(n-p)!p!} = \frac{n(n-1)...(n-p+1)}{p!}&amp;lt;/math&amp;gt;&lt;br /&gt;
* triangle de Pascal : &amp;lt;math&amp;gt;\displaystyle C^0_n = C^n_n = 1,  C^{n-p}_n = C^p_n&amp;lt;/math&amp;gt; et &amp;lt;math&amp;gt;\displaystyle C^{p+1}_{n+1} = C^p_n + C^{p+1}_n (0 \leq p \leq n - 1)&amp;lt;/math&amp;gt;&lt;br /&gt;
* Formule du binôme de Newton et applications comme &amp;lt;math&amp;gt;\displaystyle \sum_{p=0}^n C^p_n = 2^n&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
          &amp;lt;u&amp;gt;Démonstration : &amp;lt;/u&amp;gt;&lt;br /&gt;
          Soit &amp;lt;math&amp;gt; f(x)=(x+1)^n &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; f(x)= \sum_{p=0}^n C_n^p x^p&amp;lt;/math&amp;gt;. En particulier, f(1)=2&amp;lt;sup&amp;gt;n&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Probabilité et lois usuelles==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Probabilité &#039;&#039;&#039; (ou loi de probabilité) sur un ensemble &amp;lt;math&amp;gt;\Omega&amp;lt;/math&amp;gt;: un nombre associé P(E) aux sous-ensembles &amp;lt;math&amp;gt;E \subset \Omega&amp;lt;/math&amp;gt; d&#039;un ensemble (pas toujours tous les sous-ensembles) tel que :&lt;br /&gt;
** &amp;lt;math&amp;gt;P(\emptyset) = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;P(\Omega) = 1&amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt;P(E \cup F) = P(E) + P(F)&amp;lt;/math&amp;gt; si &amp;lt;math&amp;gt;E \cap F = \emptyset&amp;lt;/math&amp;gt;&lt;br /&gt;
:: &#039;&#039; Conséquences : &#039;&#039; &lt;br /&gt;
:::&amp;amp;mu; (A &amp;lt;sup&amp;gt;C&amp;lt;/sup&amp;gt;)=1- &amp;amp;mu; (A) &lt;br /&gt;
::: &amp;lt;math&amp;gt;[(A \Rightarrow B) \Leftrightarrow (A \subset B)] \Rightarrow \mu (B) \geq \mu (A)&amp;lt;/math&amp;gt;&lt;br /&gt;
::: &amp;lt;math&amp;gt; \mu (A \cup B)= \mu (A) + \mu (B) - \mu (A \cap B)&amp;lt;/math&amp;gt; si A et B non disjoints.&lt;br /&gt;
* &#039;&#039;&#039; Évènements = Sous-ensemble &#039;&#039;&#039; . Evénements certains, impossibles, incompatibles. Implication entre évènement et inégalité sur les probas.&lt;br /&gt;
* Cas des ensembles finis et probabilité uniforme :&lt;br /&gt;
: Pour &#039;&#039; définir une loi de probabilité sur un ensemble fini &#039;&#039; &amp;amp;Omega;, il suffit de donner la probabilité des singletons.&lt;br /&gt;
          &amp;lt;u&amp;gt;Démonstration : &amp;lt;/u&amp;gt;&lt;br /&gt;
          A={x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;;...;x&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;} avec n=card(A). A={x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;} &amp;amp;cup; {x&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;} &amp;amp;cup; ... &amp;amp;cup; {x&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;} où les singletons sont disjoints. &lt;br /&gt;
          D&#039;où &amp;amp;mu; (A)= &amp;amp;mu; (x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;) + ... + &amp;amp;mu; (x&amp;lt;sub&amp;gt;n&amp;lt;/sub&amp;gt;). Donner une loi sur &amp;amp;Omega; fini, c&#039;est donner &amp;amp;mu; (x) pour tout x de &amp;amp;Omega;.&lt;br /&gt;
&lt;br /&gt;
: La &#039;&#039; loi de probabilité uniforme &#039;&#039; sur &amp;amp;Omega; fini est l&#039;unique probabilité sur &amp;amp;Omega; telle que &amp;amp;mu; (x)=p pour tout x dans &amp;amp;Omega; avec &amp;lt;math&amp;gt;p=\frac{1}{card(\Omega)} &amp;lt;/math&amp;gt;.&lt;br /&gt;
          &amp;lt;u&amp;gt;Démonstration : &amp;lt;/u&amp;gt;&lt;br /&gt;
          &amp;amp;Omega; = {x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;;...;x&amp;lt;sub&amp;gt;N&amp;lt;/sub&amp;gt;} avec N=card(&amp;amp;Omega;). D&#039;où &amp;amp;mu; (&amp;amp;Omega;)= &amp;amp;mu; (x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;) + ... + &amp;amp;mu; (x&amp;lt;sub&amp;gt;N&amp;lt;/sub&amp;gt;)=Np. Or &amp;amp;mu; (&amp;amp;Omega;)=1. Donc p=1/N.&lt;br /&gt;
&lt;br /&gt;
: Si A &amp;amp;sub; &amp;amp;Omega; et &amp;amp;mu; est une loi de probabilité uniforme sur &amp;amp;Omega; alors &amp;lt;math&amp;gt;\mu (A)=\frac{ card(A) }{card( \Omega )} &amp;lt;/math&amp;gt;.&lt;br /&gt;
          &amp;lt;u&amp;gt;Démonstration : &amp;lt;/u&amp;gt;&lt;br /&gt;
          N=card(&amp;amp;Omega;) et n=card(A) où A={x&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt;;...; x&amp;lt;sub&amp;gt;n&amp;lt;/sub}. &lt;br /&gt;
          On a &amp;lt;math&amp;gt; \mu (A)= \sum_{i=1}^n \mu (x_i)=\sum_{i=1}^n \frac{1}{N}=\frac{n}{N}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Loi image &#039;&#039;&#039; (image réciproque d&#039;un ensemble &amp;amp;Omega; dans &amp;amp;Omega;&#039;) :&lt;br /&gt;
&lt;br /&gt;
Soit X une variable aléatoire sur &amp;amp;Omega;, à valeurs dans &amp;amp;Omega;&#039; (X fonction de &amp;amp;Omega; dans &amp;amp;Omega;&#039;). On a une loi &amp;amp;mu; sur &amp;amp;Omega;. On construit une loi sur &amp;amp;Omega;&#039;, image de &amp;amp;mu; par X et notée &amp;amp;mu;&amp;lt;sub&amp;gt;X&amp;lt;/sub&amp;gt;. On a pour A inclus dans &amp;amp;Omega; &amp;amp;mu; (A)=&amp;amp;mu; (X&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt;(A)).&lt;br /&gt;
&lt;br /&gt;
Si &amp;amp;Omega; est un ensemble ordonné et &amp;amp;mu; une loi sur &amp;amp;Omega;, on définit F la &#039;&#039;&#039; fonction de répartition &#039;&#039;&#039; telle que &amp;lt;math&amp;gt; x \in \Omega , F(x)= \mu ( \{ a \in \Omega \mid a \leq x \} )&amp;lt;/math&amp;gt;. F est croissante et tend vers 1.&lt;br /&gt;
          &amp;lt;u&amp;gt;Démonstration :&amp;lt;/u&amp;gt;&lt;br /&gt;
          Si x &amp;amp;le; y &amp;amp;isin; &amp;amp;Omega; et  {a/ a &amp;amp;le; x} &amp;amp;sub; {a/a &amp;amp;le; y } alors &amp;amp;mu; ({a/a &amp;amp;le; x}) &amp;amp;le; &amp;amp;mu; ({a/a &amp;amp;le; y}); d&#039;où F(x) &amp;amp;le; F(y).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Variable aléatoire discrète &#039;&#039;&#039;  &lt;br /&gt;
* Lois discrètes usuelles&lt;br /&gt;
** &#039;&#039;&#039;Loi indicatrice&#039;&#039;&#039; ou &#039;&#039;&#039;loi de Bernouilli &#039;&#039;&#039; (I(p)) : &lt;br /&gt;
&lt;br /&gt;
Soit X une variable aléatoire sur &amp;amp;Omega; à valeurs dans {0;1}. X(x)=1 si et seulement si x &amp;amp;isin; E &amp;amp;sub; &amp;amp;Omega; (E=X&amp;lt;sup&amp;gt;-1&amp;lt;/sup&amp;gt;(1)).&lt;br /&gt;
&lt;br /&gt;
Cette loi est déterminée par &amp;amp;mu; &amp;lt;sub&amp;gt; X &amp;lt;/sub&amp;gt; (1)= &amp;amp;mu; (E)=p (d&#039;où &amp;amp;mu; &amp;lt;sub&amp;gt; X &amp;lt;/sub&amp;gt; (0)= &amp;amp;mu; (E&amp;lt;sup&amp;gt;C&amp;lt;/sup&amp;gt;)=1-p).&lt;br /&gt;
&lt;br /&gt;
::: Espérance : E(X)=p&lt;br /&gt;
::: Variance : V(X)=p(1-p)&lt;br /&gt;
::: Ecart-type : &amp;lt;math&amp;gt;\sigma (X)=\sqrt{p(1-p)} &amp;lt;/math&amp;gt;&lt;br /&gt;
          &lt;br /&gt;
** &#039;&#039;&#039;Loi de Pascal&#039;&#039;&#039; (Pa(p)) :&lt;br /&gt;
&lt;br /&gt;
&amp;amp;Omega; est muni d&#039;une loi uniforme, E &amp;amp;isin; &amp;amp;Omega; est un événement. On réalise plusieurs expériences &#039;&#039; indépendantes&#039;&#039; jusqu&#039;à obtenir un succès. Soit X le nombre total d&#039;expériences (succès inclus). X est à valeurs dans lN*.&lt;br /&gt;
&lt;br /&gt;
Cette loi est déterminée par &amp;amp;mu; (E)=p &amp;amp;isin; ]0;1[; &amp;amp;mu; (X=k)=(1-p) &amp;lt;sup&amp;gt;k-1&amp;lt;/sup&amp;gt;p &amp;amp;isin; ]0;1[.&lt;br /&gt;
&lt;br /&gt;
::: Espérance : E(X)=1/p&lt;br /&gt;
::: Variance : V(X)=(1-p)/(p&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)&lt;br /&gt;
::: Ecart-type : &amp;lt;math&amp;gt;\sigma (X)=\sqrt{1-p}/p &amp;lt;/math&amp;gt;&lt;br /&gt;
** Loi binomiale&lt;br /&gt;
** Loi hypergéométrique&lt;br /&gt;
** Loi de Poisson&lt;br /&gt;
* Lois continues&lt;br /&gt;
&lt;br /&gt;
==Théorème de la limite centrale==&lt;br /&gt;
&lt;br /&gt;
==Intervalle de confiance==&lt;br /&gt;
&lt;br /&gt;
[http://cvresumewritingservices.org/ Resumes]&lt;/div&gt;</summary>
		<author><name>Quentinscott</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO913_:_Cryptologie_et_s%C3%A9curit%C3%A9_informatique&amp;diff=5234</id>
		<title>INFO913 : Cryptologie et sécurité informatique</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO913_:_Cryptologie_et_s%C3%A9curit%C3%A9_informatique&amp;diff=5234"/>
		<updated>2011-05-30T10:07:12Z</updated>

		<summary type="html">&lt;p&gt;Quentinscott : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quelques ressources pour l&#039;étudiant ==&lt;br /&gt;
&lt;br /&gt;
# Cours &lt;br /&gt;
#* Support de cours (presentation [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/Cours/cours.pdf PDF], article [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/Cours/article.pdf PDF])&lt;br /&gt;
# Fiches de TD&lt;br /&gt;
#* TDs 1 : cryptographie élémentaire [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/TDs/td-1.ps PDF]&lt;br /&gt;
# TPs et autres travaux pratiques [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/Tests/doc/html/index.html Pages des TPs]&lt;br /&gt;
# Autres ressources&lt;br /&gt;
#* Handbook of Applied Cryptology [http://www.cacr.math.uwaterloo.ca/hac/]&lt;br /&gt;
#* Cryptologie en ligne [http://www.apprendre-en-ligne.net/crypto/menu/index.html]&lt;br /&gt;
&lt;br /&gt;
== Déroulement (2009/2010) ==&lt;br /&gt;
&lt;br /&gt;
Les exposés se feront dans l&#039;ordre suivant. Vous pouvez vous mettre d&#039;accord entre vous pour échanger.&lt;br /&gt;
&lt;br /&gt;
# Lundi 14/12 après-midi&lt;br /&gt;
#* La virtualisation, facteur de sécurité ou de vulnérabilité (ok) { DIMIER Cédric et CARRIE Antoine }&lt;br /&gt;
#* Comment Aircrack trouve les clés WEP des réseaux wifi (ok) { LANOISELIER Aurélien et MARCHANOFF Jérôme}&lt;br /&gt;
#* Présentation et explication d&#039;une attaque historique (laquelle ?) { FLEUTIAUX Marc et AGUETTAZ Cédric}&lt;br /&gt;
#* La biométrie, une solution miracle pour l&#039;authentification ? (ok) { FERNANDES PIRES Anthony et GAYET Eric}&lt;br /&gt;
#* Stéganographie(ok) { PONCET Johan et MARTIN Romain}&lt;br /&gt;
#* Stéganographie ou les signatures numériques (ok) { TARDY Camille et CASSAGNERES Pierre-André}&lt;br /&gt;
# Mardi 15/12 après-midi&lt;br /&gt;
#* Sécurité anti-piratage (ok) {CHEVALIER Daniel et REIGNIER David}&lt;br /&gt;
#* Tour d&#039;horizon des attaques par Injection SQL. (ok) {MILLER Lucas et VIONNET Jean}&lt;br /&gt;
#* Tunneling, sécurisation et piratage (ok). {COLLEN Cyril et LAQUA Johann}&lt;br /&gt;
# Mercredi 16/12 après-midi&lt;br /&gt;
#* Attaques sur SSL. (ok) {Ferlay Mathieu et Six Lancelot}&lt;br /&gt;
#* Le Phreaking, piratage téléphonique (ok) {Rey Myriam}&lt;br /&gt;
#* Securité des réseaux sans fils (ok) {Tounkara Mounina et Philippe Monteiro}&lt;br /&gt;
&lt;br /&gt;
== Exposés pour l&#039;année 2009/2010 ==&lt;br /&gt;
&lt;br /&gt;
# Sujets d&#039;exposés&lt;br /&gt;
#* La virtualisation, facteur de sécurité ou de vulnérabilité (ok) { DIMIER Cédric et CARRIE Antoine }&lt;br /&gt;
#* Comment Aircrack trouve les clés WEP des réseaux wifi (ok) { LANOISELIER Aurélien et MARCHANOFF Jérôme}&lt;br /&gt;
#* Présentation et explication d&#039;une attaque historique (laquelle ?) { FLEUTIAUX Marc et AGUETTAZ Cédric}&lt;br /&gt;
#* La biométrie, une solution miracle pour l&#039;authentification ? (ok) { FERNANDES PIRES Anthony et GAYET Eric}&lt;br /&gt;
#* Stéganographie(ok) { PONCET Johan et MARTIN Romain}&lt;br /&gt;
#* Stéganographie ou les signatures numériques (ok) { TARDY Camille et CASSAGNERES Pierre-André}&lt;br /&gt;
#* Sécurité anti-piratage (ok) {CHEVALIER Daniel et REIGNIER David}&lt;br /&gt;
#* Tour d&#039;horizon des attaques par Injection SQL. (ok) {MILLER Lucas et VIONET Jean}&lt;br /&gt;
#* Tunneling, sécurisation et piratage (ok). {COLLEN Cyril et LAQUA Johann}&lt;br /&gt;
#* Attaques sur SSL. (ok) {Ferlay Mathieu et Six Lancelot}&lt;br /&gt;
#* Le Phreaking, piratage téléphonique (ok) {Rey Myriam}&lt;br /&gt;
#* Fuites de donnée en entreprise (ok) {Tounkara Mounina et Philippe Monteiro}&lt;br /&gt;
#* PGP et la sécurité de l&#039;information {Cyrille Mortier}&lt;br /&gt;
&lt;br /&gt;
== Exposés pour l&#039;année 2008/2009 ==&lt;br /&gt;
&lt;br /&gt;
Les exposés auront lieu le vendredi 30/1 de 8h à 12h (4CANTONS - 64) et de 13h30 à 17h30 (4CANTONS - 65). Les exposés sont à faire par binôme (ou monôme) et doivent durer 20 minutes environ. Ils seront suivis de 5 à 10 minutes de questions. Tout le monde assiste à tous les exposés. &lt;br /&gt;
&lt;br /&gt;
# Sujets d&#039;exposés (propositions, à étoffer)&lt;br /&gt;
#* Les Protocoles de sécurité dans les réseaux WiFi (WEP et WPA) &amp;lt;&amp;lt;&amp;lt;&amp;lt; { Mickaël Wang &amp;amp; Arnaud Villevieille } [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/Prez-2008-2009/Securite-wifi.pdf PDF]&lt;br /&gt;
#* Les outils d&#039;analyse de la sécurité des réseaux : renifleur, scanneurs de ports, outils de détection d&#039;intruison { Anis HADJALI &amp;amp; Vlad VESA } [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/Prez-2008-2009/analyse-securite.pdf PDF]&lt;br /&gt;
#* Google Hacking { Julien ARNOUX &amp;amp; Jeremy DEPOIL } [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/Prez-2008-2009/ghack.pptx PPTX]&lt;br /&gt;
#* Virus et antivirus { Mehdi MECHELOUKH et Christophe M. }&lt;br /&gt;
#* 3DSecure { Natalia Lecoeur &amp;amp; Cindy Chiaberto } [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/Prez-2008-2009/3D_Secure.pdf PDF]&lt;br /&gt;
#* Sécurité sous Linux en entreprise { Joël Leroy  Ebouele &amp;amp; Barbier Keller }&lt;br /&gt;
#* Techniques et outils de chiffrements de partitions [Valat Sebastien &amp;amp; Bouleis Romain]&lt;br /&gt;
#* IP Spoofing et DNS Spoofing { Alberic Martel &amp;amp; Fabien Dezempte ) [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/Prez-2008-2009/ip-dns-spoofing.ppt PPT]&lt;br /&gt;
#* PRA le Plan de Reprise d&#039;Activité {Achraf AMEUR}&lt;br /&gt;
#* Les attaques médiatisées sur les systèmes informatiques {Renneville Guybert et Fabrice Noraz}&lt;br /&gt;
#* La gestion des DRM  {Petithory Thomas &amp;amp; Paccard Charléric}&lt;br /&gt;
#* L&#039;introduction SSL,SSH { Julien Roche &amp;amp; Yi Wang }&lt;br /&gt;
&lt;br /&gt;
== Exposés pour l&#039;année 2007/2008 ==&lt;br /&gt;
&lt;br /&gt;
Exposés le mardi 26/2 de 8h15 à 11h30 et le mercredi 27/2 de 8h15 à 11h30. Les exposés sont à faire par binôme et doivent durer 25 minutes environ. Ils seront suivis de 5 à 10 minutes de questions. Tout le monde assiste à tous les exposés.&lt;br /&gt;
&lt;br /&gt;
# Sujets d&#039;exposés (propositions, à étoffer)&lt;br /&gt;
#* Vulnérabilité du protocole WEP et de RC4 pour les réseaux WiFi   &amp;lt;&amp;lt;&amp;lt;&amp;lt; { PAVLOU, DALLACOSTA } [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/Prez-2007/Presentation_cryptologie_PAVLOU_DALLA_COSTA_512.mov MOV]&lt;br /&gt;
#* Vulnérabilité du protocole A5/1 des mobiles GSM. &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; {FERNANDES} [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/Prez-2007/Cryptologie_et_securite_informatique_-_Fernandes.pdf PDF]&lt;br /&gt;
#* Les attaques médiatisées sur les systèmes informatiques : Attaque de Mitnick, Morris Worm, DDOS Mafia Boy, etc   &amp;lt;&amp;lt;&amp;lt;&amp;lt; { PIPARO, HUMBERT } [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/Prez-2007/Les_attaques_mediatisees_-_PIPARO_HUMBERT.pdf PDF]&lt;br /&gt;
#* La mise en place de la sécurité informatique au niveau national et international : CERTs, sites AntiSPAM&lt;br /&gt;
#* Attaques par injection de code XSS, parades &amp;lt;&amp;lt;&amp;lt;&amp;lt; { SERRA &amp;amp; ROCHE ) [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/Prez-2007/Expose_securite_sur_le_XSS_-_Roche_et_Serra.pdf PDF]&lt;br /&gt;
#* Virus et antivirus&lt;br /&gt;
#* Secure shell (SSH) : protocole, applications, tunnelling &amp;lt;&amp;lt;&amp;lt;&amp;lt; {BODIN}&lt;br /&gt;
#* Le tatouage d&#039;image et de document (watermarking) &amp;lt;&amp;lt;&amp;lt;&amp;lt; {MAESEELE, CIMINERA } [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/Prez-2007/Watermarking_Ciminera_Maeseele.pdf PDF]&lt;br /&gt;
#* La gestion des DRM&lt;br /&gt;
#* Les certificats (PGP, X509) et les infrastructures de gestion de clés &lt;br /&gt;
#* IP Spoofing et DNS Spoofing &amp;lt;&amp;lt;&amp;lt;&amp;lt; { DEMOLIS &amp;amp; JUMEAU )&lt;br /&gt;
#* IPsec&lt;br /&gt;
#* Sécurité des réseaux sans fil : authentification, chiffrement, WEP, WPA =&amp;gt;Bugnard/Berthet&lt;br /&gt;
#* Les outils d&#039;analyse de la sécurité des réseaux : renifleur, scanneurs de ports, outils de détection d&#039;intruison  &lt;br /&gt;
#* Sécuriser un réseau : pare-feu, zone démilitarisée, protection des serveurs, adressage local &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; {FOLLIET et VIALA} [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/Prez-2007/presentation_VIALA_FOLLIET.pdf PDF]&lt;br /&gt;
#* OpenBSD : aspects sécurité &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; (REVELIN et ERROCHDI) [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/Prez-2007/OpenBSD_-_Revelin-Errochdi.pdf PDF]&lt;br /&gt;
#* Sécurité GPRS &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; (PEHME et REY) [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO913/Prez-2007/Securite_GPRS_-PEHME_REY.pdf PDF]&lt;br /&gt;
# Planning des exposés Mardi 12/2/2008&lt;br /&gt;
#* Vulnérabilité du protocole A5/1 des mobiles GSM. &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; {FERNANDES}&lt;br /&gt;
# Mardi 27/2/2008, 8h15 -&amp;gt; 11h30&lt;br /&gt;
#* OpenBSD : aspects sécurité &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; (REVELIN et ERROCHDI)&lt;br /&gt;
#* Secure shell (SSH) : protocole, applications, tunnelling &amp;lt;&amp;lt;&amp;lt;&amp;lt; {BODIN}&lt;br /&gt;
#* Sécuriser un réseau : pare-feu, zone démilitarisée, protection des serveurs, adressage local &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; {FOLLIET et VIALA}&lt;br /&gt;
#* Sécurité des réseaux sans fil : authentification, chiffrement, WEP, WPA =&amp;gt;Bugnard/Berthet&lt;br /&gt;
#* Vulnérabilité du protocole WEP et de RC4 pour les réseaux WiFi   &amp;lt;&amp;lt;&amp;lt;&amp;lt; { PAVLOU, DALLACOSTA }&lt;br /&gt;
# Planning des exposés Mercredi 28/2/2008, 8h15 -&amp;gt; 11h30&lt;br /&gt;
#* Sécurité GPRS &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; (PEHME et REY)&lt;br /&gt;
#* Les attaques médiatisées sur les systèmes informatiques : Attaque de Mitnick, Morris Worm, DDOS Mafia Boy, etc   &amp;lt;&amp;lt;&amp;lt;&amp;lt; { PIPARO, HUMBERT }&lt;br /&gt;
#* IP Spoofing et DNS Spoofing &amp;lt;&amp;lt;&amp;lt;&amp;lt; { DEMOLIS &amp;amp; JUMEAU )&lt;br /&gt;
#* Attaques par injection de code XSS, parades &amp;lt;&amp;lt;&amp;lt;&amp;lt; { SERRA &amp;amp; ROCHE )&lt;br /&gt;
#* Le tatouage d&#039;image et de document (watermarking) &amp;lt;&amp;lt;&amp;lt;&amp;lt; {MAESEELE, ??? }&lt;br /&gt;
&lt;br /&gt;
[http://cvresumewritingservices.org/ Resume]&lt;/div&gt;</summary>
		<author><name>Quentinscott</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO817_:_S%C3%A9mantique_des_langages_fonctionnels_et_objets,_preuves_de_programmes&amp;diff=5233</id>
		<title>INFO817 : Sémantique des langages fonctionnels et objets, preuves de programmes</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO817_:_S%C3%A9mantique_des_langages_fonctionnels_et_objets,_preuves_de_programmes&amp;diff=5233"/>
		<updated>2011-05-30T10:07:11Z</updated>

		<summary type="html">&lt;p&gt;Quentinscott : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Objectifs de ce cours&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
Comprendre la sémantique (c&#039;est à dire la manière dont les programmes s&#039;évaluent) des langages fonctionnel (Lisp, SML, OCaml, Python, ...) et aussi des langages objets (OCaml, Java, C++, ...). &lt;br /&gt;
&lt;br /&gt;
On commencera par parler des types de données, avant de donner la sémantique d&#039;un langage minimaliste,&lt;br /&gt;
mais très riche, qui permettra d&#039;illustrer les points généraux communs à tous les langages. On essayera aussi de traiter quelques particularités de langages réellement utilisés. Enfin, on montrera comment la connaissance de la sémantique d&#039;un langage permet de raisonner sur les programmes et donc d&#039;obtenir &lt;br /&gt;
des programmes sans bug.&lt;br /&gt;
&lt;br /&gt;
== Objectif du cours ==&lt;br /&gt;
&lt;br /&gt;
Il s&#039;agit d&#039;étudier la sémantique des langages de programmation (non impératif, cf cours d&#039;INFO 815)&lt;br /&gt;
&lt;br /&gt;
Qu&#039;est ce que le sémantique :&lt;br /&gt;
* Sémantique dénotationnelle : que fait le programme (quel résultat retourne la fonction...) On ne s&#039;interesse qu&#039;à ce qui est observable de l&#039;extérieur&lt;br /&gt;
* Sémantique opérationnelle : comment le programme le fait.&lt;br /&gt;
&lt;br /&gt;
Pourquoi connaître la sémantique ?  La question devrait plutôt être : &lt;br /&gt;
comment programmer sans savoir ce que fait le programme que l&#039;on écrit ?&lt;br /&gt;
&lt;br /&gt;
L&#039;intérêt de la sémantique c&#039;est de prendre du recul sur la programmation et l&#039;algorithmique afin de maîtriser les concepts&lt;br /&gt;
et faire abstraction de la syntaxe des langages. &lt;br /&gt;
&lt;br /&gt;
La sémantique devient aussi indispensable dans le cadre des méthodes formelles et tout particulièrement de la preuve de programme&lt;br /&gt;
(dans ce cas on doit écrire ce que le programme fait).&lt;br /&gt;
&lt;br /&gt;
== Introduction : historique et classification des langages. ==&lt;br /&gt;
&lt;br /&gt;
Historique des langages ML voir [http://www.levenez.com/lang/history.html l&#039;arbre des langages]&lt;br /&gt;
&lt;br /&gt;
Un langage est défini par différent &amp;quot;trait&amp;quot; de programmation:&lt;br /&gt;
&lt;br /&gt;
* fonctionnel : les fonctions sont des objets de première classe (les fonctions peuvent prendre en paramètre d&#039;autres fonctions) et peuvent être appliqué partiellement&lt;br /&gt;
  Fortran :  non, C et C++ : en partie, ML et LISP : oui&lt;br /&gt;
&lt;br /&gt;
* langage à GC : la libération mémoire est prise en charge par le langage&lt;br /&gt;
  Fortran :  non, C et C++ : oui avec lc [http://www.hpl.hp.com/personal/Hans_Boehm/gc GC de Boehm], ML et LISP : oui&lt;br /&gt;
&lt;br /&gt;
* langage impératif : on peut modifier plus d&#039;une fois le contenu d&#039;un bloc mémoire (on n&#039;est pas limité aux structures &lt;br /&gt;
de donnée persistantes)&lt;br /&gt;
tout les langages : oui, sauf Haskell et encore, il y a les monades&lt;br /&gt;
&lt;br /&gt;
* objets : notion de classes, d&#039;objets, ...&lt;br /&gt;
  oui pour Java, C++, Objective-C, OCaml &lt;br /&gt;
&lt;br /&gt;
* modulaire : notion de module et parfois de foncteur&lt;br /&gt;
  oui pour les langages de la famille ML, oui pour modula, mais pas de foncteur &lt;br /&gt;
&lt;br /&gt;
Pour ce cours : illustration en OCaml et PML, et structure de donnée persistante uniquement.&lt;br /&gt;
&lt;br /&gt;
== Des types de données. ==&lt;br /&gt;
&lt;br /&gt;
Un modèle très simple (un peu trop pour programmer directement avec)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Qu&#039;est ce qu&#039;une donnée&#039;&#039;&#039; : &lt;br /&gt;
* modèle mémoire&lt;br /&gt;
* modèle de graphe orientée (on distingue le rôle des pointeurs/adresses)&lt;br /&gt;
* arbre dans le cas des données persistentes&lt;br /&gt;
* arbre à branchement borné&lt;br /&gt;
* donnée algébrique : 3 types de noeuds ((), (x,y), L(x), R(x))&lt;br /&gt;
&lt;br /&gt;
Tout programme utilisant des arbres à branchement borné peut être réecrit&lt;br /&gt;
avec des données algébriques en perdant au plus un facteur constant en temps&lt;br /&gt;
et en mémoire.&lt;br /&gt;
&lt;br /&gt;
Type de données = ensemble de données partageant certaines propriétés.&lt;br /&gt;
&lt;br /&gt;
===Type de données algébrique===&lt;br /&gt;
&lt;br /&gt;
  0 | 1 | A &amp;lt;math&amp;gt;\times&amp;lt;/math&amp;gt; B | A + B | &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; X.A(X) &lt;br /&gt;
&lt;br /&gt;
* type vide : 0 = &amp;lt;math&amp;gt;\emptyset&amp;lt;/math&amp;gt; &lt;br /&gt;
* type avec un seul élément : 1 = {()}&lt;br /&gt;
* produit cartésien : A &amp;lt;math&amp;gt;\times&amp;lt;/math&amp;gt; B = {(a,b) | a &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; A et b &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; B} (A et B étant deux types)&lt;br /&gt;
* somme disjointe : A + B = {L(a) | a &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; A} &amp;lt;math&amp;gt;\cup&amp;lt;/math&amp;gt; {R(b) | b &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; B} (A et B étant deux types)&lt;br /&gt;
* type inductif : &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; X.A(X) = A(0) \cup A(A(0)) \cup A(A(A(0))) \cup ... (A étant un type avec au moins un paramètre)&lt;br /&gt;
Une manière de voir les types inductifs est de voir que &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; X.A(X) est une solution de l&#039;équation X = A(X) sur les types.&lt;br /&gt;
&lt;br /&gt;
On a d&#039;ailleurs le théorème suivant:&lt;br /&gt;
&lt;br /&gt;
Considérons &amp;lt;math&amp;gt;A_1(X_1,...,X_n), ..., A_n(X_1,...,X_n)&amp;lt;/math&amp;gt; n types algébriques avec au moins n paramètres &lt;br /&gt;
&amp;lt;math&amp;gt;X_1, ..., X_n&amp;lt;/math&amp;gt;. Considérons le systèmes d&#039;équation suivant:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left\{\begin{matrix} X_1 =  A_1(X_1,...,X_n) \\ \vdots \\ X_n =  A_n(X_1,...,X_n) \end{matrix}\right.&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce système admet toujours une unique solution que l&#039;on peut calculer en posant &lt;br /&gt;
&lt;br /&gt;
# &amp;lt;math&amp;gt;X_n=\mu X_n.A_n(X_1,...,X_n)&amp;lt;/math&amp;gt; et en remplaçant &amp;lt;math&amp;gt;X_n&amp;lt;/math&amp;gt; dans les autres équations si n &amp;gt; 1 et ainsi de suite. &lt;br /&gt;
&lt;br /&gt;
Type de données algébrique usuel :&lt;br /&gt;
&lt;br /&gt;
* booléens : &amp;lt;math&amp;gt;\mathbb{B}&amp;lt;/math&amp;gt; = 1 + 1&lt;br /&gt;
* type à trois éléments = (1 + 1) + 1 ou 1 + (1 + 1) &lt;br /&gt;
* entiers en unaires : &amp;lt;math&amp;gt;\mathbb{N}&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; X.1 + X&lt;br /&gt;
* listes à éléments dans A : &amp;lt;math&amp;gt;\mathbb{L}&amp;lt;/math&amp;gt;(A) = &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; X.1 + (A &amp;lt;math&amp;gt;times&amp;lt;/math&amp;gt; X)&lt;br /&gt;
* entier en binaire : &amp;lt;math&amp;gt;\mathbb{L(B)}&amp;lt;/math&amp;gt;&lt;br /&gt;
* arbre binaire : &amp;lt;math&amp;gt;\mu&amp;lt;/math&amp;gt; X.1 + (X &amp;lt;math&amp;gt;times&amp;lt;/math&amp;gt; X)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exercices&#039;&#039;&#039; : &lt;br /&gt;
# Donner un type des listes.&lt;br /&gt;
# Donner un type des arbres binaires avec des données de type A au niveau des noeuds, un type des arbres binaires avec des données de type B au niveau des feuilles, un type des arbres binaires avec à la fois des données de type A au niveau des noeuds et des données de types B au niveau des feuilles.&lt;br /&gt;
# Donner un type des arbres à branchement fini.&lt;br /&gt;
# Donner un type des entiers binaires sans zéro inutile.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solutions&#039;&#039;&#039; : &lt;br /&gt;
* Rappel sur les entiers unaire:&lt;br /&gt;
N sol de X=1+X&lt;br /&gt;
µ * (1+X)=1+0 U 1+(1+0) U 1+(1+(1+0)).&lt;br /&gt;
={L{()}; R(L{()}); R(R(L{()}) }.  &lt;br /&gt;
* Rappel sur les entiers binaire : liste de bool&lt;br /&gt;
N = 1 + ( ( 1 + 1 ) x N)&lt;br /&gt;
N = 1 + ( N x N )&lt;br /&gt;
* Liste :  LL(A)= 1+(A*LL(A)), liste peut être vide ou se constitue du premier élément A et de la suite de la liste. &lt;br /&gt;
* Arbre sans donnée : &amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;=1+(&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;*A). Arbre ou le premier élément est vide et la suite  constitue  sous arbres.&lt;br /&gt;
&lt;br /&gt;
A0=1+(0*0)=L{()}&lt;br /&gt;
&lt;br /&gt;
A1=1+(1+0*0)*(1+0*0)=R(L(),L())&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;=1+(A*(&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;*&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;)) : arbre ou le premier élément est vide et la suite se constitue d’un element A et deux sous arbres.&lt;br /&gt;
&lt;br /&gt;
* Arbre binaire avec donnée sur les nœuds &amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;(A) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;(X)=1+((&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;(X)*X)*&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;(X))+X*(&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;(X)* &amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;(X)).&lt;br /&gt;
&lt;br /&gt;
* Arbre binaire avec donnée sur les feuilles &amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;’(B) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;’(Y)=Y+&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;’’(Y)*&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;(Y). L’arbre n’est pas vide.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;’(Y)=1+&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;’’(Y).  arbre vide.&lt;br /&gt;
&lt;br /&gt;
* Arbre binaire avec donnée sur les noeuds feuilles &amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;’(B) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;(X,Y)= Y+X *(&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;’(X,Y)*&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;’(X,Y)).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;(X,Y)=1+&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;’(X,Y).&lt;br /&gt;
&lt;br /&gt;
* Type des arbres à branchement fini.&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;F= LL(AF)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;f=LL(Af)&lt;br /&gt;
&lt;br /&gt;
=A+&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;f*Af&lt;br /&gt;
&lt;br /&gt;
=&amp;lt;math&amp;gt;\mathbb{A}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* type des entiers binaires sans zéro inutile&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbb{N}&amp;lt;/math&amp;gt;*=&amp;lt;math&amp;gt;\mathbb{N}&amp;lt;/math&amp;gt;*+&amp;lt;math&amp;gt;\mathbb{N}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RR=0.&lt;br /&gt;
&lt;br /&gt;
RL=1&lt;br /&gt;
&lt;br /&gt;
L=fin&lt;br /&gt;
&lt;br /&gt;
Exemple :  100=RRRRRL().&lt;br /&gt;
&lt;br /&gt;
Un entier   &amp;lt;math&amp;gt;\mathbb{N}&amp;lt;/math&amp;gt;=1+(&amp;lt;math&amp;gt;\mathbb{N}&amp;lt;/math&amp;gt;*&amp;lt;math&amp;gt;\mathbb{N}&amp;lt;/math&amp;gt;).&lt;br /&gt;
* Let rec eq n m = match n with&lt;br /&gt;
L()à(match m with L(-)àL()| R(-)àR())&lt;br /&gt;
R(n’)à (match m with&lt;br /&gt;
L(-)àR(-)&lt;br /&gt;
| R(m’)àeqn’m’)&lt;br /&gt;
* Let rec append LL’=match L with&lt;br /&gt;
L()-&amp;gt;L’&lt;br /&gt;
R(P)-&amp;gt;R(pi1(p),append pi2(p)L’)&lt;br /&gt;
R(a,L1)-&amp;gt;R(a,appendL1L’)&lt;br /&gt;
&lt;br /&gt;
===Destructeurs des types algébriques===&lt;br /&gt;
&lt;br /&gt;
Les destructeurs servent à lire les données d&#039;un type algébrique.&lt;br /&gt;
&lt;br /&gt;
* x &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; 0 : abort(x) (cas impossible)&lt;br /&gt;
* x &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; 1 : pas de destructeur, un seul cas possible&lt;br /&gt;
* x &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; A &amp;lt;math&amp;gt;\times&amp;lt;/math&amp;gt; B : 2 projections : &amp;lt;math&amp;gt;\pi_1&amp;lt;/math&amp;gt;(x) &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; A et &amp;lt;math&amp;gt;\pi_2&amp;lt;/math&amp;gt;(x) &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; B&lt;br /&gt;
* x &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; A + B, (&amp;lt;math&amp;gt;\forall a \in&amp;lt;/math&amp;gt; A,  c[y:=a]&amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; C) et (&amp;lt;math&amp;gt;\forall b \in&amp;lt;/math&amp;gt; B,  c&#039;[z:=b] &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; C) : match x with L(y) -&amp;gt; c| R(z) -&amp;gt; c&#039;&amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; C&lt;br /&gt;
* Pour utiliser les types inductifs on définira des fonctions par récurrence. exemple :&lt;br /&gt;
  let rec add x y = match x with L(x&#039;) -&amp;gt; y | R(x&#039;) -&amp;gt; R(add x&#039; y)&lt;br /&gt;
Il n&#039;y a donc pas de destructeur particuler aux types inductifs.&lt;br /&gt;
&lt;br /&gt;
===Les fonctions===&lt;br /&gt;
&lt;br /&gt;
Pour programmer il nous faut des fonctions :&lt;br /&gt;
&lt;br /&gt;
* A &amp;lt;math&amp;gt;\rightarrow&amp;lt;/math&amp;gt; B = {&amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; x.t | t &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; B si on suppose x &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; A} : ce type désigne de type des fonctions prenant des arguments de type A et rendant un résultat de type B et &amp;lt;math&amp;gt;\lambda x.t&amp;lt;/math&amp;gt; désigne la fonction qui associe t à x. Par example &amp;lt;math&amp;gt;\lambda x.x&amp;lt;/math&amp;gt; est la fonction identité.&lt;br /&gt;
&lt;br /&gt;
On a bien sûr un destructeur pour les fonctions : l&#039;application&lt;br /&gt;
&lt;br /&gt;
* t v &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; B si t &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; A &amp;lt;math&amp;gt;\rightarrow&amp;lt;/math&amp;gt; B et u &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; A&lt;br /&gt;
&lt;br /&gt;
Il nous faut aussi des fonctions récursives et mutuellement récursives. Les définitions récursives peuvent s&#039;écrire directement, &lt;br /&gt;
ou avec un combinateur de point fixe Y, en remplaçant la définition récursive&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;f = t&amp;lt;/math&amp;gt; où f apparait dans t (sinon la définition n&#039;est pas récursive) par &amp;lt;math&amp;gt;f = Y f.t&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les types, on a Y t &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; A si t &amp;lt;math&amp;gt;\in&amp;lt;/math&amp;gt; A &amp;lt;math&amp;gt;\rightarrow&amp;lt;/math&amp;gt; A&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemples&#039;&#039;&#039;&lt;br /&gt;
* La fonction multiplier.&lt;br /&gt;
&lt;br /&gt;
      Let rec mul n m=match n with&lt;br /&gt;
      L(-) | L()&lt;br /&gt;
      R(n’) | add(mul n’m)m&lt;br /&gt;
&lt;br /&gt;
      Let rec eq n m = match n with&lt;br /&gt;
      L()|(match m with L(-)|L()| R(-)|R())&lt;br /&gt;
      R(n’) | (match m with &lt;br /&gt;
      L(-)|R(-)&lt;br /&gt;
      | R(m’)|eqn’m’)&lt;br /&gt;
&lt;br /&gt;
      Let rec append LL’= match L with&lt;br /&gt;
      L()|L’&lt;br /&gt;
      R(P)| R(pi1(p),append pi2(p)L’)&lt;br /&gt;
      R(a,L1)|R(a,appendL1L’) &lt;br /&gt;
&lt;br /&gt;
* entier N&lt;br /&gt;
&lt;br /&gt;
   type rec nat =[End[]|&lt;br /&gt;
   Zero[nat] |&lt;br /&gt;
   one[nat]]&lt;br /&gt;
&lt;br /&gt;
* Fonction successeur&lt;br /&gt;
&lt;br /&gt;
Nat -&amp;gt; nat’=&lt;br /&gt;
&lt;br /&gt;
Fun End[]| one [End[]]&lt;br /&gt;
&lt;br /&gt;
| Zero[n]| one[n]&lt;br /&gt;
&lt;br /&gt;
|one[n]|zero[succ n] &lt;br /&gt;
&lt;br /&gt;
prédécesseur n-|n-1 &lt;br /&gt;
&lt;br /&gt;
val rec pred : nat’-&amp;gt;nat&lt;br /&gt;
&lt;br /&gt;
=Fun One[n]|Zero[n]&lt;br /&gt;
&lt;br /&gt;
|Zero[n]|One[pred n]&lt;br /&gt;
Fonction opposé&lt;br /&gt;
Val opp int -&amp;gt;int=Fun&lt;br /&gt;
Minus[n]|opp(pred’n)&lt;br /&gt;
|n|succ n&lt;br /&gt;
Hauteur d’une arbre en caml&lt;br /&gt;
&lt;br /&gt;
let rec hauteur = function&lt;br /&gt;
| Feuille -&amp;gt; 0&lt;br /&gt;
| Branche (branche, _, branche&#039;) -&amp;gt; 1 + max (hauteur branche) (hauteur branche&#039;) ;;&lt;br /&gt;
&lt;br /&gt;
map en caml&lt;br /&gt;
# List.map (fun i -&amp;gt; i * i) [0; 1; 2; 3; 4; 5] ;;&lt;br /&gt;
let apply_rev f x y = f y x;;&lt;br /&gt;
let g x y = (x,y);;&lt;br /&gt;
apply_rev g 64 16;;&lt;br /&gt;
apply_rev (fun x y -&amp;gt; x / y) 3 18;;&lt;br /&gt;
let rec f x = (x x);;&lt;br /&gt;
&lt;br /&gt;
===Sémantique dénotationnelle===&lt;br /&gt;
&lt;br /&gt;
Pour préciser comment s&#039;évalue le langage, on définit une relation d&#039;équivalence &amp;lt;math&amp;gt;\simeq&amp;lt;/math&amp;gt; comme&lt;br /&gt;
la plus petite relation d&#039;équivalence vérifiant :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;math&amp;gt;\pi_1&amp;lt;/math&amp;gt;(u,v)  &amp;lt;math&amp;gt;\simeq&amp;lt;/math&amp;gt; u&lt;br /&gt;
* &amp;lt;math&amp;gt;\pi_2&amp;lt;/math&amp;gt;(u,v)  &amp;lt;math&amp;gt;\simeq&amp;lt;/math&amp;gt; v&lt;br /&gt;
* match L(a) with L(y) -&amp;gt; c | R(z) -&amp;gt; c&#039; &amp;lt;math&amp;gt;\simeq&amp;lt;/math&amp;gt; c[y:=a]&lt;br /&gt;
* match R(b) with L(y) -&amp;gt; c | R(z) -&amp;gt; c&#039; &amp;lt;math&amp;gt;\simeq&amp;lt;/math&amp;gt; c&#039;[z:=b]&lt;br /&gt;
* &amp;lt;math&amp;gt;(\lambda x.t)u&amp;lt;/math&amp;gt; &amp;lt;math&amp;gt;\simeq&amp;lt;/math&amp;gt; t[x:=u]&lt;br /&gt;
* Y f.t &amp;lt;math&amp;gt;\simeq&amp;lt;/math&amp;gt; t[f := Y t]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exercices&#039;&#039;&#039;&lt;br /&gt;
# Ecrire des fonctions calculant l&#039;addition et la multiplication pour les entiers unaires. Évaluer ces fonctions à la main sur de petits entiers.&lt;br /&gt;
# Ecrire quelques fonctions sur les listes (map, append, rev, rev_append). Évaluer ces fonctions à la main sur de petites listes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Corrections&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# addition pour les entiers unaires&lt;br /&gt;
&lt;br /&gt;
* solution 1: let rec add n m = match n with  L (_)  -&amp;gt; m | R (n&#039;) -&amp;gt; add n&#039;(R(m))&lt;br /&gt;
* solution 2: let rec add n m = match n with  L (_)  -&amp;gt; m | R (n&#039;) -&amp;gt; R(add n&#039; m)&lt;br /&gt;
* exemple: add 2 3 = add (R R L()) (R R R L()) = add (R L()) R R R R L() = add (L()) R R R R R L() = R R R R R L() = 5&lt;br /&gt;
&lt;br /&gt;
# multiplication  pour les entiers unaires&lt;br /&gt;
&lt;br /&gt;
* solution 1 ( utilisant la récursivité non terminale) : let rec mul n m = match n with  L (_)  -&amp;gt; L() | R (n&#039;) -&amp;gt; add (mul n&#039; m) m&lt;br /&gt;
* solution 2 (récursivité terminale) : let mul n m = aux n m (L())&lt;br /&gt;
* let rec aux n m a = match n with L() -&amp;gt; a | R(n&#039;) -&amp;gt; aux n&#039; m (add m a)&lt;br /&gt;
&lt;br /&gt;
===Sémantique opérationelle===&lt;br /&gt;
&lt;br /&gt;
Généralités sur l&#039;appel par nom, l&#039;appel par valeur et l&#039;évaluation paresseuse.&lt;br /&gt;
&lt;br /&gt;
Définition d&#039;une sémantique opérationnelle pour l&#039;appel par valeur par contexte d&#039;évaluation.&lt;br /&gt;
&lt;br /&gt;
* Valeur : La grammaire du mini langage peut-être réécrite en distinguant deux types les valeurs des programmes qui ne sont pas des valeurs:&lt;br /&gt;
&amp;lt;math&amp;gt;V = x \mid \lambda x.T \mid L V \mid R V \mid (V, V) \mid ()&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;T = V \mid T T \mid match T with L x -&amp;gt; T | R y -&amp;gt; T \mid \pi_1 T \mid \pi_2 T&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Contexte d&#039;évaluation&lt;br /&gt;
* La sémantique&lt;br /&gt;
&lt;br /&gt;
Définition d&#039;une sémantique opérationnelle pour l&#039;appel par valeur avec une machine abstraite.&lt;br /&gt;
&lt;br /&gt;
* Clôture&lt;br /&gt;
* Machine SECD&lt;br /&gt;
* Table de transition&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exercice&#039;&#039;&#039; : faire le même travail pour l&#039;appel par nom. Pourquoi tout ceci serait plus compliqué pour l&#039;évaluation paresseuse ?&lt;br /&gt;
&lt;br /&gt;
===Quelques théorèmes===&lt;br /&gt;
&lt;br /&gt;
* Préservation du type par réduction&lt;br /&gt;
* Existence d&#039;un unificateur le plus général sur les types&lt;br /&gt;
* Inférence de type&lt;br /&gt;
* Théorème de Church-Rosser&lt;br /&gt;
&lt;br /&gt;
== Présentation de la syntaxe et de la sémantique d&#039;un petit langage. ==&lt;br /&gt;
&lt;br /&gt;
== Encodage et sémantique des objets. ==&lt;br /&gt;
&lt;br /&gt;
== Typage statique et dynamique. ==&lt;br /&gt;
&lt;br /&gt;
== Quelques commentaires sur C, Java, C++, ... ==&lt;br /&gt;
&lt;br /&gt;
== Vers la preuve de programmes. ==&lt;br /&gt;
&lt;br /&gt;
== Bibliographie ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Foundations for Programming Languages&amp;quot; de John C. Mitchell&lt;br /&gt;
&lt;br /&gt;
&amp;quot;The ZINC experiment, an economical implementation of the ML language&amp;quot; de Xavier Leroy. Rapport technique 117, INRIA, 1990. [http://caml.inria.fr/pub/papers/xleroy-zinc.pdf pdf]&lt;br /&gt;
Ce rapport contient une description du compilateur ZINC, dont l&#039;évolution a ensuite donné naissance à Caml Light puis Objective Caml. Une grande partie de ce rapport est obsolète. Néanmoins, il garde un intérêt pour la description de la machine abstraite utilisée par Caml Light et (avec quelques simplifications et améliorations supplémentaires) par Objective Caml.&lt;br /&gt;
&lt;br /&gt;
[http://customessays.ws/ Custom essays]&lt;/div&gt;</summary>
		<author><name>Quentinscott</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO517_:_Programmation_C&amp;diff=5232</id>
		<title>INFO517 : Programmation C</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO517_:_Programmation_C&amp;diff=5232"/>
		<updated>2011-05-30T10:07:08Z</updated>

		<summary type="html">&lt;p&gt;Quentinscott : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cours du semestre 5 de la licence STIC INFO.&lt;br /&gt;
&lt;br /&gt;
* Responsable pour 2010--2011: [http://www.lama.univ-savoie.fr/~lachaud Jacques-Olivier Lachaud]&lt;br /&gt;
* Jacques-Olivier Lachaud (C/TD/TP), Xavier Provençal (TP)&lt;br /&gt;
&lt;br /&gt;
Pensez à consulter les [[Comment compiler le C ?|indications pour compiler un petit programme sur une machine des salles de TP]].&lt;br /&gt;
&lt;br /&gt;
== Quelques ressources pour l&#039;étudiant (2010-2011) ==&lt;br /&gt;
&lt;br /&gt;
# Notes de cours [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO517/Cours/notes-de-cours.ps PostScript] [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO517/Cours/notes-de-cours.pdf PDF]&lt;br /&gt;
# Fiches de TD&lt;br /&gt;
#* TD 1 et 2 : tableaux, entrées-sorties [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO517/TDs/td-1.ps PostScript] [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO517/TDs/td-1.pdf PDF]&lt;br /&gt;
#* TD 3 : exercices sur les pointeurs [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO517/TDs/td-2.ps PostScript] [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO517/TDs/td-2.pdf PDF]&lt;br /&gt;
# TPs et autres travaux pratiques [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO517/Tests/doc/html/index.html Pages des TPs]&lt;br /&gt;
#* Pour la première fois, on pourra aussi regarder la page [[Comment_compiler_le_C_%3F]]&lt;br /&gt;
#* Si vous n&#039;accédez pas aux pages &amp;quot;manual&amp;quot; en salle TP, on les trouve en ligne : [[http://www.linux-france.org/article/man-fr/ Manual pages]]&lt;br /&gt;
# Autres ressources&lt;br /&gt;
&lt;br /&gt;
N&#039;hésitez pas à contribuer au wiki, et en particulier à cette page:&lt;br /&gt;
clarifications, compléments, exemples… Si vous n&#039;avez pas compris un point&lt;br /&gt;
particulier, vous pouvez signaler votre problème sur la page de discussion&lt;br /&gt;
(onglet en haut de cette page) ou par les moyens habituels. Il sera ensuite&lt;br /&gt;
très positif de revenir sur cette page et de consigner ce qui vous posait&lt;br /&gt;
problème et ce qui vous a permis de mieux comprendre.&lt;br /&gt;
&lt;br /&gt;
== Déroulement (2010-2011) ==&lt;br /&gt;
&lt;br /&gt;
Ceci n&#039;est qu&#039;une prévision.&lt;br /&gt;
&lt;br /&gt;
* (Cours 1): lundi 20 septembre. Langage C, intérêts et défauts. Compilation. Eléments de base du langage (types simples, variables, expressions). (=&amp;gt; I.5).&lt;br /&gt;
* (TD 1): mercredi 29 septembre. Instructions et structures de contrôle usuelles (conditionnelles, boucles) (=&amp;gt; I.10)&lt;br /&gt;
* (TD 2): jeudi 30 septembre. TD 1 tableaux, fonctions en C, E/S simples.&lt;br /&gt;
* (Cours 2): vendredi 1er octobre. Fonctions, passage de paramètres, pointeurs (=&amp;gt; II.5).&lt;br /&gt;
* (TD 3): vendredi 1er octobre. TD 1 tableaux, fonctions en C, E/S simples (II).&lt;br /&gt;
* (Cours 3): lundi 4 octobre. Fonctions, passage de paramètres, pointeurs, allocation dynamique (=&amp;gt; II.10)&lt;br /&gt;
* (Cours 4): lundi 4 octobre. Un exemple complet : les piles en C (II.11).&lt;br /&gt;
* (TP 1): mercredi 6 octobre. Boucles, puissance 4, tracés avec gnuplot, récursivité.&lt;br /&gt;
* (TD 4): vendredi 8 octobre. Exercices simples sur les pointeurs.&lt;br /&gt;
* (TD 5): lundi 11 octobre. Pile d&#039;exécution. Structures auto-référents. Début skip-liste.&lt;br /&gt;
* (TP 2): mercredi 13 octobre. Tetris texte.&lt;br /&gt;
* (TD 6): vendredi 15 octobre. Skip-listes. Compilation séparée et bonnes habitudes de développement C.&lt;br /&gt;
* (TP 3): jeudi 21 octobre. Tetris graphique avec GTK.&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
&lt;br /&gt;
* Responsable pour 2009--2010: Emilie Charrier (C/TD/TP)&lt;br /&gt;
* Responsable pour 2008--2009: Lionel Vaux (C/TD/TP)&lt;br /&gt;
&lt;br /&gt;
== Ressources pour l&#039;étudiant (avant 2010) ==&lt;br /&gt;
&lt;br /&gt;
Cet enseignement comprendra 10 séances de cours/TD (1h30) et 3 séances de TP (4h).&lt;br /&gt;
&lt;br /&gt;
La distinction entre cours et TD restera floue.  Je vous demanderai&lt;br /&gt;
généralement d&#039;écrire quelques petits programmes d&#039;une semaine sur l&#039;autre.&lt;br /&gt;
Autant que possible, envoyez-moi vos fichiers sources à l&#039;adresse&lt;br /&gt;
&amp;lt;tt&amp;gt;lionel.vaux@univ-savoie.fr&amp;lt;/tt&amp;gt;, afin que je puisse évaluer le niveau de&lt;br /&gt;
chacun et ajuster le contenu des séances suivantes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;em&amp;gt;Et dites-moi si ça ne&lt;br /&gt;
va pas, ou je risque d&#039;avancer trop vite.&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Objectifs du cours ===&lt;br /&gt;
&lt;br /&gt;
==== Cours/TD ====&lt;br /&gt;
* Principes généraux et particularités du langage: programmation impérative, typage fort à la compilation, adressage mémoire explicite&lt;br /&gt;
* Syntaxe de base&lt;br /&gt;
* Bibliothèque standard: entrée-sorties et interaction avec le système d&#039;exploitation&lt;br /&gt;
* C avancé: &lt;br /&gt;
** allocation dynamique &lt;br /&gt;
** modèle mémoire (pile, tas, code) &lt;br /&gt;
** pointeurs sur structures &lt;br /&gt;
** pointeurs sur fonctions&lt;br /&gt;
* Bonnes pratiques&lt;br /&gt;
&lt;br /&gt;
==== En TP ==== &lt;br /&gt;
* un TP de mise en route et de précision de la notion de compilation en C&lt;br /&gt;
* un projet logiciel sur les deux dernières séances (8h)&lt;br /&gt;
&lt;br /&gt;
==== Outils et concepts (survol théorique et utilisation optionnelle en TP) ====&lt;br /&gt;
* automatisation de la compilation (make), &lt;br /&gt;
* analyse de l&#039;exécution et déboguage (gdb et DDD), &lt;br /&gt;
* boîte à outils graphique (gtk+)&lt;br /&gt;
&lt;br /&gt;
=== Supports ===&lt;br /&gt;
&lt;br /&gt;
* Exercices de TD :&lt;br /&gt;
*# la [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-TD1.pdf feuille 1] ; &lt;br /&gt;
*# la [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-TD2.pdf feuille 2] et une archive [http://www.lama.univ-savoie.fr/~vaux/ens/liste.tar.gz &amp;lt;tt&amp;gt;liste.tar.gz&amp;lt;/tt&amp;gt;] comprenant une solution pour l&#039;implémentation des listes et des listes triées (les piles ont été traitées en [[INFO517-cours7|séance 7]]).&lt;br /&gt;
&lt;br /&gt;
* Devoir à la maison : le sujet [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-DM1.pdf &amp;lt;tt&amp;gt;INFO517-DM1.pdf&amp;lt;/tt&amp;gt;] et les fichiers sources [http://www.lama.univ-savoie.fr/~vaux/ens/dm1.c &amp;lt;tt&amp;gt;dm1.c&amp;lt;/tt&amp;gt;] et [http://www.lama.univ-savoie.fr/~vaux/ens/mat.c &amp;lt;tt&amp;gt;mat.c&amp;lt;/tt&amp;gt;] associés.&lt;br /&gt;
&lt;br /&gt;
* Examens :&lt;br /&gt;
*# sujet [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-Partiel1.pdf &amp;lt;tt&amp;gt;INFO517-Partiel1.pdf&amp;lt;/tt&amp;gt;] et corrigé [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-Partiel1-correction.pdf &amp;lt;tt&amp;gt;INFO517-Partiel1-correction.pdf&amp;lt;/tt&amp;gt;].&lt;br /&gt;
*# sujet [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-Partiel2.pdf &amp;lt;tt&amp;gt;INFO517-Partiel2.pdf&amp;lt;/tt&amp;gt;] et corrigé [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-Partiel2-correction.pdf &amp;lt;tt&amp;gt;INFO517-Partiel2-correction.pdf&amp;lt;/tt&amp;gt;].&lt;br /&gt;
*# sujet [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-Terminal.pdf &amp;lt;tt&amp;gt;INFO517-Terminal.pdf&amp;lt;/tt&amp;gt;] et corrigé [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-Terminal-correction.pdf &amp;lt;tt&amp;gt;INFO517-Terminal-correction.pdf&amp;lt;/tt&amp;gt;].&lt;br /&gt;
*# sujet [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-Rattrapage.pdf &amp;lt;tt&amp;gt;INFO517-Rattrapage.pdf&amp;lt;/tt&amp;gt;] et corrigé [http://www.lama.univ-savoie.fr/~vaux/ens/INFO517-Rattrapage-correction.pdf &amp;lt;tt&amp;gt;INFO517-Rattrapage-correction.pdf&amp;lt;/tt&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
=== Séances de Cours/TD ===&lt;br /&gt;
&lt;br /&gt;
# [[INFO517-cours1|lundi 22 septembre 2008]]. &lt;br /&gt;
#* mise en route: exemples de programmes simples et compilation;&lt;br /&gt;
#* syntaxe de base: types, déclarations, affectations, boucles, entrées et sorties simples (caractère par caractère);&lt;br /&gt;
# [[INFO517-cours2|lundi 29 septembre 2008]]&lt;br /&gt;
#* fonctions;&lt;br /&gt;
#* tableaux et chaînes;&lt;br /&gt;
#* récursion;&lt;br /&gt;
# [[INFO517-cours3|lundi 6 octobre 2008]]&lt;br /&gt;
#* exercices (feuille 1);&lt;br /&gt;
# [[INFO517-cours4|lundi 13 octobre 2008]]&lt;br /&gt;
#* adresses et pointeurs;&lt;br /&gt;
#* passage par adresse;&lt;br /&gt;
#* les tableaux comme pointeurs;&lt;br /&gt;
#* opérateur &amp;lt;tt&amp;gt;sizeof&amp;lt;/tt&amp;gt;;&lt;br /&gt;
#* arithmétique de pointeurs;&lt;br /&gt;
#* allocation des variables locales: le problème des tableaux;&lt;br /&gt;
#* allocation dynamique: &amp;lt;tt&amp;gt;malloc()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;free()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;realloc()&amp;lt;/tt&amp;gt;;&lt;br /&gt;
# [[INFO517-cours5|lundi 20 octobre 2008]]&lt;br /&gt;
#* modèle mémoire: pile, tas, segment de code;&lt;br /&gt;
#* différence entre déclaration de tableau et déclaration de pointeur;&lt;br /&gt;
#* affichage des données de la pile d&#039;exécution, adresses de retour;&lt;br /&gt;
# [[INFO517-cours6|lundi 3 novembre 2008]]&lt;br /&gt;
#* types complexes: &amp;lt;tt&amp;gt;struct&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;union&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;enum&amp;lt;/tt&amp;gt;;&lt;br /&gt;
#* premier partiel;&lt;br /&gt;
# [[INFO517-cours7|lundi 10 novembre 2008]]&lt;br /&gt;
#* pointeurs vers &amp;lt;tt&amp;gt;struct&amp;lt;/tt&amp;gt;;&lt;br /&gt;
#* structures récursives;&lt;br /&gt;
#* exemple: les piles (FILO);&lt;br /&gt;
#* &amp;lt;tt&amp;gt;Makefile&amp;lt;/tt&amp;gt;s;&lt;br /&gt;
#* exercices (feuille 2);&lt;br /&gt;
# [[INFO517-cours8|lundi 17 novembre 2008]]&lt;br /&gt;
#* correction du premier partiel;&lt;br /&gt;
#* exercices (suite de la feuille 2);&lt;br /&gt;
# [[INFO517-cours9|lundi 24 novembre 2008]]&lt;br /&gt;
#* préparation du TP1&lt;br /&gt;
#* entrées et sorties dans des fichiers&lt;br /&gt;
#* opérations bit-à-bit;&lt;br /&gt;
# [[INFO517-cours10|lundi 1er décembre 2008]]&lt;br /&gt;
#* deuxième partiel;&lt;br /&gt;
#* pointeurs sur fonctions;&lt;br /&gt;
#* une session DDD;&lt;br /&gt;
&lt;br /&gt;
=== Séances de TP ===&lt;br /&gt;
&lt;br /&gt;
Les sujets de TP se trouvent sur &lt;br /&gt;
[http://www.lama.univ-savoie.fr/~vaux/ens/INFO-517-TP cette page].&lt;br /&gt;
&lt;br /&gt;
# mercredi 15 octobre 2008 : [http://www.lama.univ-savoie.fr/~vaux/ens/INFO-517-TP/TP0.html TP0 — Préliminaires]&lt;br /&gt;
# vendredi 28 novembre 2008 : [http://www.lama.univ-savoie.fr/~vaux/ens/INFO-517-TP/TP1.html TP1 — Formats d&#039;image]&lt;br /&gt;
# vendredi 12 décembre 2008 : [http://www.lama.univ-savoie.fr/~vaux/ens/INFO-517-TP/TP2.html TP2 — Affichage et interface graphique]&lt;br /&gt;
&lt;br /&gt;
==Références==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;The C programming language&#039;&#039;, de Kernighan et Ritchie;&lt;br /&gt;
* &#039;&#039;Le langage C&#039;&#039;, version française du précédent;&lt;br /&gt;
* Le polycopié de Bernard Cassagne, disponible [http://www-clips.imag.fr/commun/bernard.cassagne/Introduction_ANSI_C.html ici], au format [http://www-clips.imag.fr/commun/bernard.cassagne/Introduction_ANSI_C.html html] (consultable en ligne) ou [ftp://ftp.imag.fr/pub/labo-CLIPS/commun/C/Introduction_ANSI_C.pdf pdf];&lt;br /&gt;
* Le wikilivre [http://fr.wikibooks.org/wiki/Programmation_C &#039;&#039;Programmation C&#039;&#039;]: un livre de cours sur le mode wikipedia.&lt;br /&gt;
&lt;br /&gt;
[http://customessays.ws/ Custom essay]&lt;/div&gt;</summary>
		<author><name>Quentinscott</name></author>
	</entry>
</feed>