Bases de la conception orientée objet M2104

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

Download "Bases de la conception orientée objet M2104"

Transcription

1 Bases de la conception orientée objet M2104 DUT Informatique 2 e semestre Eric REMY eric.remy@univ-amu.fr IUT d Aix-Marseille, site d Arles Version du 5 juin 2015 E. Remy (IUT d Arles) M / 37

2 Introduction Au delà de la conception «orientée objet» elle-même, on va s intéresser ensemble à des outils de développement : des outils de travail collaboratif spécifiques pour la programmation ; des outils liés à la qualité du code produit, sous deux aspects : la qualité des commentaires destinés à sa maintenance ; le contrôle du respect des fonctionnalités attendues (les «tests unitaires») ; les méthodes les plus courantes de gestion de projet : le «cycle en V» classique ; les méthodes agiles (par exemple, extreme programming) ; le développement guidé par les tests. Un développeur moderne ne peut pas faire l impasse sur ce type d outils : même s ils sont variés, vous devez les connaître, et autant que possible les maîtriser afin de vous intégrer au mieux dans les entreprises où vous irez. E. Remy (IUT d Arles) M / 37

3 Première partie Travail collaboratif E. Remy (IUT d Arles) M / 37

4 Travail collaboratif Les techniques actuelles de développement logiciels privilégient la conception «orientée objet» car cela permet : de découper le travail en tâches bien identifiées ; et donc de se les répartir au sein d un groupe de développeurs. Mais la technique de conception ne résout pas pour autant certains problèmes pratiques lors de la réalisation comme par exemple : Comment stocker les différentes versions des fichiers sources d un projet commun? Comment se les échanger en minimisant les erreurs humaines? Comment réduire le risque de perdre des données? Comment garder efficacement un historique des versions au cours du temps? Comment améliorer la communication des membres au sujet du projet?... Comment vous y prendriez-vous? E. Remy (IUT d Arles) M / 37

5 Des logiciels pour le travail collaboratif On peut citer plusieurs catégories de logiciels de travail collaboratif de développement : les stockages dans les «nuages» (cloud) (Google Drive, Drop Box, owncloud, etc.) : ne répondent pratiquement pas aux critères cités précédemment, et ne sont pas du tout spécialisés pour le développement! les systèmes de gestion de versions (Version Control System) : RCS (archaïque), CVS, Subversion, Git, Bazaar, Mercurial, etc. les «forges» qui étendent un des systèmes de gestion de version précédents avec des services supplémentaires Web (flux RSS, messagerie, Wiki, forum, suivi de bogues, outils de pilotage du travail d équipe, etc.) : GitHub, Sourceforge.net (TeamForge), etc. On va apprendre ensemble les bases de l utilisation de Subversion. Si vous comprenez les grands principes de celui-là, vous pourrez apprendre les autres sans (trop de) difficulté. E. Remy (IUT d Arles) M / 37

6 Subversion Présentation Logiciel libre (sous licence Apache) Site Web officiel Serveur centralisé (contrairement à git qui est décentralisé) Toujours très utilisé même si moins à la mode que git Dispose d un greffon pour Microsoft Windows : TortoiseSVN La majorité des Environnement de développement intégrés ont des greffons pour l utiliser aussi... mais dans un souci de simplicité, nous l utiliserons en ligne de commande. E. Remy (IUT d Arles) M / 37

7 Vocabulaire (1/2) Vous devrez vous habituer à certains concepts qui se cachent derrière des mots précis : Dépôt (repository) : le serveur + répertoire qui stocke toutes les versions successives du travail commun Copie de travail (working copy) : votre copie locale du dépôt, sur laquelle vous travaillez commit : la transaction consistant à transmettre l intégralité des modifications d une copie de travail locale vers le dépôt central Revision : le numéro unique de version attribué par le serveur à l issue d un commit Mise à jour (update) : la récupération vers la copie de travail locale des changements les plus récents à partir du dépôt central merge : la fusion automatique (ouf!) des différents changements (quand c est possible) d un fichier source Conflit (conflict) : l impossibilité (aïe!) de fusionner automatiquement des changements contradictoires. Nécessite une intervention manuelle. E. Remy (IUT d Arles) M / 37

8 Vocabulaire (2/2) Le tronc (trunk) : le répertoire principal de travail sur le dépôt, la version «normale» du logiciel en développement Branche (branch) : une copie dans un sous-répertoire du dépôt, servant à un ou plusieurs développeurs, pour travailler sur une variante du logiciel, tester une idée, etc. Le but est de ne pas «tout casser» et de ne pas empêcher les autres membres de travailler en même temps. Un merge ultérieur permettra, en cas de succès de cette variante, de réintégrer ce travail au trunk. Un tag : une version figée du programme à une version donnée, par exemple la première révision considérée stable peut être «tagée» sous le nom «1.0». C est techniquement, comme pour un branch, une copie en sous-répertoire du dépôt. Cela permet ensuite d assurer la correction de versions en cours d exploitation (passer de la 1.0 à 1.1) sans menacer le travail de long terme sur le trunk. Différence : c est la liste et le détail des changements qui ont été opérés entre deux révisions données. Subvension n est pas magique! Les conflits sont le signe d un problème humain de conception ou d organisation. Ils nécessitent l intervention d un humain pour les résoudre. Subversion n a pas conscience de ce que vous programmez! E. Remy (IUT d Arles) M / 37

9 Checkout initial Commande tapée une fois pour créer votre working copy locale. Mais rien n interdit d avoir plusieurs working copy locales différentes... Syntaxe : svn checkout URL_du_dépôt/répertoire_du_dépôt Demande en général de s identifier (login/password) La commande crée un répertoire qui porte le même nom que le dépôt : c est votre copie de travail! La commande donne une trace des opérations effectuées : la liste de chaque fichier ajouté «A» à la copie locale, et pour finir le numéro de révision auquel la copie de travail vient d être créée. Vous pouvez maintenant travailler sur votre copie de travail locale... E. Remy (IUT d Arles) M / 37

