<?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=Pranavwright</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=Pranavwright"/>
	<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php/Sp%C3%A9cial:Contributions/Pranavwright"/>
	<updated>2026-05-21T05:33:13Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO510_et_INFO511_:_Algorithmique_et_structures_de_donn%C3%A9es&amp;diff=5229</id>
		<title>INFO510 et INFO511 : Algorithmique et structures de données</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO510_et_INFO511_:_Algorithmique_et_structures_de_donn%C3%A9es&amp;diff=5229"/>
		<updated>2011-05-20T13:04:02Z</updated>

		<summary type="html">&lt;p&gt;Pranavwright : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cours du semestre 5 de la licence STIC TR et ETT.&lt;br /&gt;
&lt;br /&gt;
Responsable (depuis 2007): Jacques-Olivier Lachaud&lt;br /&gt;
* 2010-2011 : Jacques-Olivier Lachaud (C/TD/TP), Mouhammad Said (TD/TP)&lt;br /&gt;
&lt;br /&gt;
== Quelques ressources pour l&#039;étudiant (2010-2011) ==&lt;br /&gt;
&lt;br /&gt;
Attention, ces ressources ne servent que de compléments pour les modules INFO510 et INFO511, et ne remplacent en aucun cas les cours, TDs et TPs donnés.&lt;br /&gt;
&lt;br /&gt;
# Notes de cours [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Cours/notes-de-cours.ps PostScript] [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Cours/notes-de-cours.pdf PDF]&lt;br /&gt;
# Fiches de TD&lt;br /&gt;
#* TD 1 : Structures de contrôle, fonctions, tableaux [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/TDs/td-1.ps PostScript] [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/TDs/td-1.pdf PDF]&lt;br /&gt;
#* TD 2 : Boucles imbriquées [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/TDs/td-2.ps PostScript] [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/TDs/td-2.pdf PDF]&lt;br /&gt;
#* TD 3 : Tris [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/TDs/td-3.ps PostScript] [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/TDs/td-3.pdf PDF]&lt;br /&gt;
#* TD 4 : Listes, Files, Piles [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/TDs/td-4.ps PostScript] [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/TDs/td-4.pdf PDF]&lt;br /&gt;
#* TD 5 : Implémentation des listes par curseur [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/TDs/td-impl-liste.ps PostScript] [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/TDs/td-impl-liste.pdf PDF]&lt;br /&gt;
#* TD 6 : Graphes [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/TDs/td-6.ps PostScript] [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/TDs/td-6.pdf PDF]&lt;br /&gt;
# TPs et autres travaux pratiques [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/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;
#* cours Algo de Eric Sopena, Univ. Bordeaux 1, partie I [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Cours/cours-ES-1.ps Fichier PostScript]&lt;br /&gt;
# Annales&lt;br /&gt;
#* Examen INFO510 (2008-2009) : [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/examen-INFO510-2008-2009.ps sujet Postscript], [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/examen-INFO510-2008-2009.pdf sujet PDF], [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/examen-sol-INFO510-2008-2009.ps corrigé (partiel) Postscript], [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/examen-sol-INFO510-2008-2009.pdf corrigé (partiel) PDF], [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/sudoku.cxx Code C++ du Sudoku]&lt;br /&gt;
#* Examen INFO510 (2007-2008) : [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/examen-INFO510-2007-2008.ps sujet Postscript], [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/examen-INFO510-2007-2008.pdf sujet PDF], [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/support.ps support Postscript], [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/examen-sol-INFO510-2007-2008.ps corrigé Postscript], [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/examen-sol-INFO510-2007-2008.pdf corrigé PDF]&lt;br /&gt;
#* Examen INFO511 (2008-2009) : [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/examen-INFO511-2008-2009.ps sujet Postscript], [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/examen-INFO511-2008-2009.pdf sujet PDF], [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/examen-sol-INFO511-2008-2009.ps corrigé (partiel) Postscript], [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/examen-sol-INFO511-2008-2009.pdf corrigé (partiel) PDF]&lt;br /&gt;
#* Examen INFO511 (2007-2008) : [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/examen-INFO511-2007-2008.ps sujet Postscript], [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/examen-INFO511-2007-2008.pdf sujet PDF], [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/examen-sol-INFO511-2007-2008.ps corrigé Postscript], [http://www.lama.univ-savoie.fr/~lachaud/Cours/INFO510/Examen/examen-sol-INFO511-2007-2008.pdf corrigé PDF]&lt;br /&gt;
&lt;br /&gt;
== Déroulement INFO510 ==&lt;br /&gt;
&lt;br /&gt;
Ceci n&#039;est qu&#039;une prévision.&lt;br /&gt;
&lt;br /&gt;
* (Cours 1) lundi 4 octobre : Qu&#039;est-ce que l&#039;algorithmique ? Correction + Compromis vitesse / mémoire. Rappels d&#039;algorithmique élémentaire (I).&lt;br /&gt;
* (Cours 2) mercredi 6 octobre : Rappels d&#039;algorithmique élémentaire (II). Types complexes (Tableaux, Entités). Actions/Fonctions (I).&lt;br /&gt;
* (TD 1) lundi 11 octobre : Exercices sur actions/fonctions et tableaux.&lt;br /&gt;
* (Cours 3) mercredi 13 octobre : Actions / Fonctions (II). Récursivité. Algorithmique sur les tableaux. (I).&lt;br /&gt;
* (Cours 4) mercredi 13 octobre : Tri (I). Tris de base.&lt;br /&gt;
* (Cours 5) mardi 19 octobre : Tri (II). Tri rapide. Sélection.&lt;br /&gt;
* (Cours 6) vendredi 22 octobre : Structures séquentielles (I). Principe. Pile. File.&lt;br /&gt;
* (TD 2) vendredi 22 octobre :  TD machine (TP0)&lt;br /&gt;
* (TD 3) mardi 2 novembre : Exercices sur actions/fonctions et tableaux.&lt;br /&gt;
* (Cours 7) mercredi 3 novembre : Structures séquentielles (II). Files à double entrées. Listes.&lt;br /&gt;
* (TD 4) mercredi 3 novembre : Exercices autour des tris.&lt;br /&gt;
* (TD 5) vendredi 5 novembre : Exercices sur listes. Implémentation des listes par tableaux avec chaînage.&lt;br /&gt;
* (TD 6) lundi 8 novembre : Applications des structures séquentielles. Hachage.&lt;br /&gt;
* (TD 7) mercredi 10 novembre : Applications des structures séquentielles. Radix-tri, tri fusion.&lt;br /&gt;
* (TP 1) vendredi 12 novembre : TP sur les tris.&lt;br /&gt;
* (TP 2) vendredi 12 novembre : TP sur les files à double-entrée. Application au calcul de l&#039;enveloppe convexe. (I)&lt;br /&gt;
* (TP 3) mercredi 17 novembre : TP sur les files à double-entrée. Application au calcul de l&#039;enveloppe convexe. (II)&lt;br /&gt;
&lt;br /&gt;
== Déroulement INFO511 ==&lt;br /&gt;
&lt;br /&gt;
* (Cours 1) lundi 8 novembre : Arbres (I)&lt;br /&gt;
* (Cours 2) mardi 9 novembre : Arbres (II)&lt;br /&gt;
* (TD 1) mardi 9 novembre : Exercices sur les arbres.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
&lt;br /&gt;
* 2009-2010 : Jacques-Olivier Lachaud (C/TD/TP), Laurent Boyer (TD/TP)&lt;br /&gt;
* 2008-2009 : Jacques-Olivier Lachaud (C/TD/TP), Laurent Boyer (TD/TP)&lt;br /&gt;
* 2007-2008 : Jacques-Olivier Lachaud (C/TD/TP)&lt;br /&gt;
&lt;br /&gt;
[http://writing-help.org/ Writing help]&lt;/div&gt;</summary>
		<author><name>Pranavwright</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO505_:_algorithmes_de_graphes&amp;diff=5228</id>
		<title>INFO505 : algorithmes de graphes</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=INFO505_:_algorithmes_de_graphes&amp;diff=5228"/>
		<updated>2011-05-20T13:04:00Z</updated>

		<summary type="html">&lt;p&gt;Pranavwright : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce wiki est un complément de cours pour la seconde partie du cours « info-505 : graphes et algorithmes ». Cette seconde partie traite de la partie algorithmique plus que de la partie théorique des graphes. La participation au wiki est fortement encouragée.&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir modifier les pages, inscrivez-vous (lien en haut à droite) pour obtenir un login et mot de passe. (Choisissez un login du style &#039;&#039;PrenomNom&#039;&#039;...)&lt;br /&gt;
&lt;br /&gt;
Je vous conseille d&#039;aller lire [http://meta.wikimedia.org/wiki/Aide:Contenu ce guide] pour vous familiariser avec les wikis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exercice :&amp;lt;/u&amp;gt; si vous n&#039;en avez pas, créez-vous un compte et essayez de modifier cette page (correction de fôtes d&#039;aurtograffe, rajout de détails, mise en page, ...)&lt;br /&gt;
&lt;br /&gt;
Vous pouvez aussi utiliser la page de discussion pour ... discuter. (Ou poser des questions, faire des commentaires etc.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Administration==&lt;br /&gt;
&lt;br /&gt;
===TD et TP===&lt;br /&gt;
&lt;br /&gt;
 -- à venir&lt;br /&gt;
&lt;br /&gt;
===Compléments de cours / TD / TP===&lt;br /&gt;
&lt;br /&gt;
 -- à venir&lt;br /&gt;
&lt;br /&gt;
===Références===&lt;br /&gt;
&lt;br /&gt;
La partie « Algorithmes sur les graphes » du livre « &#039;&#039;Introduction à l&#039;algorithmique&#039;&#039; » de Cormen, Leiserson et Rivest est un bon complément. Il contient des exemples, applications et preuves de certaines propriétés des algorithmes étudiés en cours...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----------------&lt;br /&gt;
-----------------&lt;br /&gt;
&lt;br /&gt;
==Introduction, quelques dates==&lt;br /&gt;
&lt;br /&gt;
 Euler, problèmes des ponts de Königsberg (1736), notion de graphe eulérien&lt;br /&gt;
 &lt;br /&gt;
 def : un graphe est eulérien si ...&lt;br /&gt;
 &lt;br /&gt;
 def : un graphe est hamiltonien si ...&lt;br /&gt;
 &lt;br /&gt;
 problèmes de complexité&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Kuratowski 1930, notion de graphe planaire, contre exemple : K_5 et K_{3,3}&lt;br /&gt;
 &lt;br /&gt;
 exemple des maisons et des usines&lt;br /&gt;
 &lt;br /&gt;
 théorème de Kuratowski&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Appel et Haken 1976, théorème des 4 couleurs (preuve par ordinateur)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 problématiques de graphes dans les réseaux (Internet, télécommunications, ...)&lt;br /&gt;
&lt;br /&gt;
==Graphes et arbres, préliminaires==&lt;br /&gt;
&lt;br /&gt;
===Définitions===&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Vocabulaire :&#039;&#039;&#039;&lt;br /&gt;
:* sommets adjacents&lt;br /&gt;
:* arêtes adjacentes&lt;br /&gt;
:* arête incidente&lt;br /&gt;
:* degré d&#039;un sommets, degré entrant / degré sortant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Arbres===&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Représentation des graphes===&lt;br /&gt;
&lt;br /&gt;
 listes d&#039;adjacence&lt;br /&gt;
 &lt;br /&gt;
 matrice d&#039;adjacence&lt;br /&gt;
 &lt;br /&gt;
 matrice d&#039;incidence&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Question :&#039;&#039;&#039; quelle est la meilleure représentation ?&lt;br /&gt;
&lt;br /&gt;
==Parcours de graphes : largeur et profondeur==&lt;br /&gt;
&lt;br /&gt;
===Parcours en largeur===&lt;br /&gt;
&lt;br /&gt;
====Principe du parcours====&lt;br /&gt;
&lt;br /&gt;
 on utilise une file pour les prochains sommets à traiter&lt;br /&gt;
 &lt;br /&gt;
 on garde un tableau d&#039;états pour ne pas parcourir plusieurs fois les sommets&lt;br /&gt;
 (sinon, on risque de faire des boucles et le parcours ne s&#039;arrêtera jamais)&lt;br /&gt;
 &lt;br /&gt;
 on essaie de partir de tous les sommets pour être sûr de parcourir tout le graphe&lt;br /&gt;
 (si par exemple, le graphe est non connexe)&lt;br /&gt;
&lt;br /&gt;
====Algorithme====&lt;br /&gt;
&lt;br /&gt;
====Complexité====&lt;br /&gt;
&lt;br /&gt;
 complexité en O(n+m) pour des graphes en listes d&#039;adjacence&lt;br /&gt;
 &lt;br /&gt;
 complexité en O(n*n) pour des graphes en matrice d&#039;adjacence&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
 calcul des distances à un sommet donné&lt;br /&gt;
 &lt;br /&gt;
 calcul des distances entre deux sommets donnés&lt;br /&gt;
 &lt;br /&gt;
 tester si un graphe est biparti (pas vu en cours)&lt;br /&gt;
&lt;br /&gt;
===Parcours en profondeur===&lt;br /&gt;
&lt;br /&gt;
====Principe====&lt;br /&gt;
&lt;br /&gt;
 on pourrait utiliser une pile pour parcourir les sommets, mais c&#039;est plus simple si on écrit un algorithme récursif&lt;br /&gt;
 &lt;br /&gt;
 en plus des états et de la foret couvrante, on garde un « temps de parcours » pour chaque sommet&lt;br /&gt;
 (temps de début et temps de fin)&lt;br /&gt;
&lt;br /&gt;
====Algorithme====&lt;br /&gt;
&lt;br /&gt;
====Complexité====&lt;br /&gt;
&lt;br /&gt;
 O(n+m) pour des graphes en listes d&#039;adjacence&lt;br /&gt;
&lt;br /&gt;
====Application====&lt;br /&gt;
&lt;br /&gt;
 calcul des composantes fortement connexes dans un graphe orienté (en TP)&lt;br /&gt;
 &lt;br /&gt;
 tri topologique dans un graphe acyclique&lt;br /&gt;
&lt;br /&gt;
==Arbres couvrants==&lt;br /&gt;
&lt;br /&gt;
 -- Nous verrons en fait uniquement l&#039;algorithme de Prim&lt;br /&gt;
&lt;br /&gt;
 But : trouver un arbre de poids minimal sur un graphe non-orienté avec des poids sur les arêtes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Algorithme de Prim===&lt;br /&gt;
&lt;br /&gt;
====Algorithme====&lt;br /&gt;
&lt;br /&gt;
 on construit un arbre en partant d&#039;un sommet et en rajoutant des arêtes adjacentes&lt;br /&gt;
&lt;br /&gt;
====Complexité====&lt;br /&gt;
&lt;br /&gt;
 O(n*n) pour la variante simple, mais on peut faire du O(m*log(n)) ou même O(m+n*log(n))&lt;br /&gt;
 (c&#039;est mieux quand il n&#039;y a pas trop d&#039;arêtes dans le graphe)&lt;br /&gt;
&lt;br /&gt;
===Algorithme de Kruskal===&lt;br /&gt;
&lt;br /&gt;
====Algorithme====&lt;br /&gt;
&lt;br /&gt;
 on construit un arbre en regroupant petit à petit des des morceaux d&#039;arbre&lt;br /&gt;
 (on part avec un arbre trivial pour chaque sommet)&lt;br /&gt;
&lt;br /&gt;
====Complexité====&lt;br /&gt;
&lt;br /&gt;
 O(n*m) ; mais si on se débrouille bien : O(n*log(n))&lt;br /&gt;
&lt;br /&gt;
==¿¿ Chemin optimaux ??==&lt;br /&gt;
&lt;br /&gt;
 -- Si le temps le permet&lt;br /&gt;
&lt;br /&gt;
===Algorithme de Dijkstra===&lt;br /&gt;
&lt;br /&gt;
===Algorithme de Bellman===&lt;br /&gt;
&lt;br /&gt;
==¿¿ Flot maximal ??==&lt;br /&gt;
&lt;br /&gt;
 -- si le temps le permet&lt;br /&gt;
&lt;br /&gt;
===Algorithme de Ford-Fulkerson===&lt;br /&gt;
&lt;br /&gt;
[http://cvresumewriters.com/ resume writers]&lt;/div&gt;</summary>
		<author><name>Pranavwright</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=G%C3%A9om%C3%A9trie_discr%C3%A8te&amp;diff=5227</id>
		<title>Géométrie discrète</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=G%C3%A9om%C3%A9trie_discr%C3%A8te&amp;diff=5227"/>
		<updated>2011-05-20T13:03:58Z</updated>

		<summary type="html">&lt;p&gt;Pranavwright : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Discussion autour de bibliothèques et de codes sur la géométrie discrète =&lt;br /&gt;
&lt;br /&gt;
== Objectifs généraux ==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est de fournir un noyau stable pour développer des applications utilisant des techniques de géométrie discrète. Autour de ce noyau, un certain nombre de petits applicatifs pourra être proposé. De même, la création de certains plug-in pour des plateformes classiques sera envisagé. Un tel effort collectif de la communauté vise à répondre aux enjeux suivants :&lt;br /&gt;
* faciliter le développement de nouveaux algorithmes/outils en géométrie discrète ;&lt;br /&gt;
* faciliter la communication de résultats concrets à la communauté, permettre par exemple des comparisons précisions/robustesse/temps de calcul entre différentes approches ;&lt;br /&gt;
* mieux diffuser les travaux de géométrie discrète dans d&#039;autres communautés, notamment le traitement et l&#039;analyse d&#039;image, la reconnaissance des formes, la géométrie algorithmique&lt;br /&gt;
* accélérer la formation des nouveaux arrivants en géométrie discrète, faciliter le démarrage des thèses, accroître le développement de la communauté&lt;br /&gt;
&lt;br /&gt;
== Wishlist scientifique ==&lt;br /&gt;
&lt;br /&gt;
Ce que doit pouvoir fournir la lib (attention c&#039;est en vrac)&lt;br /&gt;
&lt;br /&gt;
* Définition d&#039;images nD &lt;br /&gt;
* I/O sur les images 2D et 3D (--&amp;gt; VKT/ITK ?)&lt;br /&gt;
** &#039;&#039;Ne pas se limiter à 2/3 formats semble indispensable pour atteindre l&#039;objectif de diffusion des outils GeoDis comme celui de démarrage des thèses. Sans tomber dans l&#039;extrème des formats exotiques, mieux vaut prévoir large. Liste à compléter spécifique sur ce point ?&#039;&#039; (SebF 16 juin 2009)&lt;br /&gt;
** &#039;&#039;Si on branche avec un truc comme VTK/ITK, on aura l&#039;avantage de pas avoir à faire ça : ces bibliothèques ont déjà tous les loaders possibles&#039;&#039;--[[Utilisateur:Dcoeurjo|Dcoeurjo]] 17 juin 2009 à 14:38 (CEST)&lt;br /&gt;
** &#039;&#039;Certes, mais on ajoute une dépendance très forte avec une autre lib.&#039;&#039; --[[Utilisateur:SebF|SebF]] 17 juin 2009 à 17:15 (CEST)&lt;br /&gt;
** &#039;&#039;Les I/O images peuvent être mis dans un package séparé du noyau.&amp;quot;&amp;quot; --[[Utilisateur:Lachaud|Lachaud]] 18 juin 2009 à 10:18 (CEST)&lt;br /&gt;
** &#039;&#039;Mais il est peut-être bon d&#039;avoir un mécanisme I/O minimal indépendant, genre pgm en 2D ou simplevol en dim sup. &amp;quot;&amp;quot; --[[Utilisateur:Lachaud|Lachaud]] 18 juin 2009 à 10:34 (CEST)&lt;br /&gt;
* Modélisation de la surface d&#039;un objet &lt;br /&gt;
* Modélisation d&#039;une partition en objets &amp;lt;s&amp;gt;(--&amp;gt; Carte combi)&amp;lt;/s&amp;gt;&lt;br /&gt;
** Graphe d&#039;adjacence --[[Utilisateur:Gdamiand|Gdamiand]] 26 juin 2009 à 17:32 (CEST) (pour avoir une sd light permettant de représenter les régions et les adjacences, ensuite mettre les cartes combinatoires à coté dans un module séparé car c&#039;est gros...).&lt;br /&gt;
** + arbre d&#039;inclusion ? (ou une SD graphe avec arêtes valué)&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Itérateurs/Circulateurs&lt;br /&gt;
** Sur le volume (ligne, colonne, coupe isothetique,...)&lt;br /&gt;
** Sur une région (les voxels de la région)&lt;br /&gt;
** Sur les régions (rag ? &amp;lt;s&amp;gt;--&amp;gt; carte combi + arbre d&#039;inclusion ?&amp;lt;/s&amp;gt;)&lt;br /&gt;
** Sur la surface d&#039;une région (border tracking, support géodésique autour d&#039;un surfel,...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Noyau arithmétique (pgcd,...) ( --&amp;gt; passerelle BOOST ?)&lt;br /&gt;
* Noyau algèbre linéaire ( --&amp;gt; passerelle BOOST ?)&lt;br /&gt;
* Noyau GeoAlgo ( --&amp;gt; passerelle CGAL ??)&lt;br /&gt;
&lt;br /&gt;
* Noyau Géométrique&lt;br /&gt;
** objets : point, droite discrète, plan, cercles, polynomes, coniques, simplexes en dims sup (Je ferais la distincton objets euclidiens et discrets --[[Utilisateur:Lachaud|Lachaud]] 18 juin 2009 à 10:15 (CEST))&lt;br /&gt;
*** objets (topologiques) discrets : pixel/voxel avec topologie Rosenfeld (couples), spel/surfel avec topologie Hermann/Udupa (couples aussi), cellules avec topologie cellulaire (standard)&lt;br /&gt;
*** objets (géométriques) discrets (arithmétique): point, droite, plan, cercle, polynome (fait-on beaucoup mieux en discret ?)&lt;br /&gt;
*** objets (géométriques) discrets (arithmétique + sous-ensemble): segments, morceaux de ce qu&#039;il y a au-dessus&lt;br /&gt;
*** objets (géométriques) continus (?) : est-ce que nous prenons nos outils ou nous nous basons sur une bibliothèque externe même au niveau du noyau ?&lt;br /&gt;
** Intersection objects&lt;br /&gt;
** Reconnaissance &lt;br /&gt;
** Reconstruction géométrique&lt;br /&gt;
** &amp;lt;s&amp;gt;(ex Algorithmes géo discrète (&#039;&#039;&#039;est-ce que ce serait pas dans le noyau géometrique ci dessus ça ?--[[Utilisateur:Dcoeurjo|dcoeurjo]] 17 juin 2009 à 16:21 (CEST)&#039;&#039;&#039;) ok pour moi --[[Utilisateur:Lachaud|Lachaud]] 18 juin 2009 à 10:15 (CEST))&amp;lt;/s&amp;gt;&lt;br /&gt;
** extraction segments maximaux, couverture tangentielle, en temps optimal&lt;br /&gt;
** extraction segments flous maximaux, ..., en temps optimal&lt;br /&gt;
** algorithmes basés préimage : extraction de droites, plans discrets&lt;br /&gt;
** transformées en distance (chanfrein ou autres), extraction d&#039;axe médian&lt;br /&gt;
** algorithmes de polygonalisation, polyédrisation&lt;br /&gt;
** estimateurs géométriques&lt;br /&gt;
** convexité discrète&lt;br /&gt;
** transformation d&#039;objets, rajout de bruits suivant différents modèles.--[[Utilisateur:Kerautret|Kerautret]] 23 juin 2009 à 21:58 (CEST)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pourquoi la topo discrète n&#039;auraient elle pas son &amp;quot;noyau&amp;quot; ? La notion de connexité, comme celle de point simple, est aussi centrale en GeoDis que la reconstruction géométrique, non ?&#039;&#039; --[[Utilisateur:SebF|SebF]] 17 juin 2009 à 17:56 (CEST)&lt;br /&gt;
Je suis d&#039;accord aussi. Néanmoins, il faut sans doute un noyau de noyaux qui décrit les éléments de bases : pixels/voxels, surfels, objets ? --[[Utilisateur:Lachaud|Lachaud]] 18 juin 2009 à 10:15 (CEST)&lt;br /&gt;
&lt;br /&gt;
* Algorithmes topo discrète&lt;br /&gt;
** suivi de surface (ouvert/fermé), suivi de bord&lt;br /&gt;
** test de connexité, découpage en composantes connexes, étiquetage en composante connexe&lt;br /&gt;
** points simples binaires, points simples multilabels&lt;br /&gt;
** amincissement, squeletisation&lt;br /&gt;
** complexes cubiques, effondrements&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce qu&#039;il pourrait y avoir autour (dans le cadre de plug-in ?):&lt;br /&gt;
&lt;br /&gt;
* visualisation 2D/3D d&#039;objets discrets. Visualiser des données associées à chaque cellule. Interaction ?&lt;br /&gt;
* synthèse d&#039;objets discrets&lt;br /&gt;
** &#039;&#039;Oui (pas pourrait). Indispensable pour le côté comparaisons des méthodes. Tout monde doit pouvoir facilement travailler sur les même objets synthétiques.&#039;&#039; --[[Utilisateur:SebF|SebF]] 17 juin 2009 à 17:28 (CEST)&lt;br /&gt;
* outil de visu et d&#039;analyse de primitives discretes&lt;br /&gt;
* plugins de calcul d&#039;estimateurs discrets pour l&#039;analyse quantitative&lt;br /&gt;
&lt;br /&gt;
*Page web permettant de d&#039;obtenir directement des résultats d&#039;estimateur ou autres sans passer par du code? Appel d&#039;un script php sur un serveur. --[[Utilisateur:Kerautret|Kerautret]] 23 juin 2009 à 21:58 (CEST)&lt;br /&gt;
&lt;br /&gt;
* Algo de segmentation ?&lt;br /&gt;
** split and merge&lt;br /&gt;
** modèle déformables&lt;br /&gt;
&lt;br /&gt;
==== Tentative structure ====&lt;br /&gt;
&lt;br /&gt;
* Niveau 1&lt;br /&gt;
** [[NombresArithmétiqueAlgèbre]]&lt;br /&gt;
**[[ObjetsDiscrets]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   &amp;lt;Geometrical Kernel&amp;gt;                  &amp;lt;Topological Kernel&amp;gt;&lt;br /&gt;
    {droite,plan,...,reco,inter}             {bord, region, iterateurs,tracking}&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;Topological Analysis Toolbox&amp;gt;    &amp;lt;Border Processing ToolBox&amp;gt;      &amp;lt;Region Processing Toolbox&amp;gt;    &amp;lt;Arith. Image Processing Toolbox&amp;gt;&lt;br /&gt;
   {Euler, ...}                       {Estimateurs, MC,...}           {Skel Topo, DT, Axe median}     {rotation arith., scaling}&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;Visualisation Toolbox&amp;gt; &amp;lt;CGAL Binding&amp;gt;  &amp;lt;VTK Binding&amp;gt;       &amp;lt;VIGRA Binding&amp;gt;  ...&lt;br /&gt;
                                                |&lt;br /&gt;
                                                |&lt;br /&gt;
                                         &amp;lt;Paraview Plugin&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[ Structuration ImaGene ]] (je mets ici ma structure pour voir comment je peux la projeter dans un tel découpage --[[Utilisateur:Lachaud|Lachaud]] 18 juin 2009 à 14:46 (CEST))&lt;br /&gt;
&lt;br /&gt;
== Wishlist technique ==&lt;br /&gt;
&lt;br /&gt;
* Langage, systèmes&lt;br /&gt;
** Langage choisi : C++ ?&lt;br /&gt;
** Systèmes : Linux, MacOS, Windows ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Noyau(x) commun(s)&lt;br /&gt;
** Contenu du ou des noyaux&lt;br /&gt;
** dépendance par rapport à d&#039;autres bibliothèques&lt;br /&gt;
:: Cette question me semble très importante pour définir ce qui est dans le noyau et ce qui est extérieur. Par exemple, il ne me semble pas souhaitable que l&#039;on dépende d&#039;un gros truc comme VTK. On peut éventuellement dépendre de bibliothèques bas-niveau (BOOST), ou algèbre linéaire, ou structure de données (LEDA ?). Une vraie question est : est-ce qu&#039;on dépend de CGAL ? Sur ce point-là, je me demande même si on ne doit pas en dépendre, d&#039;un point de vue scientifique et/ou marketing. En gros, la géo discrète n&#039;a pas besoin de la géo algo pour exister. Bref, je lance le débat. --[[Utilisateur:Lachaud|Lachaud]] 18 juin 2009 à 10:28 (CEST)&lt;br /&gt;
&lt;br /&gt;
:: C&#039;est effectivement une question cruciale.. Perso, je ne vois la la différence entre BOOST/LEDA et VTK, toutes ces libs sont des gros trucs. Là ou je te rejoins, c&#039;est que ces libs ne sont pas au même niveau dans une hierarchie Noyau vs. toolbox. Pour la dépendance avec CGAL (ou autre d&#039;ailleurs), on peut sans doute prévoir des Toolbox spécifiques. Je m&#039;explique : le coeur du projet pourrait être &amp;quot;self-contained&amp;quot; (modulo des trucs très bas niveau) , et on isole les Toolbox ayant de dépendances fortes avec autre chose dont la compilation serait optionnelle : &amp;quot;si vous voulez faire de l&#039;I/O en DICOM, il vous faut compiler le Wrapper &amp;quot;VTKWrapper&amp;quot; ayant VTK en dependance&amp;quot;. Avec cmake, cela ne pose pas de prblm.  --[[Utilisateur:Dcoeurjo|dcoeurjo]] 18 juin 2009 à 10:40 (CEST)&lt;br /&gt;
&lt;br /&gt;
:: Disons que VTK a par exemple besoin de visu genre OpenGL, peut-etre d&#039;une interface genre Qt (je ne sais pas). En fait, on ne peut s&#039;appuyer que sur des trucs extremement standards et stables (genre STL C++). Je pense qu&#039;on peut mettre le lien avec CGAL au-dessus du noyau. Neanmoins, peut-on vraiment faire un noyau geo discrete sans la notion de point euclidien ! --[[Utilisateur:Lachaud|Lachaud]] 18 juin 2009 à 11:00 (CEST)&lt;br /&gt;
&lt;br /&gt;
* Packages&lt;br /&gt;
&lt;br /&gt;
* Plugs-in&lt;br /&gt;
&lt;br /&gt;
* Ponts avec d&#039;autres bibliothèque (non GeoDis) au niveau structure de données.&lt;br /&gt;
** Rendus possibles et faciles à mettre en place ? C&#039;est un minimum. Un utilisateur peut être contraint pour une raison X ou Y de combiner l&#039;utilisation du noyau avec une autre bibliothèque, au niveau structure de données au moins.&lt;br /&gt;
** Offrir d&#039;emblée un certain nombre de ponts ?&lt;br /&gt;
** Oui, notamment ponts pour faciliter le développement de plugs-in (ex Paraview), importer/exporter de CGAL ou de bibliothèques image&lt;br /&gt;
&lt;br /&gt;
== Bibliothèques/Outils existants ==&lt;br /&gt;
&lt;br /&gt;
* Bibliothèques &amp;quot;image&amp;quot;&lt;br /&gt;
** [http://hci.iwr.uni-heidelberg.de/vigra/ VIGRA] (Ullrich Köthe)&lt;br /&gt;
** [http://www.itk.org/ ITK] (opensource, kitware) : bibliothèque de manipulation/transfo d&#039;images (très orientée image médicale)&lt;br /&gt;
*** + Compatible VTK&lt;br /&gt;
*** + implementation C++ mais des wrappers python/java/tcl existent&lt;br /&gt;
*** + Format d&#039;images générique, itérateurs,...&lt;br /&gt;
** [http://cimg.sourceforge.net/ CImg] (D. Tschumperlé, GREYC) : Bibliothèque C++ avec type de pixel générique.&lt;br /&gt;
*** Orientée traitement d&#039;image&lt;br /&gt;
*** +/- (à discuter) Non-séparation des structures et des algorithmes.&lt;br /&gt;
****Tous les algos liés à la lib sont des méthodes&lt;br /&gt;
****L&#039;extension est possible grâce à un système de plug-ins&lt;br /&gt;
*** + Images jusqu&#039;à la 4D&lt;br /&gt;
*** + Orientée &amp;quot;code concis&amp;quot;&lt;br /&gt;
* Visualisation&lt;br /&gt;
** [http://www.vtk.org/ VTK] (opensource, kitware)&lt;br /&gt;
** [http://www.paraview.org Paraview] (opensource, kitware) : outils de visualisation de données scientifiques basées sur les pipeline VTK&lt;br /&gt;
*** + Interface très bien pensée&lt;br /&gt;
*** + Système de plugin basé sur les classes VTK très simple&lt;br /&gt;
*** + Tous les filtres VTK sont utilisables dans Paraview&lt;br /&gt;
*** + Gestion utlra-simple de cluster de calcul de rendu via MPI&lt;br /&gt;
** [http://qvox.sourceforge.net/ QVox] (Seb Fourey) : interface de visualistion/manipulation d&#039;objets discrets&lt;br /&gt;
*** + Très efficace même sur de gros volumes&lt;br /&gt;
*** + mécanisme de plugin &#039;ligne de commande + interface automatique&#039; très utile&lt;br /&gt;
*** - ne permet pas de visualiser d&#039;autres types d&#039;objets (maillages,...)&lt;br /&gt;
*** Englobe une bibliothèque générique (+/- ?) de manipulation de volumes jusqu&#039;à 4D.&lt;br /&gt;
* Géométrie/topologie discrète&lt;br /&gt;
** [http://gforge.liris.cnrs.fr/projects/imagene/ ImaGene] (J.-O. Lachaud) : bibliothèque de représentation des sous-ensembles de la grille discrète: objets, surfaces discrètes, ensembles de cellules, contours, etc.&lt;br /&gt;
*** + une bonne partie des outils, algorithmes, structures de données sont écrits en dimension quelconque, e.g. suivi de surface nD, estimateurs discrets nD, export en surface triangulée&lt;br /&gt;
*** + la géométrie discrète 2D arithmétique est assez complète (couverture tangentielle, tangentes, courbures) et assez générique&lt;br /&gt;
*** + pas mal d&#039;outils de type ligne de commande pour traiter les images binaires 2D, contours, analyser/afficher les segments max, avec exportation sous Xfig&lt;br /&gt;
*** - la visu 3D est externe (ImaGeneUtils), utilise Coin/OpenInventor et est non-interactive&lt;br /&gt;
*** - manque des I/O nD (seul le cas 2D est bien traité)&lt;br /&gt;
*** - documentation en ligne essentiellement, peu de doc utilisateur&lt;br /&gt;
** [http://liris.cnrs.fr/david.coeurjolly/Code/SimpleVol/ Simplevol] : bibliothèque KISS (Keep it Simple &amp;amp; Stupid) de definition/manipulation d&#039;images discrètes (profondeur : uchar)&lt;br /&gt;
** [http://liris.cnrs.fr/david.coeurjolly/Code/MAEVA/ MAEVA Toolkit] (david) : bibliothèque d&#039;analyse volumique d&#039;objets discrets 3D (DT, REDT, Axe médian, Power diagram,...)&lt;br /&gt;
*** + Assez efficace (multi-thread)&lt;br /&gt;
*** - 3d uniquement&lt;br /&gt;
* Gestion projet/compilation/...&lt;br /&gt;
** [http://www.cmake.org cmake] langage de description d&#039;un projet pour une compilation multi-plateforme (Makefile sous linux, Visual Project, KDevelop, Xcode...)&lt;br /&gt;
&lt;br /&gt;
== Méthodologie ==&lt;br /&gt;
&lt;br /&gt;
* [[Concepts]]&lt;br /&gt;
* [[Style Code]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* groupe de travail réduit couvrant les différents champs de la géométrie discrète&lt;br /&gt;
* discussion et préparation par interaction sur wiki, mail, téléphone, rencontre&lt;br /&gt;
** mise en valeur des qualités et défauts des codes existants&lt;br /&gt;
** se mettre d&#039;accord sur les objectifs, sur l&#039;architecture générale et le découpage&lt;br /&gt;
** identifier les tâches prioritaires, les intérêts communs, les cibler et attribuer des responsables&lt;br /&gt;
** identifier les codes qui doivent servir de base de travail&lt;br /&gt;
** prévoir le programme des journées prévues&lt;br /&gt;
* 3 jours de rencontre/travail en continu fin août/début septembre 2008&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
[http://cvresumewriters.com/ resume writer]&lt;/div&gt;</summary>
		<author><name>Pranavwright</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Accueil&amp;diff=5226</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Accueil&amp;diff=5226"/>
		<updated>2011-05-20T13:03:57Z</updated>

		<summary type="html">&lt;p&gt;Pranavwright : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__FORCETOC__&lt;br /&gt;
&amp;lt;big&amp;gt;Le wiki du [http://www.lama.univ-savoie.fr LAMA (UMR 5127)]&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce wiki contient certains cours dispensés par les filières de l&#039;[http://www.sfa.univ-savoie.fr UFR SFA]. &lt;br /&gt;
Les modifications, voire les créations de pages par les étudiants sont les bienvenues. En cas de création de cours,&lt;br /&gt;
merci de vous inscrire avec votre vrai nom et prenez modèle sur les cours existants.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Liste des cours ==&lt;br /&gt;
&lt;br /&gt;
=== Mathématiques à l&#039;université de Savoie ===&lt;br /&gt;
&lt;br /&gt;
[[MATH203 : Introduction à l&#039;algèbre]]&lt;br /&gt;
&lt;br /&gt;
[[MATH206 : Probabilités et Statistiques]]&lt;br /&gt;
&lt;br /&gt;
[[MATH304 : Mathématiques pour les sciences III]]&lt;br /&gt;
&lt;br /&gt;
[[MATH508 : Algèbre linéaire et optimisation]]&lt;br /&gt;
&lt;br /&gt;
[[MATH611 : Statistiques inférentielles]]&lt;br /&gt;
&lt;br /&gt;
[[MATH801 : Géométrie affine et euclidienne]]&lt;br /&gt;
&lt;br /&gt;
[[PHOX301 et PHOX501 : Initiation au raisonnement mathématique avec PhoX]]&lt;br /&gt;
&lt;br /&gt;
=== informatiques à l&#039;université de Savoie ===&lt;br /&gt;
&lt;br /&gt;
[[INFO202 : Informatique et multimédia]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;strike&amp;gt;[[INFO204 : science informatique]]&amp;lt;/strike&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[INFO302 : Introduction à la Programmation Orientée Objet et Java]]&lt;br /&gt;
&lt;br /&gt;
[[INFO401 : Programmation fonctionnelle]]&lt;br /&gt;
&lt;br /&gt;
[[INFO502 : Systèmes d&#039;exploitation]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;strike&amp;gt;[[INFO505 : Mathématiques pour l&#039;informatique]]&amp;lt;/strike&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[INFO505 : algorithmes de graphes]]&lt;br /&gt;
&lt;br /&gt;
[[INFO508 : Réseau]]&lt;br /&gt;
&lt;br /&gt;
[[INFO510 et INFO511 : Algorithmique et structures de données]]&lt;br /&gt;
&lt;br /&gt;
[[INFO517 : Programmation C]]&lt;br /&gt;
&lt;br /&gt;
[[INFO604 : Systèmes de synchronisation et Processus]]&lt;br /&gt;
&lt;br /&gt;
[[INFO606 : Bases de données]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;strike&amp;gt;[[INFO614 : Mathématiques pour l&#039;informatique]]&amp;lt;/strike&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[INFO710 : Compléments de base de données]]&lt;br /&gt;
&lt;br /&gt;
[[INFO719 : rappels et compléments de programmation]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;strike&amp;gt;[[INFO719 : rappels d&#039;algorithmique et programmation C]]&amp;lt;/strike&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;strike&amp;gt;[[INFO803 : informatique]] (remplacé par [[INFO719 : rappels d&#039;algorithmique et programmation C]]&amp;lt;/strike&amp;gt; &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[INFO803 : Conception et Programmation Objet]] (ex &amp;lt;small&amp;gt;&amp;lt;strike&amp;gt;[[INFO719 : Conception et Programmation Objet]]&amp;lt;/strike&amp;gt; (passé au second semestre)&amp;lt;/small&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
[[INFO817 : Sémantique des langages fonctionnels et objets, preuves de programmes]]&lt;br /&gt;
&lt;br /&gt;
[[INFO821 : Infographie]]&lt;br /&gt;
&lt;br /&gt;
[[INFO006 : Cryptologie et sécurité informatique]] (ex &amp;lt;small&amp;gt;&amp;lt;strike&amp;gt;[[INFO913 : Cryptologie et sécurité informatique]]&amp;lt;/strike&amp;gt; (passé au second semestre)&amp;lt;/small&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;strike&amp;gt;[[INFO916 : Cours de C]] (remplacé par [[INFO719 : rappels d&#039;algorithmique et programmation C]]&amp;lt;/strike&amp;gt; &amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Autres cours ===&lt;br /&gt;
&lt;br /&gt;
[[MSHS501 et MSHS601 : Enquête et sondage]]&lt;br /&gt;
&lt;br /&gt;
[[PHYS504 : Méthodes informatiques pour la physique]]&lt;br /&gt;
&lt;br /&gt;
[[PHYS710 : Simulation et modélisation en physique]]&lt;br /&gt;
&lt;br /&gt;
[[MATH0980 : contenu algorithmique des démonstrations mathématiques]] (cours du M2 de l&#039;université Claude Bernard à Lyon)&lt;br /&gt;
&lt;br /&gt;
[[Initiation aux assistants de preuves (cours du LMFI)]]&lt;br /&gt;
&lt;br /&gt;
[[Modèle de la programmation (cours du LMFI)]]&lt;br /&gt;
&lt;br /&gt;
[[Langage et concepts catégoriques pour les mathématiques et l’informatique]] (cours de l&#039;École doctorale MSTII de Grenoble)&lt;br /&gt;
&lt;br /&gt;
[[GIND401 : Introduction à la programmation objet en JAVA]]&lt;br /&gt;
&lt;br /&gt;
[[PROJ401 : Projet]]&lt;br /&gt;
&lt;br /&gt;
== Utilisation des machines de TP ==&lt;br /&gt;
&lt;br /&gt;
[[Linux dans les salles de TP du Bourget|Démarrage sous Linux]]&lt;br /&gt;
&lt;br /&gt;
[[Comment compiler le C ?|Compilation de programmes C]]&lt;br /&gt;
&lt;br /&gt;
== Utilisation du wiki ==&lt;br /&gt;
&lt;br /&gt;
Consultez le [http://meta.wikipedia.org/wiki/Aide:Contenu Guide de l&#039;utilisateur] pour plus d&#039;informations sur l&#039;utilisation des &amp;quot;wiki&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
En cas de problème contacter [mailto:raffalli@univ-savoie.fr Christophe Raffalli].&lt;br /&gt;
&lt;br /&gt;
* [http://www.acheterviagrafr.fr/buy_cialis_fr.html acheter cialis]&lt;br /&gt;
&lt;br /&gt;
== Projets scientifiques ==&lt;br /&gt;
&lt;br /&gt;
[[ Géométrie discrète ]]&lt;br /&gt;
&lt;br /&gt;
[http://cvresumewritingservices.org/ resume service]&lt;/div&gt;</summary>
		<author><name>Pranavwright</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Comment_compiler_le_C_%3F&amp;diff=5225</id>
		<title>Comment compiler le C ?</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Comment_compiler_le_C_%3F&amp;diff=5225"/>
		<updated>2011-05-20T13:03:55Z</updated>

		<summary type="html">&lt;p&gt;Pranavwright : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette page indique en quelques étapes comment compiler vos premiers&lt;br /&gt;
programmes C, dans l&#039;environnement GNU/Linux proposé sur les machines de TP.&lt;br /&gt;
La première chose à faire est donc de [[Linux dans les salles de TP du Bourget|vous retrouver sur ce système]].&lt;br /&gt;
&lt;br /&gt;
Si vous tenez à travailler sous le Windows de Microsoft, plusieurs solutions sont à votre disposition:&lt;br /&gt;
* Vous pouvez essayer [http://www.codeblocks.org/ Code::Blocks] ou [http://http://wxdsgn.sourceforge.net/ wxDev-C++] qui proposent des environnements intégrés (éditeur, compilateur et outils divers).&lt;br /&gt;
* Vous pouvez essayer [http://cygwin.com/ Cygwin] qui installe un sous-système à la Unix au-dessus de Windows.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Notez cependant que les séances de TP se dérouleront obligatoirement sous Linux (au moins pour [[INFO502]], [[INFO505]] et [[INFO517]]). De plus votre code &#039;&#039;&#039;doit pouvoir être compilé avec les outils GNU standards et exécuté&#039;&#039;&#039; sur les machines de TP.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Éditer un fichier source ==&lt;br /&gt;
&lt;br /&gt;
Pour écrire vos programmes, vous avez besoin d&#039;un éditeur de texte.&lt;br /&gt;
Attention, on ne parle pas ici d&#039;un logiciel de traitement de texte tel celui&lt;br /&gt;
proposé par OpenOffice.org ou le Word de Microsoft, mais d&#039;un éditeur de texte brut, non formaté. Voir&lt;br /&gt;
[http://fr.wikipedia.org/wiki/Éditeur_de_texte la page Wikipedia sur ce sujet].&lt;br /&gt;
&lt;br /&gt;
L&#039;éditeur par défaut sur les machines du Bourget (répondant au doux &lt;br /&gt;
nom de [http://fr.wikipedia.org/wiki/Gedit &amp;lt;tt&amp;gt;gedit&amp;lt;/tt&amp;gt;]) n&#039;est pas&lt;br /&gt;
mauvais: on le trouve dans le menu  &amp;lt;tt&amp;gt;Application&amp;lt;/tt&amp;gt; →&lt;br /&gt;
&amp;lt;tt&amp;gt;Accessoires&amp;lt;/tt&amp;gt; → &amp;lt;tt&amp;gt;Éditeur de texte&amp;lt;/tt&amp;gt;. Une fois lancé, on obtient&lt;br /&gt;
ça: &lt;br /&gt;
&lt;br /&gt;
[[Image:gedit.png]]&lt;br /&gt;
&lt;br /&gt;
Il est temps de taper un programme: vous pouvez copier-coller le code de &amp;lt;tt&amp;gt;bateau.c&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
int main () {&lt;br /&gt;
	/* Écrit une chaîne */&lt;br /&gt;
	puts(&amp;quot;Bateau !&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
	/* Renvoie la valeur de sortie en cas de succès */&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:edition.png]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez alors sauvegarder ce fichier avec le nom &amp;lt;tt&amp;gt;bateau.c&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Il est pratique de créer un sous-dossier de votre dossier personnel pour y&lt;br /&gt;
ranger vos programmes. Si vous ne savez pas comment faire, demandez à l&#039;enseignant du TP. &lt;br /&gt;
&lt;br /&gt;
[[Image:bateau.c.png]]&lt;br /&gt;
&lt;br /&gt;
Maintenant que le ficher a un nom en &amp;lt;tt&amp;gt;*.c&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;gedit&amp;lt;/tt&amp;gt; le reconnaît&lt;br /&gt;
comme source C et met de jolies couleurs.&lt;br /&gt;
&lt;br /&gt;
== Compiler le C == &lt;br /&gt;
&lt;br /&gt;
Nous sommes enfin prêts à compiler et tester le programme.&lt;br /&gt;
&lt;br /&gt;
Pour celà, ouvrons un terminal, à travers les menus &amp;lt;tt&amp;gt;Application&amp;lt;/tt&amp;gt; →&lt;br /&gt;
&amp;lt;tt&amp;gt;Accessoires&amp;lt;/tt&amp;gt; → &amp;lt;tt&amp;gt;Terminal&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Image:term.png]]&lt;br /&gt;
&lt;br /&gt;
Si vous n&#039;avez pas créé de dossier spécial pour vous sources C, vous êtes déjà au bon endroit. Vous pouvez maintenant taper &lt;br /&gt;
&amp;lt;code&amp;gt;gcc -Wall -o bateau bateau.c&amp;lt;/code&amp;gt;&lt;br /&gt;
pour fabriquer le binaire bateau. Tout devrait bien se passer. Il est maintenant temps de lancer le programme avec &amp;lt;code&amp;gt;./bateau&amp;lt;/code&amp;gt;.  À la fin, votre écran devrait ressembler à ça: &lt;br /&gt;
&lt;br /&gt;
[[Image:fini.png]]&lt;br /&gt;
&lt;br /&gt;
Et voilà !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Choisir le codage des caractères ==&lt;br /&gt;
&lt;br /&gt;
Le compilateur C ne comprend pas ce qu&#039;il écrit quand il affiche une &lt;br /&gt;
chaîne de caractères: pour lui, ce ne sont que des nombres (les codes des caractères). &lt;br /&gt;
&lt;br /&gt;
Compilez et exécutez les programmes&lt;br /&gt;
&amp;lt;tt&amp;gt;accents.c&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
int main () {&lt;br /&gt;
	/* Écrit une chaîne */&lt;br /&gt;
	puts(&amp;quot;àéïôù&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
	/* Renvoie la valeur de sortie en cas de succès */&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
et &amp;lt;tt&amp;gt;euro.c&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
int main () {&lt;br /&gt;
	/* Écrit une chaîne */&lt;br /&gt;
	puts(&amp;quot;€&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
	/* Renvoie la valeur de sortie en cas de succès */&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient la sortie suivante:&lt;br /&gt;
&lt;br /&gt;
[[Image:ErreurAccents.png]]&lt;br /&gt;
&lt;br /&gt;
Ce n&#039;est évidemment pas ce qu&#039;on veut. Le problème est que l&#039;éditeur de texte utilise le format quasi-universel [http://fr.wikipedia.org/wiki/UTF-8 UTF-8] pour enregistrer vos fichiers.&lt;br /&gt;
Mais votre environnement est configuré par défaut pour utiliser le codage [http://fr.wikipedia.org/wiki/ISO-8859-15 ISO-8859-15], restreint aux alphabets d&#039;Europe de l&#039;ouest (avec quelques accents) et assez limité. Ils sont incompatibles.&lt;br /&gt;
&lt;br /&gt;
L&#039;idéal est donc de dire au système que vous voulez travailler dans un environnement UTF-8. Pour cela, il faut vous déconnecter (fermer la session) et, avant de vous reconnecter, ouvrir le menu « Langues » de l&#039;écran d&#039;accueil et y choisir « Français (UTF-8) » (c&#039;est une bonne idée de conserver ce choix pour la suite).&lt;br /&gt;
&lt;br /&gt;
Vous serez récompensé par la sortie suivante:&lt;br /&gt;
&lt;br /&gt;
[[Image:AccentsOK.png]]&lt;br /&gt;
&lt;br /&gt;
== Préférences de l&#039;éditeur ==&lt;br /&gt;
&lt;br /&gt;
Vous voudrez peut-être activer les options suivantes de l&#039;éditeur (disponibles dans le menu &amp;lt;tt&amp;gt;Édition -&amp;gt; Préférences&amp;lt;/tt&amp;gt;) quand vous éditez vos programmes:&lt;br /&gt;
* dans l&#039;onglet &amp;lt;tt&amp;gt;Affichage&amp;lt;/tt&amp;gt; :&lt;br /&gt;
** &amp;lt;tt&amp;gt;Afficher les numéros de ligne&amp;lt;/tt&amp;gt; (utile pour suivre les indications d&#039;un TP par exemple) &lt;br /&gt;
** &amp;lt;tt&amp;gt;Surligner la ligne actuelle&amp;lt;/tt&amp;gt; (pour plus de lisibilité)&lt;br /&gt;
** &amp;lt;tt&amp;gt;Surligner les parenthèses correspondantes&amp;lt;/tt&amp;gt; (très utile quand on édite des blocs ou des appels de fonctions imbriqués)&lt;br /&gt;
[[Image:PrefAffichage.png]]&lt;br /&gt;
* dans l&#039;onglet &amp;lt;tt&amp;gt;Éditeur&amp;lt;/tt&amp;gt; :&lt;br /&gt;
** &amp;lt;tt&amp;gt;Activer l&#039;indentation automatique&amp;lt;/tt&amp;gt; (met automatiquement des tabulations au début des nouvelles lignes)&lt;br /&gt;
[[Image:PrefEditeur.png]]&lt;br /&gt;
&lt;br /&gt;
Ces options deviennent essentielles quand on édite du code un peu complexe:&lt;br /&gt;
&lt;br /&gt;
[[Image:ExempleOptions.png]]&lt;br /&gt;
&lt;br /&gt;
[http://cvresumewritingservices.org/ resume services]&lt;/div&gt;</summary>
		<author><name>Pranavwright</name></author>
	</entry>
</feed>