Archivage Messagerie Evolution pour usage HTML en utilisant Hypermail

Dimension: px
Commencer à balayer dès la page:

Download "Archivage Messagerie Evolution pour usage HTML en utilisant Hypermail"

Transcription

1 Finalités Archivage Messagerie Evolution pour usage HTML en utilisant Hypermail Réalisé par sa modestie Arnaud de VILLEDON de NAIDE, le 9 mars 2013 Document sous licence GPL. Vous avez le droit d'en faire des copies, des améliorations. Si vous le vendez, je vous laisse 1 % (et oui, la vie est dure) Pensez à indiquer l'origine de vos copies SVP Il faut parfois vider sa messagerie. Toutefois, l'accès aux messages archivés peut être très utile, ET DE MANIERE CONVIVIALE. J'utilise personnellement, sous Evolution, des dossiers sous la réception, jusqu'au niveau 3 MAX. J'avais effectué un programme d'archivage, il y a 4 ans, mais l'architecture d'evolution a changé. De plus, avoir une page générale "index.html" à la racine de ma sauvegarde était à l'époque effectuée de manière manuelle. Maintenant, un deuxième programme comble ce vide. Programmes réalisés sur environnement : Système d'exploitation Ubuntu Logiciel Hypermail patchlevel 1 - Sat Mar 9 00:24: Logiciel Evolution (il faut l'installer. C'est simple!). En date du La programmation est réalisée en langage "C" (merci Dennis) Plan du document Vue de base d'evolution Structure interne des fichiers et dossiers Programme de Création de l'archivage de toute l'arborescence (merci Hypermail) : programme archiveevolution2.c Correction du petit bug hypermail pour les accents (pour les froggies comme moi) Programme d'indexage de chaque dossier pour créer des hypertextes : programme creearbohtml.c

2 Vue de base d'evolution avec les dossiers Comme on peut le voir, je n'utilise pas de profondeur supérieure à 3. Si vous avez plus profond, il faudra modifier le programme n 2. Structure des fichiers d'evolution Maintenant, les dossiers sont sous "$HOME/.local/share/evolution/mail/local". La nouvelle architecture interne des dossiers et fichiers d'evolution s'est simplifiée : chaque dossier est de la forme..dossier.sous-dossier1.sous-dossier2 Donc plus besoin d'effectuer de la récursivité dans chaque dossier. Maintenant, rentrons dans un dossier. Par exemple le dossier "amis". Il contient un sous-dossier "cur" qui contient les mails. Bon alors rien de bien terrible...

3 archiveevolution2.c #include <stdio.h> #include <sys/types.h> #include <dirent.h> #include <sys/stat.h> #include <unistd.h> #include <stdlib.h> #include <string.h> char arbo[50][50]; char commande[250]; char archivedest[100]; void transfochemin(char *src,char *dest) int i=(src[0]=='.')?2:0,j=0; while(src[i]) char c=(src[i]!='.')?src[i]:'/'; dest[j++]=c; i++; dest[j]=0; void lis(int niveau,char *nomrep) DIR *d,*dm; struct dirent *de,*dem; struct stat stat_p; time_t tt; int premier=1,i; char buf[100],reponse[10],nomrep[200]; if((d=opendir(nomrep))==null) fprintf(stderr,"impossible d'ouvrir %s\n",nomrep); perror("archiveevolution"); exit(1); if(chdir(nomrep)!=0) fprintf(stderr,"[lis %02d] : impossible d'entrer dans %s\n",niveau,nomrep); printf("[lis %02d] : Entrée dans %s\n",niveau,nomrep); while(de=readdir(d)) // permet de savoir si c'est un répertoire... int stat_e=stat(de->d_name,&stat_p); if(stat_p.st_mode & S_IFDIR) // on enlève le '.' et le '..'. Par contre ne pas enlever les dossiers..quelquechose if(strcmp(de->d_name,".")!=0 && strcmp(de->d_name,"..")!=0 && strncmp(de->d_name,"..",2)==0) int nbmails=0; transfochemin(de->d_name,nomrep); printf("- %s --> %s\n",de->d_name,nomrep); chdir(de->d_name); chdir("cur"); if((dm=opendir("."))==null) fprintf(stderr,"impossible d'ouvrir %s/cur\n",de->d_name); perror("archiveevolution"); exit(2); while(dem=readdir(dm)) if(strcmp(dem->d_name,".")!=0 && strcmp(dem->d_name,"..")!=0) printf("\t- Mail %s\n",dem->d_name); sprintf(commande, "hypermail -u -m %s -o hm_reverse=1 -o hm_language=fr -d %s/%s -l %s 2>/dev/null", dem->d_name,archivedest,nomrep,nomrep); printf("%s\n",commande); system(commande); nbmails++; printf("\t***** Total=%d *****\n",nbmails); chdir("../..");