10 Update Pour récupérer les avancées dont le dépôt est déjà informé mais dont votre copie de travail n a pas encore bénéficié. Syntaxe (depuis l intérieur de la copie de travail) : svn update La commande donne une trace des opérations effectuées : les fichiers ajoutés «A», les automatiquement modifiés/merged «M» (Ouf!), les détruits «D» et les fichiers qui sont en conflit «C» (Aïe!). Lorsqu un conflit apparaît, vous avez plusieurs choix : Accepter la version du dépôt (et donc perdre la vôtre) ; Garder la vôtre en aveugle (et donc ignorer celle du dépôt) ; Regarder les différences entre les deux (ce qui n apporte aucune solution mais peut être pratique pour décider) (attention, les différences sont montrées avec la syntaxe de la commande UNIX diff... Pas très difficile à comprendre mais au début, ça surprend) ; Reporter à plus tard la résolution du conflit, ce qui est le cas le plus fréquent. E. Remy (IUT d Arles) M / 37

11 Résoudre un conflit (1/2) Lorsqu un conflit apparaît sur le fichier «truc.cpp» entre votre version (basée sur la révision 52) et celle du dépôt (qui est en révision 53), plusieurs choses apparaissent dans votre copie de travail : le fichier Truc.cpp.mine : c est votre version du fichier ; le fichier Truc.cpp.r52 : c est la version à partir de laquelle vous avez débuté votre travail (appelée BASE dans le vocabulaire de Subversion) ; le fichier Truc.cpp.r53 : c est la version qui provient de l actuelle mise à jour à la révision 53 (appelée HEAD) ; le fichier Truc.cpp n est plus du C++ correct car il contient désormais des sections balisées par «<<<<.mine», «>>>>.r53» montrant les variantes des lignes concernées. Vous devez modifier les lignes de Truc.cpp pour en refaire un fichier C++ correct. En général, il est simple de comprendre la source du conflit et donc de fusionner les versions. Si ce n est pas le cas, envisagez de discuter avec les autres membres du projet (en particulier, celui qui est à l origine des changements présents sur le dépôt) pour trouver la meilleure solution. E. Remy (IUT d Arles) M / 37

12 Résoudre un conflit (2/2) Une fois le fichier Truc.cpp totalement corrigé et de nouveau fonctionnel (ça compile et ça marche), vous devez indiquer que le conflit sur le fichier Truc.cpp est résolu en tapant : svn resolved Truc.cpp Cette commande fait disparaître toutes les variantes du fichier (Truc.cpp.mine, Truc.cpp.r52, Truc.cpp.r53) pour ne laisser que Truc.cpp. Si tous les conflits sont résolus, et que votre copie de travail est à jour avec le dépôt, vous pouvez tenter de transmettre votre travail au dépôt... Il arrive que le temps que vous corrigiez tous vos conflits, un collègue crée une nouvelle revision sur le dépôt, ce qui vous amène à corriger de nouveaux conflits... Alors sachez rester calme et patient : il ne l a pas fait pour vous rendre chèvre, et c est à vous de vous en sortir! Lui aussi aura à fusionner vos changements. Rien n interdit de s entendre (par ailleurs et par avance) parmi les membres du groupe pour éviter de créer trop de conflits... E. Remy (IUT d Arles) M / 37

13 Commit Sert à transférer votre travail sur le dépôt En cas de succès, cela produira une nouvelle revision, que vos collègues pourront à leur tour récupérer, etc. Il est impératif de préparer (éventuellement en prenant des notes pendant votre travail) une synthèse textuelle des changements que vous avez apportés au projet et de pourquoi vous les avez effectués. Par exemple, «j ai rendu le membre machin de la classe truc privé pour améliorer la sécurité générale, puis ajouter tous les accesseurs nécessaires, et modifié les fonctions qui se servent désormais de ces accesseurs». Syntaxe (depuis la copie de travail) : svn commit (qui fait intervenir un éditeur de texte pour que vous puissiez taper le message) ou bien svn commit m "Ici votre message.." ou encore svn commit F message.txt (où le fichier contient vos commentaires). Ne pas mettre de message (ou en mettre un médiocre) nuit au travail d équipe et à la vie du projet. À l issue du commit, votre copie de travail est à la nouvelle révision ainsi produite : pas besoin de vous mettre à jour. E. Remy (IUT d Arles) M / 37

14 Status Sert à regarder dans quel état est chacun des fichiers de la copie de travail. Syntaxe (depuis la copie de travail) : svn status Liste chaque fichier avec les mêmes codes que ceux vus pour update, plus quelques codes (simples!) : «?» pour un fichier qui n est pas soumis au versionage, etc. Pratique pour savoir où on en est quand il y a beaucoup de changements, et en particulier, utile pour savoir si il reste des fichiers en conflit! E. Remy (IUT d Arles) M / 37

15 Consultation des traces Pour voir l historique des messages des commit qui ont amenés à la revision actuelle. Syntaxe (depuis la copie de travail) : svn log less (en se servant de la commande UNIX de pagination pour ne pas être surchargé de centaines de lignes d un coup) C est là où vous allez détester tous ceux qui ne mettent pas un message digne de ce nom. E. Remy (IUT d Arles) M / 37

16 Gestion des fichiers Tous les fichiers ne sont pas soumis au versionnage! Il serait stupide de versionner les fichiers générés (.o,.exe, etc.)... et en plus, ça prendrait beaucoup de place sur le dépôt. Les fichiers versionnés doivent être explicitement ajoutés avec la commande svn add nom_fichier Sur le même principe, pour supprimer un fichier, il faut faire svn delete nom_fichier Pour des raisons techniques (pas géniales), le renommage ou le déplacement d un fichier, qui se fait par svn move nom_fichier_avant nom_fichier_apres, consiste à détruire l ancien et à créer le nouveau avec le même contenu. Il n y a aucune mémorisation de cette filiation entre les deux fichiers. Pour créer un sous-répertoire : svn mkdir nom_répertoire Toutes les autres commandes peuvent être trouvées grâce à l aide interne : svn help puis éventuellement svn help nom_commande... E. Remy (IUT d Arles) M / 37

17 Meld Un outil graphique Gnome qui permet de comparer visuellement, ainsi que de modifier de deux à trois fichiers de texte. (Pour KDE, il y a aussi kdiff3) Site Web L outil a gagné en fonctionnalités, et il permet même d étudier l état de toute une copie de travail : taper simplement «meld.» (en supposant que le répertoire courant «.» est dans la copie de travail). Ne permet cependant pas toutes les manipulations possibles avec la commande svn... (Est également compatible avec d autres gestionnaires de version : Git, Bazaar, Mercurial, etc.) E. Remy (IUT d Arles) M / 37

18 Deuxième partie Documentation du code E. Remy (IUT d Arles) M / 37

19 Documentation d un logiciel Un projet logiciel industriel est inévitablement accompagné de plusieurs types de documentations : une expression du besoin (ce qu à l IUT vous appelerez «cahier des charges») ; une description de l architecture globale du projet (à l IUT, le «cahier de conception») ; une documentation technique qui décrit le code lui-même, les algorithmes, les interfaces de programmation (API), etc. ; une documentation destinée à l utilisateur final, à l administrateur d un système, à une hotline. Nous allons nous intéresser maintenant à la documentation technique... E. Remy (IUT d Arles) M / 37

20 Documentation du code Dans un projet logiciel d une ampleur professionnelle, il est impératif d assurer la documentation du code produit : pour améliorer le travail de groupe («ça fait quoi cette fonction?») ; pour assurer la maintenance du programme («si on change ça, quel impact cela aura?») ; etc. Il est également apparu à l usage que la meilleure façon d avoir une documentation qui ne se sépare pas (retard, incohérence, voire absence) du code qu elle accompagne consiste à réclamer aux développeurs eux-mêmes d assurer sa rédaction, et ce directement dans le code au sein des commentaires. E. Remy (IUT d Arles) M / 37

21 Quelques outils Différents outils permettant de documenter du code ont vu le jour : pour JAVA, javadoc (système créé par Sun Microsystems pour la documentation du langage lui-même) ; pour Python, Sphinx ; pour C/C++ (et pleins d autres), Doxygen ; etc. La syntaxe des commentaires du langage est améliorée de balises spéciales reconnues par l outil de documentation et permettant au programmeur d indiquer des informations sur les classes, fonctions, paramètres, etc. Ces informations sont ensuite compilées pour produire une documentation dans un ensemble de formats possibles : HTML, PDF, DocBook, UNIX man page, aide Windows (.chm), RTF, XML, etc. Nous allons utiliser Doxygen en TP, et donc voir maintenant son usage... E. Remy (IUT d Arles) M / 37

22 Doxygen Doxygen est un logiciel libre Accepte : C, C++, Objective-C, C#, PHP, Java, Python, etc. Site Web de Doxygen Documentation sur le site Web : onglet «Documentation» Avant le TP, vous devrez lire les rubriques «Getting started» et «Documenting the code» E. Remy (IUT d Arles) M / 37

23 Doxygen Organisation générale La commande doxygen lit le fichier de configuration Doxyfile et en fonction de ce qui s y trouve, parcourt les fichiers sources et génère la documentation. La commande doxywizard permet de générer le fichier de configuration Doxyfile assez facilement... mais il est parfois nécessaire de peaufiner à la main derrière. E. Remy (IUT d Arles) M / 37

24 Doxygen Bases de la syntaxe (1/2) Souvent deux syntaxes possibles : JavaDoc : «/ Blah blah. /» ou bien «/// Blah blah.» Qt : «/! Blah blah. /» ou bien «//! Blah blah.» Le commentaire est à mettre immédiatement avant ce qu il décrit. Si vous activez «JAVADOC_AUTOBRIEF» (respectivement «QT_AUTOBRIEF») dans la configuration, la première phrase (jusqu au premier «.» rencontré) servira de descripion courte (brief). Sinon, il faut l indiquer explicitement, n importe où, avec «\ brief Blah blah.». On peut décrire un paramètre ou une donnée membre immédiatement après en indiquant : JavaDoc : «/ < Blah blah. /» ou bien «///< Blah blah.» Qt : «/!< Blah blah. /» ou bien «//!< Blah blah.» Pour une fonction, on peut aussi commenter les paramètres depuis l intérieur de la description : JavaDoc : «@param a est un entier qui sert à ça.» Qt : «\param a est un entier qui sert à ça.» E. Remy (IUT d Arles) M / 37

25 Doxygen Bases de la syntaxe (2/2) Pour le type de retour depuis l intérieur de la description : JavaDoc : «@return la valeur X+1.» Qt : «\return la valeur X+1.» Plein d autres mots-clés : \author, \warning, \image, etc. Possible de commenter aussi bien dans le «.hpp» que dans le «.cpp». Pour la mise en forme, le langage Markdown est utilisable (sections, listes, gras, souligné, liens, images, etc.). Grâce à L A TEX, il est également possible de mettre des formules mathématiques. Bien d autres possibilités... mais qui ne seront pas nécessaires pour le TP prévu : à creuser ultérieurement pendant les projets tuteurés, le stage,... E. Remy (IUT d Arles) M / 37