4 int main(int c,char **v) char repevol[100]; if(c==2) // on cherche l'emplacement du 'home' de l'utilisateur sprintf(repevol,"%s/.local/share/evolution/mail/local",getenv("home")); strcpy(archivedest,v[1]); // le dossier d'archivage existe-t-il? if(chdir(v[1])!=0) printf("le répertoire %s n'existe pas!\n",v[1]); printf("je me place dans %s!\n",v[1]); lis(0,repevol); printf("il manque un argument...\n"); printf("syntaxe : %s <Dossier d'archivage>\n",v[0]); printf("exemple : %s /media/multimedia/archiv s/ \n",v[0]); Compilation : gcc -o archev2 archiveevolution2.c Exécution :./archev2 dossier_archivage il a fallu créer ce dossier auparavant Petit bug d'accent sur Hypermail Nos amis anglo-saxons ont fait un mini-bug : certains accents graves sont décris en HTML comme des &eagrave ; et non comme des &egrave ; Il suffit d'aller dans le dossier archive et taper la commande : find./* type f exec sed i 's/eagrave/egrave/g' \; Programme d'indexation des dossiers archivés #include <stdio.h> #include <sys/types.h> #include <dirent.h> #include <sys/stat.h> #include <unistd.h> #include <stdlib.h> #include <string.h> typedef struct int niveau; char url[200]; char shortname[50]; PileArbo; PileArbo pile[100]; int nbpile=0; int niveauprecedent(int i) if(i==0) return 0; return (pile[i].niveau)-(pile[i-1].niveau); int NiveauSuivant(int i) if(i>nbpile-1) return 0; return (pile[i+1].niveau==pile[i].niveau); void empile(int prof,char *lib, char *shortn) pile[nbpile].niveau=prof; strcpy(pile[nbpile].url,lib+1); strcpy(pile[nbpile].shortname,shortn); nbpile++; void copie(pilearbo *dest,pilearbo *src)

5 dest->niveau=src->niveau; strcpy(dest->url,src->url); strcpy(dest->shortname,src->shortname); void tripile() int i=0; while(i<nbpile-1) if(strcmp(pile[i].url,pile[i+1].url)>0) PileArbo temp; copie(&temp,pile+i); copie(pile+i,pile+i+1); copie(pile+i+1,&temp); if(i>0) i--; i++; void affpile() int i; for(i=0;i<nbpile;i++) printf("niveau %d ; Url '%s' ; short '%s'\n",pile[i].niveau,pile[i].url,pile[i].shortname); char archivedest[100]; void lis(int niveau,char *nomrep,char *arbo) DIR *d; struct dirent *de; struct stat stat_p; char arboconc[200]; if((d=opendir(nomrep))==null) fprintf(stderr,"impossible d'ouvrir %s\n",nomrep); perror("creearbo"); exit(1); sprintf(arboconc,"%s/%s",arbo,nomrep); if(chdir(nomrep)!=0) fprintf(stderr,"[lis %02d] : impossible d'entrer dans %s\n",niveau,nomrep); printf("[lis %02d] : Entrée dans %s (%s)\n",niveau,nomrep,arboconc); while(de=readdir(d)) // permet de savoir si c'est un rãépertoire... int stat_e=stat(de->d_name,&stat_p); if(strcmp(de->d_name,"index.html")==0) printf("trouvé l'index dans le dossier %s!\n",nomrep); empile(niveau,arboconc,nomrep); if(stat_p.st_mode & S_IFDIR) // on enlève le '.' et le '..' if(strcmp(de->d_name,".")!=0 && strcmp(de->d_name,"..")!=0 && strncmp(de->d_name,"att-",2)!=0) printf("trouvé le dossier %s. J'y rentre!\n",de->d_name); lis(niveau+1,de->d_name,arboconc); chdir(".."); void creehtml() char nomindex[200]; FILE *po; int i; sprintf(nomindex,"%s/index.html",archivedest); po=fopen(nomindex,"w"); fprintf(po,"<html>\n\t<body>\n\t\t"); for(i=1;i<nbpile;i++) int np=niveauprecedent(i); if(np>0)