26 Doxygen Exemples Seule la syntaxe Doxygen (JavaDoc ou Qt) change dans l exemple ci-dessous. Syntaxe JavaDoc 1 / D e s c r i p t i o n br è ve de A. D e s c r i p t i o n l o n g u e 2 q u i s é tend s u r p l u s i e u r s l i g n e s. Et a u s s i 3 p l u s i e u r s p h r a s e s. Attention à ce dé t a i l. E. Remy 6 / 7 c l a s s A { 8 i n t a ; ///< L entier (description courte). 9 double b ; ///< Le réel (descr. courte). Description longue. 10 p u b l i c : 11 / Descrption courte. D es c ri pt i on plus longue. x l a v a l e u r à t r a i t e r. r e t u r n Le r é s u l t a t e s t un e n t i e r v a l a n t x / 15 i n t f o n c t i o n ( i n t x ) ; 16 } ; Syntaxe Qt 1 /! D e s c r i p t i o n br è ve de A. D e s c r i p t i o n l o n g u e 2 q u i s é tend s u r p l u s i e u r s l i g n e s. Et a u s s i 3 p l u s i e u r s p h r a s e s. 4 \ warning A t t e n t i o n à ce d é t a i l. 5 \ a u t h o r E. Remy 6 / 7 c l a s s A { 8 i n t a ; //!< L entier (description courte). 9 double b ; //!< Le réel (descr. courte). Description longue. 10 p u b l i c : 11 /! D e s c r p t i o n c o u r t e. D e s c r i p t i o n p l u s l o n g u e. 12 \param x l a v a l e u r à t r a i t e r. 13 \ r e t u r n Le r é s u l t a t e s t un e n t i e r v a l a n t x / 15 i n t f o n c t i o n ( i n t x ) ; 16 } ; E. Remy (IUT d Arles) M / 37

27 Troisième partie Contrôle de la qualité des programmes E. Remy (IUT d Arles) M / 37

28 Vie d un projet : le cycle en V Juste après le développement de chaque fonctionnalité, on implante les tests permettant de vérifier que chaque fonctionnalité détaillée est bien respectée. ñ tests unitaires Ensuite, le programme complet sera testé pour vérifier que l intégration de chacune des différentes unités ne fait pas apparaître un problème. ñ tests d intégration E. Remy (IUT d Arles) M / 37

29 Exemples de tests unitaires Quelques exemples d attentes légitimes : Sur la classe Polynome, on peut vouloir vérifier que calculer la valeur d un polynôme pour x 0 donne bien la valeur de la constante c 0 correspondant au monôme de degré 0. Toujours sur Polynome, on peut vérifier que la valeur pour x 1 est égale à la somme de tous les coefficients c i de chaque monôme. Sur la classe Ratio, on peut vouloir vérifier que créer un rationnel 1{0 déclenche bien une erreur à l exécution (et du type décidé à la conception). Sur chaque classe, on peut tester qu une construction de copie donne bien une instance dont chaque membre est identique à ceux de sa source. De manière générale, on cherchera à tester toutes les valeurs limites, les valeurs problématiques, etc. etc. Faillir à un test suite à une modification du code, alors qu il était validé auparavant signifie qu une régression a été introduite involontairement, et doit être analysée et corrigée. «Tester tout ce qui peut casser»... mais, dans le cas général, impossible de tout tester. Pour aller plus loin, depuis quelques dizaines d années, il devient possible des démontrer formellement (comme un théorème) les algorithmes et leurs propriétés... mais ça reste encore essentiellement un domaine de Recherche scientifique. E. Remy (IUT d Arles) M / 37

30 Alternatives au cycle en V Le cycle en V qui est le plus répandu comporte quelques inconvénients qui le rendent impropre à certains projets : Le développement de toutes les briques doit en général être fini avant d entamer les tests. Il est donc possible qu un problème majeur de conception trouvé au moment des tests, oblige à tout recommencer! Le client ne voit le programme que lors des dernières phases de test qui le concernent. Il ne peut donc pas indiquer si les tests prévus par l équipe de projet sont judicieux/corrects. Difficile d appliquer un cycle en V à un domaine mouvant (par exemple, le Web) ou incertain (la Recherche Scientifique) puisque les attentes ne peuvent pas toujours être fixées au début du projet autrement que sous forme de souhaits! D autres formes de gestion de projets sont donc apparues : extreme programming (XP) : faire beaucoup de cycles courts, appelés «run», enchaînant développement, tests, consultation du client, révision de la conception, etc. test driven development (TDD) : réaliser les tests d abord (en suivant un cahier de conception très détaillé) puis seulement après les choses à tester, afin d éviter que les tests soient guidés par des idées préconçues. XP+TDD sont souvent utilisés pour le développement en binôme : l un code les tests, l autre le source à tester. E. Remy (IUT d Arles) M / 37

31 Implanter des tests Quelques mécanismes de tests que vous pourriez utiliser en C++ (parmi un très large choix) : CppUnit : la variante C++ de la (célèbre) bibliothèque de tests JUnit créée pour Java ; boost :: test : la bibliothèque de tests faisant partie de l ensemble de bibliothèques C++ boost ; Qt Test : la bibliothèque de tests du projet Qt ; elle permet également de tester les applications graphiques ; GNU DejaGnu : la plate-forme de tests du projet GNU.... J ai choisi de vous faire manipuler boost :: test... E. Remy (IUT d Arles) M / 37

32 Généralités sur Boost Boost est un ensemble de bibliothèques et d outils portables, utiles en C++. D un très bon niveau de programmation C++. Les fonctionnalités de Boost ont vocation à être graduellement introduites dans la norme elle-même (par exemple les «smart pointers»). Site Web Très vaste nombre de compléments à la norme, avec (non-exhaustif) : Array, Container, Exception, Filesystem, Foreach, Geometry, Graph, Lambda, Locale, Math, Python, Ratio, Regex, Serialization, Thread, Timer, ublas, etc. boost :: test n est qu une de ces nombreuses fonctionnalités! Si vous codez une application portable ne dépendant pas déjà d une grosse bibliothèque (Qt, Microsoft MFC, etc.), vous devriez aller voir d abord dans boost si vous ne trouvez pas votre bonheur. E. Remy (IUT d Arles) M / 37

33 Module de test Vous créez un module de test (ici «MesTests»). Vous regroupez par thèmes vos tests individuels dans une ou plusieurs catégories de tests (nommée ici «GroupeUn»). Structure générale d un programme de test : test0.cpp 1 #d e f i n e BOOST_TEST_MODULE MesTests 2 #i n c l u d e <b o o s t / t e s t / u n i t _ t e s t. hpp> 3 4 // Ici vos includes, déclarations, etc. 5 6 BOOST_AUTO_TEST_CASE( GroupeUn ) 7 { 8 // Mettez ici vos tests 9 } L exécution affichera le détail ainsi qu un bilan des tests réussis et échoués. Attention : il n y a pas de main()! E. Remy (IUT d Arles) M / 37

34 Quelques tests possibles BOOST_CHECK(exp); : Si exp est faux, une erreur comportant le texte de exp est affichée. Les tests se poursuivent. BOOST_REQUIRE(exp); : Si exp est faux, le message est affiché puis une exception est lancée. Dans le cas général, cette exception arrêtera la série de tests. Ce test est donc prévu pour les cas où les tests ultérieurs ne pourraient pas être effectués si celui-là rate. if (exp) BOOST_ERROR("Ouch..."); : similaire à BOOST_CHECK(exp); mais en ayant le contrôle direct sur le if () et le message d erreur. if (exp) BOOST_FAIL("Ouch..."); : idem mais pour BOOST_REQUIRE(exp);. BOOST_CHECK_MESSAGE(exp,msg); : Si exp est faux, l expression msg (qui peut être complexe et contenir l opérateur <<) est affichée à la place du message standard de BOOST_CHECK(exp);. BOOST_CHECK_EQUAL(exp1,exp2); : rate si les deux expressions exp1 et exp2 ne sont pas égales. Affiche explicitement les valeurs de exp1 et exp2. E. Remy (IUT d Arles) M / 37

35 Exemple (1/2) Quelques exemples de tests : test1.cpp 1 #d e f i n e BOOST_TEST_MODULE STD_STRING_TESTS 2 #i n c l u d e <b o o s t / t e s t / u n i t _ t e s t. hpp> 3 4 #i n c l u d e <s t r i n g > 5 u s i n g namespace s t d ; 6 7 BOOST_AUTO_TEST_CASE( C o n s t r u c t i o n ) 8 { 9 s t r i n g s1, s2 ( "C++" ) ; 10 BOOST_CHECK_EQUAL( s1. l e n g t h ( ), 0 ) ; 11 BOOST_CHECK_EQUAL( s2. l e n g t h ( ), 3 ) ; 12 } BOOST_AUTO_TEST_CASE( C o n c a t e n a t i o n ) 15 { 16 s t r i n g s1 ( " H e l l o " ), s2 ( " w o r l d! " ) ; 17 s1+=s2 ; // Concaténation 18 BOOST_CHECK_EQUAL( s1. l e n g t h ( ), 1 2 ) ; 19 BOOST_CHECK( strcmp ( s1. c _ s t r ( ), " H e l l o w o r l d! " )==0); 20 } E. Remy (IUT d Arles) M / 37

36 Exemple (2/2) boost :: test étant implantée sous Linux en bibliothèque à liaison dynamique, il y a deux choses à rajouter lors de la compilation : il faut définir le symbole BOOST_TEST_DYN_LINK qui indique aux includes que la bibliothèque de test est dynamique ; il faut lier votre programme à la bibliothèque «boost_unit_test_framework». On a donc une ligne de compilation de la forme : g++ D BOOST_TEST_DYN_LINK test1.cpp lboost_unit_test_framework o test1 L exécution, par «./ test1», donne le message suivant (aucun test échoué) : Running 2 test cases... *** No errors detected E. Remy (IUT d Arles) M / 37

37 The End Avez-vous des questions? E. Remy (IUT d Arles) M / 37

Les systèmes de gestion de version

Les systèmes de gestion de version Les systèmes de gestion de version Matthieu Herrb Envol 2010 http://homepages.laas.fr/matthieu/talks/envol10-sgv.pdf Systèmes de gestion de version - kesako? Logiciel permettant de gérer l historique des

Plus en détail

Systèmes de gestion de code source

Systèmes de gestion de code source Systèmes de gestion de code source Matthieu Herrb CNRS-LAAS Envol, 22 octobre 2008 http://www.laas.fr/~matthieu/talks/envol08-sgv.pdf Agenda 1 Introduction 2 Concepts d un système de gestion de version

Plus en détail

Outils de développement collaboratif

Outils de développement collaboratif Outils de développement collaboratif Envol 2012 Olivier Thauvin 24 janvier 2013 Olivier Thauvin Outils de développement collaboratif 24 janvier 2013 1 / 80 1 Avant Propos 2 Versionner 3 Communiquer 4 Documenter

Plus en détail

Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.

Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement. Plan global Outils de développement et compilation Git : gestion de code source et versionnement Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 1 Historique 2 Git 3 Pour

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

Entraînement au concours ACM-ICPC

Entraînement au concours ACM-ICPC Entraînement au concours ACM-ICPC Concours ACM-ICPC : format et stratégies Page 1 / 16 Plan Présentation Stratégies de base Page 2 / 16 Qu est-ce que c est? ACM-ICPC : International Collegiate Programming

Plus en détail

Contrôle de versions et travail collaboratif. Organisation du travail collaboratif. Organisation du travail collaboratif

Contrôle de versions et travail collaboratif. Organisation du travail collaboratif. Organisation du travail collaboratif Contrôle de versions et travail Problématique Benoit Darties ESIREM ITR4 benoit.darties@u-bourgogne.fr Problème de la gestion de versions Problème de l'accès concurrent à un fichier Exemple : Création

Plus en détail

Éléments de programmation et introduction à Java

Éléments de programmation et introduction à Java Éléments de programmation et introduction à Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques

Plus en détail

2 Formation utilisateur

2 Formation utilisateur 2 Formation utilisateur Formation développeur Formation Formation développeur - créer un compte - créer un projet - rejoindre/quitter un projet - rappel sur l'open source et les licences - rappels su PHP

Plus en détail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis

Plus en détail

C.M. 1 & 2 : Prise en main de Linux

C.M. 1 & 2 : Prise en main de Linux Grégory Bonnet gregory.bonnet@unicaen.fr GREYC Université Caen Basse Normandie Diaporama original : Jean-Philippe Métivier - Boris Lesner But de cet enseignement 1 - Apprendre à manipuler un système Unix/Linux

Plus en détail

Le système de gestion de version Git et GitHub

Le système de gestion de version Git et GitHub Le système de gestion de version Git et GitHub Génie Logiciel - MPRI GROSSHANS Nathan nathan.grosshans@lsv.ens-cachan.fr 9 octobre 2014 Introduction Système de gestion de version Système logiciel permettant

Plus en détail

Méthodes et outils employés pour développer des logiciels libres

Méthodes et outils employés pour développer des logiciels libres Méthodes et outils employés pour développer des logiciels libres Étude basée sur le cas du projet Debian Par Raphaël Hertzog Gérant de Freexian SARL Développeur Debian Présentation du projet Debian Objectif

Plus en détail

Projet de développement

Projet de développement Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

La magie de SVN. Découverte & usage du logiciel

La magie de SVN. Découverte & usage du logiciel La magie de SVN Découverte & usage du logiciel Menu I) SVN, qu'est-ce que c'est? 2) Comment utiliser SVN? 3) Que faire en cas de problème avec SVN? I) SVN, Qu'est-ce? -Un projet impliquant plusieurs personnes

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint?

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint? Plan nitiation au Génie Logiciel Cours 5 ntroduction au π développement agile T. Genet (genet@irisa.fr) (STC/RSA) GEN-5 1/ 28 T. Genet (genet@irisa.fr) (STC/RSA) GEN-5 2/ 28 Bibliographie Plan L informatique

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

Inspiration 7.5. Brève description d Inspiration. Avantages d Inspiration. Inconvénients d Inspiration

Inspiration 7.5. Brève description d Inspiration. Avantages d Inspiration. Inconvénients d Inspiration Inspiration 7.5 Brève description d Inspiration Langue : Français et anglais. Coût : 109$. Une version d essaie gratuite de 30 jours est disponible à l adresse suivante : http://inspiration.demarque.com/applicationweb/pages/publique/index.php

Plus en détail

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn 1 Organisation Projet de développement Introduction à Eclipse Philippe Collet Licence 3 Informatique Cours 1 : principes généraux - svn Cours 2 : Redmine et gestion de projet Cours 3 : Introduction à Eclipse

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

< Atelier 1 /> Démarrer une application web

< Atelier 1 /> Démarrer une application web MES ANNOTATIONS SONT EN ROUGE : Axel < Atelier 1 /> Démarrer une application web Microsoft France Tutorial Découverte de ASP.NET 2.0 Sommaire 1 INTRODUCTION... 3 1.1 CONTEXTE FONCTIONNEL... 3 1.2 CONTEXTE

Plus en détail

Serveur de travail collaboratif Michaël Hoste -

Serveur de travail collaboratif Michaël Hoste - Serveur de travail collaboratif Michaël Hoste - Table des matières 1. Qu'est ce qu'un serveur de travail collaboratif?...2 2. Pourquoi ce projet?...2 3. Possibilités d'utilisation dans le cadre de l'université...3