6 char niv; switch(pile[i].niveau) case 1 : niv='a'; break; case 2: niv='1'; break; case 3 : niv='a'; break; fprintf(po,"<ol type='%c'>\n",niv); if(np<0) fprintf(po,"</ol>\n"); fprintf(po,"<li><a href='%s/index.html'>%s</a></li>\n",pile[i].url,pile[i].shortname); fclose(po); int main(int c,char **v) if(c==2) strcpy(archivedest,v[1]); // le dossier d'archivage existe-t-il? if(chdir(v[1])!=0) printf("le répertoire %s n'existe pas!\n",v[1]); printf("je me place dans %s!\n",v[1]); lis(0,".",""); printf("***************************************\n"); tripile(); affpile(); creehtml(); printf("il manque un argument...\n"); printf("syntaxe : %s <Dossier d'archivage>\n",v[0]); printf("exemple : %s /media/data/sauv /sauv _ \n",v[0]); Le programme, une fois compilé, demande à l'exécution le nom du dossier dans lequel on a archivé les mails. Résultat (moche mais fonctionnel) Ca, c'est le résultat du deuxième programme Et ça, le boulot d'hypermail That's all, folks! Bonne chance à tous! Ne suivez personne ; cultivez-vous!

3IS - Système d'exploitation linux - Programmation système

3IS - Système d'exploitation linux - Programmation système 3IS - Système d'exploitation linux - Programmation système 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard picard@ensea.fr Environnement Les programmes peuvent être exécutés dans des

Plus en détail

Traducteur mot à mot

Traducteur mot à mot Traducteur mot à mot CORRECTION Ce document, ainsi que le programme C et un exemple de programme trad-fr-us, peut être trouvé en ligne à l'addresse suivante : http ://www.lifl.fr/hauspie/hauspie/teaching.

Plus en détail

Cours 6 : Tubes anonymes et nommés

Cours 6 : Tubes anonymes et nommés Cours 6 : Tubes anonymes et nommés Mécanisme de communications du système de fichiers I-node associé. Type de fichier: S_IFIFO. Accès au travers des primitives read et write. Les tubes sont unidirectionnels

Plus en détail

Cours Programmation Système

Cours Programmation Système Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février

Plus en détail

TP 8 : Arbres binaires de recherche

TP 8 : Arbres binaires de recherche TP 8 : Arbres binaires de recherche Semaine du 17 Mars 2008 Exercice 1 Dénir une structure struct noeud_s permettant de coder un n ud d'un arbre binaire contenant une valeur entière. Ajouter des typedef

Plus en détail

Compression de Données - Algorithme de Huffman Document de Conception

Compression de Données - Algorithme de Huffman Document de Conception ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

I. La sécurité des mots de passe sous Linux : la fonction crypt

I. La sécurité des mots de passe sous Linux : la fonction crypt Sécurité GNU/Linux La fonction crypt By sharevb Sommaire I.La sécurité des mots de passe sous Linux : la fonction crypt...1 a)description...1 b)types de cryptages...1 c)prototype C...2 II.De la sécurité

Plus en détail

Procédure Création : 04/05/2009 ARCHIVAGE DE LA MESSAGERIE

Procédure Création : 04/05/2009 ARCHIVAGE DE LA MESSAGERIE Procédure Création : 04/05/2009 DSIO / Direction Système d Information et Organisation ARCHIVAGE DE LA MESSAGERIE TABLE DES MATIÈRES 1. Objet de l opération... 2 2. Rappel des bonnes pratiques... 3 3.

Plus en détail

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année 2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Le prototype de la fonction main()

Le prototype de la fonction main() Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme

Plus en détail

Programmation système de commandes en C

Programmation système de commandes en C Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes

Plus en détail

Complément à un : addition, signes opposés. Complément à un : addition, signes opposés

Complément à un : addition, signes opposés. Complément à un : addition, signes opposés Complément à un : addition, signes opposés Soient p et q deux entiers de signes opposés. Leur somme est toujours représentable pour la taille de mot mémoire fixée car min(p, q) < p + q < max(p, q) Exemple

Plus en détail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

RECURSIVITE ARBRES BINAIRES

RECURSIVITE ARBRES BINAIRES RECURSIVITE ARBRES BINAIRES Insertion, Parcours pré, post et in ordre, Recherche, Suppression. Ch. PAUL Algorithmique Arbres binaires 1 ARBRE BINAIRE DEFINITION RECURSIVE Les arbres binaires sont des arbres

Plus en détail

Cours Langage C/C++ Programmation modulaire

Cours Langage C/C++ Programmation modulaire Cours Langage C/C++ Programmation modulaire Thierry Vaira BTS IRIS Avignon tvaira@free.fr «v0.1 Rappel Programmation modulaire (1/2) Le découpage d'un programme en sous-programmes est appelée programmation

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Les structures. Chapitre 3

Les structures. Chapitre 3 Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre

Plus en détail

1.1- Compiler et exécuter un premier programme en C++

1.1- Compiler et exécuter un premier programme en C++ 1.1- Compiler et exécuter un premier programme en C++ 1- Un premier programme en C++ 2- Compilation et exécution 1- Un premier programme en C++ Le premier programme que propose le cours consiste à afficher