Plus en détail

L Intégration Continue & Agilité

L Intégration Continue & Agilité L Intégration Continue & Agilité " des outils efficaces. " Agile NANTES - Mars 2010 17/03/2010 Agile Nantes Introduction Qui sommes nous? Fabian PIAU fabian.piau@netapsys.fr Ingénieur développement chez

Plus en détail

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château Rappel TP3 Intégration de pratiques agiles En direct-live du château 40 41 Scénario d intégration agile 1. User Stories (1) 1. Rédiger les User Stories (exigences) 2. Planifier les Itérations (quoi / quand)

Plus en détail

Tutoriel code::blocks

Tutoriel code::blocks Tutoriel code::blocks E. Lunéville 2006 Le logiciel code::blocks fait partie des logiciels de type EDI (Environnement de Développement Intégré, IDE en anglais) pour le langage C++. Il est multiplateforme

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN

Plus en détail

Hébergement MMI SEMESTRE 4

Hébergement MMI SEMESTRE 4 Hébergement MMI SEMESTRE 4 24/03/2015 Hébergement pour le Web Serveurs Mutualités Serveurs Dédiés Serveurs VPS Auto-Hébergement Cloud Serveurs Mutualités Chaque Serveur héberge plusieurs sites Les ressources

Plus en détail

Nouveautés Ignition v7.7

Nouveautés Ignition v7.7 ... Nouveautés Ignition v7.7 Nouveautés Ignition v7.7 Découvrez le Nouveau Scada avec plus de 40 nouveautés Principales nouveautés :... Cloud Templates Template Repeater Client Multilingue + Sequential

Plus en détail

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...

Plus en détail

Serveur Subversion Debian GNU/Linux

Serveur Subversion Debian GNU/Linux Serveur Subversion Debian GNU/Linux Matthieu Vogelweith 13 janvier 2009 Résumé L objectif de cette page est de détailler l installation d un serveur Subversion [1]. Ce document a été rédigé en LaTeX en

Plus en détail

Paul FLYE SAINTE MARIE