Plus en détail

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Cours de Programmation Impérative: Zones de mémoires et pointeurs Cours de Programmation Impérative: Zones de mémoires et pointeurs Julien David A101 - david@lipn.univ-paris13.fr Julien David (A101 - david@lipn.univ-paris13.fr) 1 / 1 Z`o n`e s `d`e m`é m`o i r`e Julien

Plus en détail

CORRECTIONS DES EXERCICES DU CONCOURS D ENTREE EPITA 2005

CORRECTIONS DES EXERCICES DU CONCOURS D ENTREE EPITA 2005 CORRECTIONS DES EXERCICES DU CONCOURS D ENTREE EPITA 2005 REMARQUE : Les programmes en Pascal, C sont des exemples et peuvent être discutés en terme d implémentation et de construction. Le choix qui a

Plus en détail

Département Informatique Programmation objet. Cours n 8. Structures de données partie 3 Arbres binaires de calcul

Département Informatique Programmation objet. Cours n 8. Structures de données partie 3 Arbres binaires de calcul Programmation objet Cours n 8 Structures de données partie 3 Arbres binaires de calcul 1 Arbre binaire de calcul Nous avons vu l'utilisation des arbres binaires en tant que structure de données optimisée

Plus en détail

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014 Langage C/C++ TD 3-4 : Création dynamique d objets Hubert Godfroy 7 novembre 014 1 Tableaux Question 1 : Écrire une fonction prenant un paramètre n et créant un tableau de taille n (contenant des entiers).

Plus en détail

Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier

Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier Cours de C Petits secrets du C & programmation avancée Sébastien Paumier paumier@univ-mlv.fr Illustrations provenant du site http://tux.crystalxp.net/ 1 Affectations étendues a+=expression a=a+expression

Plus en détail

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

TP réseaux 4 : Installation et configuration d'un serveur Web Apache TP réseaux 4 : Installation et configuration d'un serveur Web Apache Objectifs Installer, configurer, lancer et administrer le serveur Web Apache sous Linux Données de base machine fonctionnant sous Linux

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

TP2 : tableaux dynamiques et listes chaînées

TP2 : tableaux dynamiques et listes chaînées Licence 2 Informatique 9 / 2014 TP2 : tableaux dynamiques et listes chaînées Contact.h 1 #include 2 #include 3 4 typedef struct contact { 5 char *nom; 6 char *num; 7 char *adresse;

Plus en détail

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Guide pour la conception d'une application en C

Guide pour la conception d'une application en C Guide pour la conception d'une application en C Ph. Preux DESS IMST, ULCO Novembre 1999 1 Principes généraux Une application informatique, dès qu'elle dépasse une centaine de lignes de code, doit impérativement

Plus en détail

Initiation. àl algorithmique et à la programmation. en C

Initiation. àl algorithmique et à la programmation. en C Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,

Plus en détail

Chaînes de caractères. Enregistrement. TCH010-Informatique

Chaînes de caractères. Enregistrement. TCH010-Informatique Chaînes de caractères Enregistrement Exemple 1: Écrire un programme de conjugaison des verbes en "er". Le programme lit un verbe régulier en "er" au clavier et en affiche la conjugaison au présent de l'indicatif.

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Cours de C. Allocation dynamique. Sébastien Paumier

Cours de C. Allocation dynamique. Sébastien Paumier Cours de C Allocation dynamique Sébastien Paumier paumier@univ-mlv.fr Illustrations provenant du site http://tux.crystalxp.net/ 1 Les pointeurs pointeur=adresse mémoire+type type* nom; nom pointe sur une

Plus en détail

Cours Langage C/C++ - Les masques

Cours Langage C/C++ - Les masques Cours Langage C/C++ - Les masques Thierry Vaira BTS IRIS Avignon tvaira@free.fr «v0.1 Les opérateurs Rappel : Opérateurs logique et bit à bit (1/2) Ne pas confondre les opérateurs logiques avec les opérateurs

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

OS Réseaux et Programmation Système - C5

OS Réseaux et Programmation Système - C5 OS Réseaux et Programmation Système - C5 Rabie Ben Atitallah rabie.benatitallah@univ-valenciennes.fr RPC - XDR Rappel RPC: Remote Procedure Call Besoin d un environnement de haut niveau pour le développement

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Arbres binaires en représentation chaînée

Arbres binaires en représentation chaînée Arbres binaires en représentation chaînée Construction Libération Opérations diverses 17/01/06 Bac2 - JMD - ArbrBin.ppt 1 Arbre n-aire Arbre binaire a b c d e f arbre n-aire e b a c f d arbre binaire 17/01/06

Plus en détail

Mon premier rpm. http://alexandre-mesle.com 7 juin 2010. 1 Avant de commencer 2 1.1 RPM... 2 1.2 URPMI... 2 1.3 RPMBUILD... 2

Mon premier rpm. http://alexandre-mesle.com 7 juin 2010. 1 Avant de commencer 2 1.1 RPM... 2 1.2 URPMI... 2 1.3 RPMBUILD... 2 Mon premier rpm http://alexandre-mesle.com 7 juin 2010 Table des matières 1 Avant de commencer 2 1.1 RPM....................................................... 2 1.2 URPMI.....................................................

Plus en détail

TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique

TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique Communications entre Processus Communication par tubes. TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique Exemple 1: On a deux processus Père/Fils. Le père

Plus en détail

Chapitre 1 : La gestion dynamique de la mémoire

Chapitre 1 : La gestion dynamique de la mémoire Chapitre 1 : La gestion dynamique de la mémoire En langage C un programme comporte trois types de données : Statiques; Automatiques ; Dynamiques. Les données statiques occupent un emplacement parfaitement

Plus en détail

Les processus. Système L3, 2014-2015 1/39

Les processus. Système L3, 2014-2015 1/39 Les processus Système L3, 2014-2015 1/39 Les processus Processus = Instance d un programme en cours d exécution plusieurs exécutions de programmes plusieurs exécutions d un même programme plusieurs exécutions

Plus en détail

Testez votre installation. Créer un répertoire vide

Testez votre installation. Créer un répertoire vide http://www.gnu.org/software/dejagnu/ Exposé sur DejaGNU Sommaire Présentation 1 Comment l obtenir.. 1 Comment obtenir la documentation 1 Comment çà marche 1 Remarque 5 Présentation DejaGnu est un système

Plus en détail

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece

Plus en détail

Projet UML. Gestion d'un distributeur de carburant. BOUSQUET Nicolas GAYRARD Jérémy

Projet UML. Gestion d'un distributeur de carburant. BOUSQUET Nicolas GAYRARD Jérémy Projet UML Gestion d'un distributeur de carburant BOUSQUET Nicolas GAYRARD Jérémy Présentation : Étude préliminaire Définir les besoins : 3:*gérer listes abonnés 2:*gérer les prix 1:*gérer les pompes 1:*Distribuer

Plus en détail

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs Brefs rappels sur la pile et le tas (Stack / Heap) et les pointeurs (exemples en C) v1.11 - Olivier Carles 1 Pile et Tas Mémoire allouée de manière statique Mémoire Allouée Dynamiquement variables locales

Plus en détail

MANUEL INSTALLATION. GANESHA version 4. Editeur Anéma SAS Département Développement

MANUEL INSTALLATION. GANESHA version 4. Editeur Anéma SAS Département Développement MANUEL INSTALLATION GANESHA version 4 Editeur Anéma SAS Département Développement Anéma SAS 12, rue Moreau F-75012 Paris Tél. +33 (0)1 43 47 17 14 Fax +33 (0)1 43 47 37 15 SAS au capital de 51 860 euros

Plus en détail

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence Licence Algorithmique & Langage C Paternité - Pas d'utilisation Commerciale Partage des Conditions Initiales à l'identique 2.0 France Vous êtes libres : * de reproduire, distribuer et communiquer cette

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Chapitre 10 : Logiciels

Chapitre 10 : Logiciels Chapitre 10 : Logiciels Installation de logiciels dans Linux IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 1 10.1 Installation manuelle Cette partie explique comment on compile et installe un logiciel

Plus en détail

Introduction. Les performances d une machine sont liées au: 1. nombre d instructions. 2. temps de cycle horloge

Introduction. Les performances d une machine sont liées au: 1. nombre d instructions. 2. temps de cycle horloge Introduction Les performances d une machine sont liées au: 1. nombre d instructions 2. temps de cycle horloge 3. nombre de cycle horloge par instructions. C est: le compilateur et l architecture du jeu

Plus en détail

Outils pour la pratique

Outils pour la pratique Cinquième partie Outils pour la pratique 121 CHAPITRE 1 Les bases des séances de TP Avant de lire cettre section, il est suggéré de relire vos notes de cours se rapportant au système d exploitation Unix.

Plus en détail

Cahier d'exploitation

Cahier d'exploitation PRODIGE V2 Cahier d'exploitation - Cahier d'exploitation - Avril 2008 Auteurs Version Date F.LEPRINCE - B. FONTAINE v. 1.0 22/04/2008 Cahier d'exploitation : PRODIGE V2 Avril 2008- page 1 SOMMAIRE Objectif

Plus en détail

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Poker. A rendre pour le 25 avril

Poker. A rendre pour le 25 avril Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

PARAMETRAGE CONSOLE ADMINISTRATION DE MESSAGERIE "VENDOME.EU" NOTICE UTILISATION

PARAMETRAGE CONSOLE ADMINISTRATION DE MESSAGERIE VENDOME.EU NOTICE UTILISATION PARAMETRAGE CONSOLE ADMINISTRATION DE MESSAGERIE "VENDOME.EU" NOTICE UTILISATION Le but de l'utilisation de la console d'administration de votre adresse de messagerie "vendome.eu", est notamment de créer

Plus en détail

INITIATION A LA PROGRAMMATION

INITIATION A LA PROGRAMMATION 2004-2005 Université Paris Dauphine IUP Génie Mathématique et Informatique INITIATION A LA PROGRAMMATION PROCEDURALE, A L'ALGORITHMIQUE ET AUX STRUCTURES DE DONNEES PAR LE LANGAGE C Maude Manouvrier La

Plus en détail

Installation de Windows 2000 Serveur

Installation de Windows 2000 Serveur Installation de Windows 2000 Serveur Introduction Ce document n'explique pas les concepts, il se contente de décrire, avec copies d'écran, la méthode que j'utilise habituellement pour installer un Windows

Plus en détail

Installation de Windows 2000 Serveur

Installation de Windows 2000 Serveur Installation de Windows 2000 Serveur Introduction Ce document n'explique pas les concepts, il se contente de décrire, avec copies d'écran, la méthode que j'utilise habituellement pour installer un Windows

Plus en détail

Archivage des mails dans Outlook 2010

Archivage des mails dans Outlook 2010 Archivage des mails dans Outlook 2010 Il existe plusieurs possibilités pour archiver Outlook. 1. Mise en garde L'archivage par défaut déplace en local les fichiers archivés. Il est important de modifier

Plus en détail

Cours de C. Portabilité, maintenabilité & réutilisabilité. Sébastien Paumier

Cours de C. Portabilité, maintenabilité & réutilisabilité. Sébastien Paumier Cours de C Portabilité, maintenabilité & réutilisabilité Sébastien Paumier paumier@univ-mlv.fr Illustrations provenant du site http://tux.crystalxp.net/ 1 Portabilité qu'est-ce qu'un code portable? indépendance

Plus en détail

Seagate Technology LLC 10200 S. De Anza Boulevard Cupertino, CA 95014, États-Unis

Seagate Technology LLC 10200 S. De Anza Boulevard Cupertino, CA 95014, États-Unis Seagate Access pour Personal Cloud Guide de l'utilisateur 2015 Seagate Technology LLC. Tous droits réservés. Seagate, Seagate Technology, le logo en forme de vague et FreeAgent sont des marques commerciales

Plus en détail

Gestion de la mémoire

Gestion de la mémoire 433 43 3 Gestion de la mémoire + 1. Qu'est-ce que la mémoire? - Définitions, exemples 2. Allocation contiguë en mémoire - Partitions de taille fixe, de taille variable 3. Pagination et mémoire virtuelle

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

Mini-Projet : Tournoi de Dames

Mini-Projet : Tournoi de Dames Mini-Projet : Tournoi de Dames L objectif du projet est de programmer un jeu de dames de façon à ce que votre programme puisse jouer une partie de dames avec les programmes des autres étudiants. 1 Organisation

Plus en détail

Un duo de choc : DocuWare et Microsoft Outlook

Un duo de choc : DocuWare et Microsoft Outlook Connect to Outlook Product Info Un duo de choc : DocuWare et Microsoft Outlook Avec Connect to Outlook, vous pouvez archiver vos e-mails directement depuis MS Outlook dans DocuWare. Grâce à la recherche

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

GESTION DES FICHIERS C/UNIX

GESTION DES FICHIERS C/UNIX Licence IG Page 1 sur 6 GESTION DES FICHIERS C/UNIX Introduction Deux modes d appel - Par la bibliothèque standard C (appel de haut niveau) - Par appels système (bas niveau) Nécessite les includes suivant

Plus en détail

VD Négoce. Description de l'installation, et procédures d'intervention

VD Négoce. Description de l'installation, et procédures d'intervention VD Négoce Description de l'installation, et procédures d'intervention Auteur : Fabrice ABELLI Version du document : 1.0 Date version actuelle : 13/02/2012 Date première version : 13/02/2012 Révisions :

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

Le système de gestion des fichiers, les entrées/sorties.

Le système de gestion des fichiers, les entrées/sorties. Le système de gestion des fichiers, les entrées/sorties. Luigi Santocanale Laboratoire d Informatique Fondamentale, Centre de Mathématiques et Informatique, 39, rue Joliot-Curie - F-13453 Marseille 19

Plus en détail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com - 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Windows.................................................................

Plus en détail

RPC Remote Procedure Call. Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benm@gmail.com

RPC Remote Procedure Call. Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benm@gmail.com RPC Remote Procedure Call Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benm@gmail.com Objectifs Le rôle de RPC comme middleware Positionner RPC dans le modèle OSI Développement d application

Plus en détail

Apache STORM. Version 1.0. avec des fichiers

Apache STORM. Version 1.0. avec des fichiers Apache STORM avec des fichiers Version 1.0 Rédacteur : Philippe Lacomme (placomme@isima.fr) Date : 3 septembre 2015 Liste des modifications Date : 9/09/2015 Auteur : Philippe Lacomme Modifications : ajout

Plus en détail

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être

Plus en détail

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Compilation séparée ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Modularité GCC : 4 millions de lignes de code Noyau

Plus en détail

Installation 1K-Serveur

Installation 1K-Serveur Installation du système d'exploitation (Windows 2000-2003 - 2008) 1 - Procéder a l'installation du système d'exploitation de façon a ce qu'il s'intègre dans votre architecture réseaux (nom de domaine/groupe

Plus en détail

Derrière toi Une machine virtuelle!

Derrière toi Une machine virtuelle! Derrière toi Une machine virtuelle! Yann-Gaël Guéhéneuc guehene@emn.fr École des Mines de Nantes, France Object Technology International Inc., Canada D où ça vient? Calculatrice Machine de Turing 1936

Plus en détail

Septembre 2012 Document rédigé avec epsilonwriter

Septembre 2012 Document rédigé avec epsilonwriter Aplusix 3.1 - Manuel d installation Septembre 2012 Document rédigé avec epsilonwriter 1. Types d'installation 2. Installation sur ordinateur autonome 2.1. Première installation d'aplusix 3 (ordinateur

Plus en détail

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox Version utilisée pour la Debian : 7.7 Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox Caractéristiques de bases : Un service web (ou service de la toile) est

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Chap III : Les tableaux

Chap III : Les tableaux Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction

Plus en détail

Programmation en langage C

Programmation en langage C Programmation en langage C Anne CANTEAUT INRIA - projet CODES B.P. 105 78153 Le Chesnay Cedex Anne.Canteaut@inria.fr http://www-rocq.inria.fr/codes/anne.canteaut/cours C 2 Table des matières 3 Table des

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

CORBA avec OpenORB. Samir Torki et Patrice Torguet

CORBA avec OpenORB. Samir Torki et Patrice Torguet CORBA avec OpenORB Samir Torki et Patrice Torguet 1 Présentation de CORBA CORBA (Common Object Request Broker Architecture) est un standard décrivant une architecture pour la mise en place d objets distribués.

Plus en détail

Programmation système I Les entrées/sorties

Programmation système I Les entrées/sorties Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les

Plus en détail

Acronis Backup & Recovery 10 Server for Linux. Guide de démarrage rapide

Acronis Backup & Recovery 10 Server for Linux. Guide de démarrage rapide Acronis Backup & Recovery 10 Server for Linux Guide de démarrage rapide Ce document explique comment installer et commencer à utiliser Acronis Backup & Recovery 10 Server for Linux. Copyright Acronis,

Plus en détail

Exercice sur les Dockers

Exercice sur les Dockers Exercice sur les Dockers Les parties composant les Dockers: 1 docker daemon: est un démon qui gère les dockers (les conteneurs LXC) qui tournent sur la machine hôte 2 docker CLI: une série de commandes

Plus en détail

Aller plus loin avec Didapages

Aller plus loin avec Didapages Accompagnement à la pratique des TICE Les ATELIERS TICE du MERCREDI au CDDP de la VENDEE Aller plus loin avec Didapages Le contenu de cette présentation est soumis à la licence «Public Documentation Licence»

Plus en détail

PROJET ALGORITHMIQUE ET PROGRAMMATION II

PROJET ALGORITHMIQUE ET PROGRAMMATION II PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du

Plus en détail

Programmation Système (en C sous linux) Rémy Malgouyres LIMOS UMR 6158, IUT département info Université Clermont 1, B.P.

Programmation Système (en C sous linux) Rémy Malgouyres LIMOS UMR 6158, IUT département info Université Clermont 1, B.P. Programmation Système (en C sous linux) Rémy Malgouyres LIMOS UMR 6158, IUT département info Université Clermont 1, B.P. 86 63172 AUBI Une version PDF de ce document est téléchargeable sur mon site web,

Plus en détail

Projet 1 ENS Lyon L3IF

Projet 1 ENS Lyon L3IF Projet 1 ENS Lyon L3IF Génération de code Sébastien Briais 8 janvier 2008 Dans cette partie, vous allez devoir implémenter le générateur de code pour l émulateur DLX risc-emu. À rendre pour le 18 janvier

Plus en détail

Comprendre et programmer le protocole SMTP?

Comprendre et programmer le protocole SMTP? Comprendre et programmer le protocole SMTP? L application la plus utilisée sur l Internet est le mèl. Pour acheminer les informations du rédacteur au destinataire, les serveurs utilisent le protocole SMTP

Plus en détail

Faire fonctionner symfony sous wamp et windows avec des vhost. Installation de wamp

Faire fonctionner symfony sous wamp et windows avec des vhost. Installation de wamp Vous avez certainement déjà souhaiter gérer plusieurs projets symfony sur votre machine après avoir installé Wamp Server. Ce n'est pas simple en apparence, un seul dossier www et des sous répertoire en

Plus en détail

INF 104 (SELC) 2012-2013 Introduction au langage C

INF 104 (SELC) 2012-2013 Introduction au langage C INF 104 (SELC) 2012-2013 Introduction au langage C Plan Première partie C après Java Structure d un programme Préprocesseur Variables Types de base Types composés Pointeurs(1) Instructions Deuxième partie

Plus en détail