Paul FLYE SAINTE MARIE Paul FLYE SAINTE MARIE ASSISTANT CHEF DE PROJET DANS LE DÉVELOPPEMENT INFORMATIQUE Domaines de compétences Conduite de projet (échange avec la maitrise d ouvrage, maitrise d œuvre, rédaction des spécifications

Plus en détail

TP Git. Author : Cedric Dumoulin Date : 2 déc. 2014 Rev : 9 Dec. 2014

TP Git. Author : Cedric Dumoulin Date : 2 déc. 2014 Rev : 9 Dec. 2014 Objectifs TP Git Author : Cedric Dumoulin Date : 2 déc. 2014 Rev : 9 Dec. 2014 L'objectif de cet atelier est d'apprendre à utiliser GIT pour versionner ses projet et pour travailler à plusieurs. Vous allez

Plus en détail

TP 1 Prise en main de l environnement Unix

TP 1 Prise en main de l environnement Unix Introduction aux systèmes d exploitation (IS1) TP 1 Prise en main de l environnement Unix Le but de ce premier TP est de commencer à vous familiariser avec l environnement Unix. 1 Ouverture de session

Plus en détail

TD/TP 1 Introduction au SDK d Android

TD/TP 1 Introduction au SDK d Android TD/TP 1 Introduction au SDK d Android Romain Raveaux 1 Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition

Plus en détail

Les logiciels de gestion de version exemple de GIT et application avec SmartGIT

Les logiciels de gestion de version exemple de GIT et application avec SmartGIT Les logiciels de gestion de version exemple de GIT et application avec SmartGIT Rémi SHARROCK www.remisharrock.fr Plan du polycopié Plan du polycopié Problématique La gestion de versions: généralités,

Plus en détail

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

TP1 - Prise en main de l environnement Unix.

TP1 - Prise en main de l environnement Unix. Mise à niveau UNIX Licence Bio-informatique TP1 - Prise en main de l environnement Unix. Les sujets de TP sont disponibles à l adresse http://www.pps.jussieu.fr/~tasson/enseignement/bioinfo/ Les documents

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Bien programmer. en Java 7. 10 000 ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

Bien programmer. en Java 7. 10 000 ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret. Bien programmer en Java 7 Avec plus de 50 études de cas et des comparaisons avec C++ et C# Plus de 10 000 ex. vendus! Édition en couleur Emmanuel Puybaret, ISBN : 978-2-212-12974-8 chapitre1 Présentation

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

Environnements et Outils de Développement Cours 1 Introduction

Environnements et Outils de Développement Cours 1 Introduction Environnements et Outils de Développement Cours 1 Introduction Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot - Paris 7 URL http://upsilon.cc/~zack/teaching/1112/ed6/

Plus en détail

Développeur - Conseiller - Formateur web

Développeur - Conseiller - Formateur web Houssou Audrey-Roch 10 avenue des fresnes 44340 Bouguenais email: audreyroch.houssou@gmail.com portable :0603570242. Fixe: 0951351920 Site Web :www.entre-polypes.com CV en ligne Permis B 2 enfants Développeur

Plus en détail

Cahier des charges (CDC)

Cahier des charges (CDC) Cahier des charges (CDC) PTella Auteur Arnaud Aucher - Ecole Centrale Groupe PT1 3 Nom du document Version 3 Page 1 / 5 Sommaire Sommaire... 2 Présentation générale du projet... 3 1. Descriptif du projet...

Plus en détail

Gestion du projet pour qu'il soit pérenne et collaboratif

Gestion du projet pour qu'il soit pérenne et collaboratif Gestion du projet pour qu'il soit pérenne et collaboratif Franck Gabarrot Atelier projet Promise les 30 et 31 mars 2015 Paris IPSL CDS ESPRI Public visé dans nos réflexions d'organisation Tout le monde

Plus en détail

Guide d installation de Gael

Guide d installation de Gael Guide d installation de Gael Outil web libre de gestion des élèves du premier degré, complément naturel d Iconito documentation version 1.2 juillet 2007 Gael version 0.5 Table des matières Objet... 3 Support...

Plus en détail

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement Cahier n o 6 Mon ordinateur Fichiers et dossiers Sauvegarde et classement ISBN : 978-2-922881-10-3 2 Table des matières Fichiers et dossiers Sauvegarde et classement La sauvegarde 4 Enregistrer 4 De quelle

Plus en détail

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 L envoi d un formulaire par courriel Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 Chapitre 9 L envoi d un formulaire par courriel L envoi par courriel d informations

Plus en détail

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com Cours Plugin Eclipse Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com 1 Qui suis-je? Ancien étudiant de Jussieu - Paris VI Diplomé du Master Technologies

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

HighPush. document 3.0 18/06/2009 Révision pour version 3.0 2.0 20/11/2008 Revision pour la 2.0 1.0 01/10/2008 Documentation initiale.

HighPush. document 3.0 18/06/2009 Révision pour version 3.0 2.0 20/11/2008 Revision pour la 2.0 1.0 01/10/2008 Documentation initiale. Version du Date document 3.0 18/06/2009 Révision pour version 3.0 2.0 20/11/2008 Revision pour la 2.0 1.0 01/10/2008 Documentation initiale Commentaires 1 Table des matières 1 Introduction / Identification...

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Installation et prise en main

Installation et prise en main TP1 Installation et prise en main Android est le système d'exploitation pour smartphones, tablettes et autres appareils développé par Google. Pour permettre aux utilisateurs d'installer des applications

Plus en détail

Gestion de projet Gestion de configuration Gestion de Conflits. Lydie du Bousquet Philippe Lalanda

Gestion de projet Gestion de configuration Gestion de Conflits. Lydie du Bousquet Philippe Lalanda Gestion de projet Gestion de configuration Gestion de Conflits Lydie du Bousquet Philippe Lalanda Sommaire Gestion de projet Un projet Le chef de projet La planification Gestion de configuration Gestion

Plus en détail

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur) Publication par FTP FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur) Logiciels FTP nombreux (FileZilla, CuteFTP, WinSCP, FTP Expert).

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

http://www.alfresco.com/fr/community/register/?source=docs Extensions, Documentation, Tutoriels, Astuces

http://www.alfresco.com/fr/community/register/?source=docs Extensions, Documentation, Tutoriels, Astuces Maryem Rhanoui 2013 Alfresco Liens utiles Le site Alfresco : http://www.alfresco.com/fr/ Le Portail Content Community http://www.alfresco.com/fr/community/register/?source=docs Extensions, Documentation,

Plus en détail

LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1

LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1 LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1 L. POINSOT Contact client : Laurent Poinsot (laurent.poinsot@lipn.univ-paris13.fr) Résumé : Ce document est le cahier des charges du projet INFO 1.

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7 PROCÉDURE D INSTALLATION Cegid Business V9 COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7 Sommaire 1. Introduction 2. Installation de SQL Server 2005 ou 2008 3. Installation de Cegid Business

Plus en détail

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1 CARPE (Documentation Informatique) 1 CARPE Version 2.00 Août 2013 Documentation Informatique S E T R A Programme CARPE - Manuel informatique de l'utilisateur CARPE (Documentation Informatique) 2 Table

Plus en détail

De quoi avez-vous besoin pour ce manuel?

De quoi avez-vous besoin pour ce manuel? Introduction Le commerce électronique est devenu l un des grands sujets de préoccupation des chefs d entreprise du monde entier. Ces derniers répètent à l envie que leur priorité absolue est de relever

Plus en détail

Utilisez Toucan portable pour vos sauvegardes

Utilisez Toucan portable pour vos sauvegardes Utilisez Toucan portable pour vos sauvegardes Préambule Toucan est un logiciel libre et gratuit, permettant de réaliser des sauvegardes ou synchronisation de vos données. Il est possible d automatiser

Plus en détail

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code Généralités javadoc Université de Nice - Sophia Antipolis Richard Grin Version 1.4.1 8/2/11 javadoc produit de la documentation en partant de commentaires particuliers insérés dans le code source des classes

Plus en détail

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...

Plus en détail

Drupal (V7) : principes et petite expérience

Drupal (V7) : principes et petite expérience Drupal (V7) : principes et petite expérience Jean-Luc Archimbaud CNRS/Mathdoc http://jl.archimbaud.free.fr/ Présentation journées Mathrice 10 oct 2012 V1.2 Corrigez mon discours ou complétez... Licence

Plus en détail

Python - introduction à la programmation et calcul scientifique

Python - introduction à la programmation et calcul scientifique Université de Strasbourg Environnements Informatique Python - introduction à la programmation et calcul scientifique Feuille de TP 1 Avant de commencer Le but de ce TP est de vous montrer les bases de

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Le réseau et les tables virtuelles Synapse

Le réseau et les tables virtuelles Synapse Le réseau et les tables virtuelles Synapse 1. Les tables virtuelles Synapse...2 1.1 L organisation réseau Synapse et la campagne Cap sur l indépendance...2 1.2 Les tables virtuelles de travail...3 1.3

Plus en détail

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

Calcul Scientifique avec 3

Calcul Scientifique avec 3 ENSAM Bordeaux juin 2015 Calcul Scientifique avec 3 Installation - Prise en main Jean-Luc Charles - Éric Ducasse Arts & Métiers ParisTech, I2M "la programmation doit être un plaisir...", G. van Rossum

Plus en détail

Point sur les solutions de développement d apps pour les périphériques mobiles

Point sur les solutions de développement d apps pour les périphériques mobiles Point sur les solutions de développement d apps pour les périphériques mobiles Par Hugues MEUNIER 1. INTRODUCTION a. Une notion importante : le responsive web design Nous sommes en train de vivre une nouvelle

Plus en détail

Module : Informatique Générale 1. Les commandes MS-DOS

Module : Informatique Générale 1. Les commandes MS-DOS 1 Les commandes MS-DOS I. Introduction Le DOS est le système d'exploitation le plus connu, sa version la plus commercialisée est celle de Microsoft, baptisée MS-DOS (Microsoft Disk Operating Système).MS-DOS

Plus en détail

Manuel d utilisation du web mail Zimbra 7.1

Manuel d utilisation du web mail Zimbra 7.1 Manuel d utilisation du web mail Zimbra 7.1 ma solution de communication intelligente Sommaire 1 Connexion à la messagerie Zimbra p.4 1.1 Prérequis p.4 1.1.1 Ecran de connexion à la messagerie p.4 2 Presentation

Plus en détail

ESPACE NUMERIQUE DE TRAVAIL DU LYCEE LYAUTEY LCS SE3

ESPACE NUMERIQUE DE TRAVAIL DU LYCEE LYAUTEY LCS SE3 ESPACE NUMERIQUE DE TRAVAIL DU LYCEE LYAUTEY LCS SE3 LINUX COMMUNICATION SERVEUR SAMBA EDU (VERSION 3) Chers collègues, Le Lycée Lyautey entre pleinement dans l ère numérique en se dotant d un espace numérique

Plus en détail

Remise à niveau d un programme JAVA du domaine public

Remise à niveau d un programme JAVA du domaine public Jean-Baptiste VIGUIER 12 septembre 2002 DCEM 2 jb.viguier@free.fr Remise à niveau d un programme JAVA du domaine public Dossier réalisé pour le laboratoire d oncogénétique Docteur P.GORRY MCU-PH institut

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Le module Supply Chain pour un fonctionnement en réseau

Le module Supply Chain pour un fonctionnement en réseau Prélude 7 ERP Le module Supply Chain pour un fonctionnement en réseau Gérard Baglin Septembre 2008 Sommaire Chapitre 1 Le mode de fonctionnement en réseau de Prélude 7... 1 Le principe des jeux en temps

Plus en détail

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009 Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009 «Web. De l intégration de pages statiques HTML à un CMS, à la dynamisation d un site grâce au Javascript et l utilisation de nouvelles technologies

Plus en détail

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer

Plus en détail

e-obs : Conception et utilisation Rémy Decoupes Ether // ums3365

e-obs : Conception et utilisation Rémy Decoupes Ether // ums3365 e-obs : Conception et utilisation Rémy Decoupes Ether // ums3365 1 e-obs - Plan i. A quoi sert e-obs ii. Positionnement d e-obs dans la chaine de production iii. Description générale des modules iv. Démonstration

Plus en détail

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1 E-TRANSACTIONS Guide du programmeur API Plug-in Version 1.1 Avertissements : Le fichier Version.txt précise l'environnement dans lequel l API a été compilée et testée. L'installation de l API sur tout

Plus en détail

Vérifier la qualité de vos applications logicielle de manière continue

Vérifier la qualité de vos applications logicielle de manière continue IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions

Plus en détail

1. Des chartes graphiques homogènes, élégantes, créatives

1. Des chartes graphiques homogènes, élégantes, créatives Comment sont résolues des difficultés rencontrées par les sites de première génération? Comment faire vivre facilement des sites élégants, réactualisés, à contenu riche, et aux fonctionnalités évolutives?

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

Introduction à l algorithmique et à la programmation M1102 CM n 3

Introduction à l algorithmique et à la programmation M1102 CM n 3 Introduction à l algorithmique et à la programmation M1102 CM n 3 DUT Informatique 1 re année Eric REMY eric.remy@univ-amu.fr IUT d Aix-Marseille, site d Arles Version du 2 octobre 2013 E. Remy (IUT d

Plus en détail

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit

Plus en détail

Quelques éléments de compilation en C et makefiles

Quelques éléments de compilation en C et makefiles Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable

Plus en détail

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04 Bases de données documentaires et distribuées Cours NFE04 Introduction du cours Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département d informatique Conservatoire

Plus en détail

Climat Scolaire - Manuel utilisateur - Chapitre 2 : «Créer, Editer et suivi d un texte»

Climat Scolaire - Manuel utilisateur - Chapitre 2 : «Créer, Editer et suivi d un texte» Climat Scolaire - Manuel utilisateur - Chapitre 2 : «Créer, Editer et suivi d un texte» Espace collaboratif Co-Ment Date : 01/12/2013 Référence du Projet : Chef de Projet : www.cndp.fr/climatscolaire Caroline

Plus en détail

Brique BDL Gestion de Projet Logiciel

Brique BDL Gestion de Projet Logiciel Brique BDL Gestion de Projet Logiciel Processus de développement pratiqué à l'enst Sylvie.Vignes@enst.fr url:http://www.infres.enst.fr/~vignes/bdl Poly: Computer elective project F.Gasperoni Brique BDL

Plus en détail

Introduction MOSS 2007

Introduction MOSS 2007 Introduction MOSS 2007 Z 2 Chapitre 01 Introduction à MOSS 2007 v. 1.0 Sommaire 1 SharePoint : Découverte... 3 1.1 Introduction... 3 1.2 Ce que vous gagnez à utiliser SharePoint... 3 1.3 Dans quel cas

Plus en détail

TRAME POUR LA REALISATION D UN CAHIER DES CHARGES SITE WEB

TRAME POUR LA REALISATION D UN CAHIER DES CHARGES SITE WEB TRAME POUR LA REALISATION D UN CAHIER DES CHARGES SITE WEB 2 Trame cahier des charges site Web Vous êtes une entreprise, une collectivité, une association, et vous souhaitez faire réaliser un site web.

Plus en détail

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Avant-propos L économie en réseau, ou la netéconomie, est au cœur des débats et des stratégies de toutes les entreprises. Les organisations, qu il s agisse de

Plus en détail