td3a correction session7az

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

Download "td3a correction session7az"

Transcription

1 td3a correction session7az August 19, Séance 7 : PIG et JSON et streaming avec les données vélib (correction avec Azure) Plan Récupération des données Connexion au cluster et import des données Exercice 1 : convertir les valeurs numériques Exercice 2 : stations fermées Exercice 3 : stations fermées, journée complète Exercice 4 : astuces Récupération Connexion Exo 1 Exo2 Exo3 Astuces 1.1 Récupération des données In [1]: import pyensae import os, datetime In [2]: if not os.path.exists("velib") : os.mkdir("velib") files=pyensae.download_data("data_velib_paris_ _22-23.zip", website="xdtd", whereto="ve files[:2] Out[2]: [ velib\\paris txt, velib\\paris txt ] 1.2 Connexion au cluster et import des données In [4]: import pyquickhelper, pyensae params={"blob_storage":"", "password1":"", "hadoop_server":"", "password2":"", "username":"alias pyquickhelper.open_html_form(params=params,title="server + hadoop + credentials", key_save="blob Out[4]: <IPython.core.display.HTML at 0xb28f810> In [1]: import pyensae blobstorage = blobhp["blob_storage"] blobpassword = blobhp["password1"] hadoop_server = blobhp["hadoop_server"] hadoop_password = blobhp["password2"] username = blobhp["username"] client, bs = %hd_open client, bs 1

2 Out[1]: (<pyensae.remote.azure connection.azureclient at 0x7f82430>, <azure.storage.blobservice.blobservice at 0xaad3a50>) On uploade les données (sauf si vous l avez déjà fait une fois) : In [3]: files = [ os.path.join("velib",_) for _ in os.listdir("velib") if ".txt" in _] In [4]: #client.upload(bs, "hdblobstorage", "velib_1h1", files) In [5]: df=%blob_ls hdblobstorage/velib_1h1 df.head() Out[5]: name \ 0 velib 1h1/paris txt 1 velib 1h1/paris txt 2 velib 1h1/paris txt 3 velib 1h1/paris txt 4 velib 1h1/paris txt last modified content type content length \ 0 Tue, 25 Nov :28:03 GMT application/octet-stream Tue, 25 Nov :28:10 GMT application/octet-stream Tue, 25 Nov :28:18 GMT application/octet-stream Tue, 25 Nov :28:25 GMT application/octet-stream Tue, 25 Nov :28:32 GMT application/octet-stream blob type 0 BlockBlob 1 BlockBlob 2 BlockBlob 3 BlockBlob 4 BlockBlob 1.3 Exercice 1 : convertir les valeurs numériques Le programme suivant prend comme argument les colonnes à extraire des fichiers textes qui sont enregistrés au format python. Le streaming sur Azure est sensiblement différent du streaming présenté avec Cloudera. Cette version fonctionne également avec Cloudera. La réciproque n est pas vraie. Les scripts python sont interprétés avec la machine virtuelle java tout comme pig. La solution suivante s inspire de Utilisation de Python avec Hive et Pig dans HDInsight. Voir également Writing Jython UDFs. Cette écriture impose de comprendre la façon dont PIG décrit les données et l utilisation de schema. Le nom du script doit être jython.py pour ce notebook sinon le compilateur PIG ne sait pas dans quel langage interpréter ce script. La version de jython utilisée sur le cluster est (2.5:c56500f08d34+, Aug , 14:54:35) [OpenJDK 64-Bit Server VM (Azul Systems, Inc.)]. La correction inclut encore un bug mais cela devrait être bientôt corrigé. Cela est dû aux différences Python/Jython. In [6]: import pyensae In [87]: %%PYTHON jython.py import datetime, sys, {(available_bike_stands:int, available_bikes:int, lat:double, lng:double, def extract_columns_from_js(row): 2

3 # pour un programmeur python, les schéma sont contre plut^ot intuitifs, # { } veut dire une liste, # ( ) un tuple dont chaque colonne est nommé # j écrirai peut-^etre une fonction détermine le schéma en fonction des données # il faut utiliser des expressions régulières pour découper la ligne # car cette expression ne fonctionne pas sur des lignes trop longues # eval ( row ) --> revient à évaluer une ligne de 500 Ko # Hadoop s arr^ete sans réellement proposer de message d erreurs qui mettent sur la bonne vo # dans ces cas-là, il faut relancer le job après avoir commenter des lignes # jusqu à trouver celle qui provoque l arr^et brutal du programme # arr^et qui ne se vérifie pas en local cols = ["available_bike_stands","available_bikes","lat","lng","name","status"] exp = re.compile ("(\\{.*?\\})") rec = exp.findall(row) res = [] for r in rec : station = eval(r) vals = [ str(station[c]) for c in cols ] res.append(tuple(vals)) return res La vérification qui suit ne fonctionne que si la fonction à tester prend comme entrée une chaîne de caractères mais rien n empêche de de créer une telle fonction de façon temporaire juste pour vérifier que le script fonctionne (avec Jython 2.5.3) : In [88]: %%jython jython.py extract_columns_from_js [{ address : RUE DES CHAMPEAUX (PRES DE LA GARE ROUTIERE) BAGNOLET, collect_date : d [{ address : RUE DES CHAMPEAUX (PRES DE LA GARE ROUTIERE) BAGNOLET, collect_date : d Out[88]: <IPython.core.display.HTML at 0xc1abcb0> On écrit le script PIG qui utilise plus de colonnes : In [4]: %%PIG json_velib_python.pig REGISTER $CONTAINER/$SCRIPTPIG/jython.py using jython as myfuncs; jspy = LOAD $CONTAINER/velib_1h1/*.txt USING PigStorage( \t ) AS (arow:chararray); DESCRIBE jspy ; matrice = FOREACH jspy GENERATE myfuncs.extract_columns_from_js(arow); DESCRIBE matrice ; multiply = FOREACH matrice GENERATE FLATTEN(brow) ; DESCRIBE multiply ; STORE multiply INTO $CONTAINER/$PSEUDO/velibpy_results/firstjob USING PigStorage( \t ) ; On supprime la précédente exécution si besoin puis on vérifie que le répertoire contenant les résultats est vide : In [5]: if client.exists(bs, client.account_name, "$PSEUDO/velibpy_results/firstjob"): r = client.delete_folder (bs, client.account_name, "$PSEUDO/velibpy_results/firstjob") print(r) 3

4 [ xavierdupre/velibpy results/firstjob, xavierdupre/velibpy results/firstjob/ SUCCESS, xavierdupre/ve In [6]: %hd_pig_submit json_velib_python.pig jython.py -stop_on_failure Out[6]: { id : job } In [9]: st = %hd_job_status job_ _0095 st["id"],st["percentcomplete"],st["status"]["jobcomplete"] Out[9]: ( job , 100% complete, True) On récupère l erreur : In [10]: %tail_stderr job_ _ Out[10]: <IPython.core.display.HTML at 0xaa9fff0> In [11]: %blob_ls /$PSEUDO/velibpy_results Out[11]: name \ 0 xavierdupre/velibpy results 1 xavierdupre/velibpy results/firstjob 2 xavierdupre/velibpy results/firstjob/ SUCCESS 3 xavierdupre/velibpy results/firstjob/part-m last modified content type content length \ 0 Thu, 27 Nov :56:03 GMT application/octet-stream 0 1 Thu, 27 Nov :39:39 GMT 0 2 Thu, 27 Nov :39:39 GMT application/octet-stream 0 3 Thu, 27 Nov :39:39 GMT application/octet-stream blob type 0 BlockBlob 1 BlockBlob 2 BlockBlob 3 BlockBlob On récupère les informations qu on affiche sous forme de dataframe : In [12]: if os.path.exists("velib_exo1.txt") : os.remove("velib_exo1.txt") %blob_downmerge /$PSEUDO/velibpy_results/firstjob velib_exo1.txt Out[12]: velib exo1.txt In [13]: %head velib_exo1.txt Out[13]: <IPython.core.display.HTML at 0xaa9fb70> In [14]: import pandas df = pandas.read_csv("velib_hd.txt", sep="\t",names=["available_bike_stands","available_bikes", df.head() Out[14]: available bike stands available bikes lat lng \

5 name status CHAMPEAUX (BAGNOLET) OPEN POISSONNIÈRE - ENGHIEN OPEN METRO ROME OPEN RUE DE LA PAIX OPEN DE GAULLE (PANTIN) OPEN 1.4 Exercice 2 : stations fermées Les stations fermées ne le sont pas tout le temps. On veut calculer le ratio minutes/stations fermées / total des minutes/stations. Le script python permettant de lire les données ne change pas, il suffit juste de déclarer les sorties numériques comme telles. Quelques détails sur les tables : jspy : contient les données brutes dans une liste de fichiers matrice : d après le job qui précède, la table contient une ligne par stations et par minute, chaque ligne décrit le status de la station grstation : table matrice groupée par status fermees : pour chaque groupe, on aggrégé le nombre de minutes multipliés par le nombre de vélos gr*,dist* : distribution du nombre de stations (Y) en fonction du nombre de vélos ou places disponibles En cas d exécution précédentes : In [122]: for sub in [ "multiply.txt"]: if client.exists(bs, client.account_name, "$PSEUDO/velibpy_results/" + sub): r = client.delete_folder (bs, client.account_name, "$PSEUDO/velibpy_results/" + sub) print(r) [ xavierdupre/velibpy results/fermees.txt ] [ xavierdupre/velibpy results/distribution bikes.txt ] [ xavierdupre/velibpy results/distribution stands.txt ] On va exécuter le job en deux fois. Le premier job met tout à plat. Le second calcule les aggrégations. La plupart du temps, le travaille de recherche concerne la seconde partie. Mais si le job n est pas scindé, la première partie est toujours exécutée à chaque itération. Dans ce cas-ci, on scinde le job en deux. La première partie forme une table à partir des données initiales. La seconde les agrègre. In [155]: %%PIG json_velib_python2.pig REGISTER $CONTAINER/$SCRIPTPIG/jython.py using jython as myfuncs; jspy = LOAD $CONTAINER/velib_1h1/*.txt USING PigStorage( \t ) AS (arow:chararray); DESCRIBE jspy ; matrice = FOREACH jspy GENERATE myfuncs.extract_columns_from_js(arow); DESCRIBE matrice ; multiply = FOREACH matrice GENERATE FLATTEN(brow) ; DESCRIBE multiply ; STORE multiply INTO $CONTAINER/$PSEUDO/velibpy_results/multiply.txt USING PigStorage( \t ) ; In [156]: %hd_pig_submit json_velib_python2.pig jython.py -stop_on_failure 5

6 Out[156]: { id : job } In [163]: st = %hd_job_status job_ _0125 st["id"],st["percentcomplete"],st["status"]["jobcomplete"] Out[163]: ( job , 100% complete, True) In [165]: %blob_ls /$PSEUDO/velibpy_results/multiply.txt Out[165]: name \ 0 xavierdupre/velibpy results/multiply.txt 1 xavierdupre/velibpy results/multiply.txt/ SUCCESS 2 xavierdupre/velibpy results/multiply.txt/part-... last modified content type content length \ 0 Fri, 28 Nov :46:41 GMT 0 1 Fri, 28 Nov :46:41 GMT application/octet-stream 0 2 Fri, 28 Nov :46:41 GMT application/octet-stream blob type 0 BlockBlob 1 BlockBlob 2 BlockBlob In [167]: for sub in ["fermees.txt", "distribution_bikes.txt", "distribution_stands.txt"]: if client.exists(bs, client.account_name, "$PSEUDO/velibpy_results/" + sub): r = client.delete_folder (bs, client.account_name, "$PSEUDO/velibpy_results/" + sub) print(r) [ xavierdupre/velibpy results/fermees.txt, xavierdupre/velibpy results/fermees.txt/ temporary, xavier [ xavierdupre/velibpy results/distribution bikes.txt, xavierdupre/velibpy results/distribution bikes.tx [ xavierdupre/velibpy results/distribution stands.txt, xavierdupre/velibpy results/distribution stands. In [168]: %%PIG json_velib_python3.pig multiply = LOAD $CONTAINER/$PSEUDO/velibpy_results/multiply.txt USING PigStorage( \t ) AS (available_bike_stands:int, available_bikes:int, lat:double, lng:double, name:chararra DESCRIBE multiply ; grstation = GROUP multiply BY status ; DESCRIBE grstation ; fermees = FOREACH grstation GENERATE group,sum(multiply.available_bikes) AS available_bikes,sum(multiply.available_bike_stands) AS available_bike_stands ; DESCRIBE fermees ; gr_av = GROUP multiply BY available_bikes ; DESCRIBE gr_av; dist_av = FOREACH gr_av GENERATE group, COUNT(multiply) ; DESCRIBE dist_av; gr_pl = GROUP multiply BY available_bike_stands ; 6

7 DESCRIBE gr_pl; dist_pl = FOREACH gr_pl GENERATE group, COUNT(multiply) ; DESCRIBE dist_pl; STORE fermees INTO $CONTAINER/$PSEUDO/velibpy_results/fermees.txt USING PigStorage( \t ) ; STORE dist_av INTO $CONTAINER/$PSEUDO/velibpy_results/distribution_bikes.txt USING PigStorag STORE dist_pl INTO $CONTAINER/$PSEUDO/velibpy_results/distribution_stands.txt USING PigStora In [169]: %hd_pig_submit json_velib_python3.pig -stop_on_failure Out[169]: { id : job } In [173]: st = %hd_job_status job_ _0127 st["id"],st["percentcomplete"],st["status"]["jobcomplete"] Out[173]: ( job , 100% complete, True) In [177]: %tail_stderr job_ _ Out[177]: <IPython.core.display.HTML at 0xc285b50> In [178]: %blob_ls /$PSEUDO/velibpy_results Out[178]: name \ 0 xavierdupre/velibpy results 1 xavierdupre/velibpy results/distribution bikes... 2 xavierdupre/velibpy results/distribution bikes... 3 xavierdupre/velibpy results/distribution bikes... 4 xavierdupre/velibpy results/distribution stand... 5 xavierdupre/velibpy results/distribution stand... 6 xavierdupre/velibpy results/distribution stand... 7 xavierdupre/velibpy results/fermees.txt 8 xavierdupre/velibpy results/fermees.txt/ SUCCESS 9 xavierdupre/velibpy results/fermees.txt/part-r xavierdupre/velibpy results/firstjob 11 xavierdupre/velibpy results/firstjob/ SUCCESS 12 xavierdupre/velibpy results/firstjob/part-m xavierdupre/velibpy results/multiply.txt 14 xavierdupre/velibpy results/multiply.txt/ SUCCESS 15 xavierdupre/velibpy results/multiply.txt/part-... last modified content type content length \ 0 Thu, 27 Nov :56:03 GMT application/octet-stream 0 1 Fri, 28 Nov :50:54 GMT 0 2 Fri, 28 Nov :50:54 GMT application/octet-stream 0 3 Fri, 28 Nov :50:54 GMT application/octet-stream Fri, 28 Nov :50:55 GMT 0 5 Fri, 28 Nov :50:55 GMT application/octet-stream 0 6 Fri, 28 Nov :50:55 GMT application/octet-stream Fri, 28 Nov :50:54 GMT 0 8 Fri, 28 Nov :50:54 GMT application/octet-stream 0 9 Fri, 28 Nov :50:53 GMT application/octet-stream Thu, 27 Nov :39:39 GMT 0 11 Thu, 27 Nov :39:39 GMT application/octet-stream 0 12 Thu, 27 Nov :39:39 GMT application/octet-stream

8 13 Fri, 28 Nov :46:41 GMT 0 14 Fri, 28 Nov :46:41 GMT application/octet-stream 0 15 Fri, 28 Nov :46:41 GMT application/octet-stream blob type 0 BlockBlob 1 BlockBlob 2 BlockBlob 3 BlockBlob 4 BlockBlob 5 BlockBlob 6 BlockBlob 7 BlockBlob 8 BlockBlob 9 BlockBlob 10 BlockBlob 11 BlockBlob 12 BlockBlob 13 BlockBlob 14 BlockBlob 15 BlockBlob In [179]: if os.path.exists("distribution_bikes.txt") : os.remove("distribution_bikes.txt") %blob_downmerge /$PSEUDO/velibpy_results/distribution_bikes.txt distribution_bikes.txt Out[179]: distribution bikes.txt In [180]: import pandas df = pandas.read_csv("distribution_bikes.txt", sep="\t", names=["nb_velos", "nb_stations_minut df.head() Out[180]: nb velos nb stations minutes In [182]: import matplotlib.pyplot as plt plt.style.use( ggplot ) df.plot(x="nb_velos",y="nb_stations_minutes",kind="bar",figsize=(16,4)) Out[182]: <matplotlib.axes. subplots.axessubplot at 0xae39f90> 8

9 In [183]: if os.path.exists("distribution_stands.txt") : os.remove("distribution_stands.txt") %blob_downmerge /$PSEUDO/velibpy_results/distribution_stands.txt distribution_stands.txt Out[183]: distribution stands.txt In [184]: df = pandas.read_csv("distribution_stands.txt", sep="\t", names=["nb_places", "nb_stations_min df.plot(x="nb_places",y="nb_stations_minutes",kind="bar",figsize=(16,4)) Out[184]: <matplotlib.axes. subplots.axessubplot at 0xab50d50> In [185]: if os.path.exists("fermees.txt") : os.remove("fermees.txt") %blob_downmerge /$PSEUDO/velibpy_results/fermees.txt fermees.txt Out[185]: fermees.txt In [186]: df = pandas.read_csv("fermees.txt", sep="\t", names=["status", "nb_velos_stations_minutes", "n df=df.set_index("status") df = df.t df["%close"] = df.closed / (df.closed + df.open) df Out[186]: status OPEN CLOSED %close nb velos stations minutes nb places stations minutes Ce dernier tableau n est vrai que dans la mesure où les nombres reportées sont fiables lorsque les stations sont fermées. 1.5 Exercice 3 : stations fermées, journée complète Appliquer cela à une journée complète revient à lancer le même job sur des données plus grandes. On verra bientôt commencer éviter de recopier le job une seconde fois (introduisant une source potentielle d erreur). In [40]: 9

10 1.6 Exercice 4 : astuces Les erreurs de PIG ne sont pas très explicite surtout si elles se produisent dans le script python. Un moyen simple de débugger est d attraper les exceptions produites par python et de les récupérer sous PIG (le reste du job est enlevé). On peut tout-à-fait imaginer ajouter la version de python installée sur le cluster ainsi que la liste de modules In [70]: %%PYTHON jython.py import def information(row): return (";".join([str(sys.version), str(sys.executable)])).replace("\n"," ") On vérifie que le script fonctionne avec jython : In [71]: %%jython jython.py information n importe quoi Out[71]: <IPython.core.display.HTML at 0xb066630> In [78]: %%PIG info.pig REGISTER $CONTAINER/$SCRIPTPIG/jython.py using jython as myfuncs; jspy = LOAD $CONTAINER/velib_1h1/*.txt USING PigStorage( \t ) AS (arow:chararray); one = LIMIT jspy 1 ; infos = FOREACH one GENERATE myfuncs.information(arow); STORE infos INTO $CONTAINER/$PSEUDO/results/infos USING PigStorage( \t ) ; In [79]: if client.exists(bs, client.account_name, "$PSEUDO/results/infos"): r = client.delete_folder (bs, client.account_name, "$PSEUDO/results/infos") print(r) In [80]: %hd_pig_submit info.pig jython.py -stop_on_failure Out[80]: { id : job } In [83]: st = %hd_job_status job_ _0107 st["id"],st["percentcomplete"],st["status"]["jobcomplete"] Out[83]: ( job , 100% complete, True) In [84]: %tail_stderr job_ _ Out[84]: <IPython.core.display.HTML at 0xaa9f770> In [85]: if os.path.exists("infos.txt") : os.remove("infos.txt") %blob_downmerge /$PSEUDO/results/infos infos.txt Out[85]: infos.txt In [86]: %head infos.txt Out[86]: <IPython.core.display.HTML at 0xc1ab5f0> In [ ]: 10

pyensae StockPrices September 1, 2015 1 Manipulation de séries financières avec la classe StockPrices

pyensae StockPrices September 1, 2015 1 Manipulation de séries financières avec la classe StockPrices pyensae StockPrices September 1, 2015 1 Manipulation de séries financières avec la classe StockPrices La classe StockPrices facilite la récupération de données financières via le site Yahoo Finance ainsi

Plus en détail

2015 kmeans. September 3, 2015

2015 kmeans. September 3, 2015 2015 kmeans September 3, 2015 1 Kmeans avec PIG auteurs : P. Atalaya, M. Gubri M k-means est un algorithme de clustering relativement simple qu on cherche à paralléliser. In [1]: import pyensae %nb_menu

Plus en détail

Hadoop / Big Data. Benjamin Renaut MBDS 2014-2015

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS 2014-2015 Hadoop / Big Data Benjamin Renaut MBDS 2014-2015 9 Apache Pig Présentation 9-1 Pig est un autre outil associé à Hadoop au même titre que Sqoop. Son but est de permettre de

Plus en détail

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin 2011. Talend 2010 1

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin 2011. Talend 2010 1 Big Data Cyril Amsellem Consultant avant-vente 16 juin 2011 Talend 2010 1 Big Data Architecture globale Hadoop Les projets Hadoop (partie 1) Hadoop-Core : projet principal. HDFS : système de fichiers distribués

Plus en détail

Anticiper et prédire les sinistres avec une approche Big Data

Anticiper et prédire les sinistres avec une approche Big Data Anticiper et prédire les sinistres avec une approche Big Data Julien Cabot Directeur Big Data Analytics OCTO jcabot@octo.com @julien_cabot OCTO 2013 50, avenue des Champs-Elysées 75008 Paris - FRANCE Tél

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

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

Documentation Talend. Charly Riviere CDG35

Documentation Talend. Charly Riviere CDG35 Documentation Talend Charly Riviere CDG35 1. Présentation générale Talend est un ETL pour "Extract Transform Load". Comme son nom l'indique il permet d'extraire des données pour ensuite les transformer

Plus en détail

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE Projet de semestre ITI soir 4ème année Résumé configuration OpenVpn sur pfsense 2.1 Etudiant :Tarek

Plus en détail

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire.

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire. Principes des lang. de progr. INE 11 Michel Mauny ENSTA ParisTech Prénom.Nom@ensta.fr Michel Mauny (ENSTA ParisTech) INE 11 Prénom.Nom@ensta.fr 1 / 37 Gestion et récupération automatique de mémoire lanage

Plus en détail

Big Data Concepts et mise en oeuvre de Hadoop

Big Data Concepts et mise en oeuvre de Hadoop Introduction 1. Objectif du chapitre 9 2. Le Big Data 10 2.1 Introduction 10 2.2 Informatique connectée, objets "intelligents" et données collectées 11 2.3 Les unités de mesure dans le monde Big Data 12

Plus en détail

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html. R.R. Université Lyon 2

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html. R.R. Université Lyon 2 Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html 1 Plan de présentation 1. L écosystème Hadoop 2. Principe de programmation MapReduce 3. Programmation des fonctions

Plus en détail

Direction des Systèmes d'information

Direction des Systèmes d'information DEPLOIEMENT DU CLIENT SSL SSL VPN Direction des Systèmes d'information Auteur GDS Référence 2010-GDS-DPT Version Date /2010 Nb. Pages 8 Sujet Ce document décrit le déploiement du logiciel «SSL VPN Client»

Plus en détail

Le langage PHP. Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/

Le langage PHP. Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ Le langage PHP Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ 1 / 38 Plan 1 Introduction au langage PHP 2 2 / 38 Qu est ce que PHP? langage interprété

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

Introduction. Chapitre 1. 1.1 Introduction. 1.1.1 Bibliothèques. 1.1.2 Programmation de Haute Qualité

Introduction. Chapitre 1. 1.1 Introduction. 1.1.1 Bibliothèques. 1.1.2 Programmation de Haute Qualité Chapitre 1 Introduction Buts du chapitre : Motivation pour l étude des types abstraits de données ; Syntaxe de base pour l écriture de spécifications. 1.1 Introduction 1.1.1 Bibliothèques 1. L3, déjà une

Plus en détail

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

Les journées SQL Server 2013

Les journées SQL Server 2013 Les journées SQL Server 2013 Un événement organisé par GUSS Les journées SQL Server 2013 Romain Casteres MVP SQL Server Consultant BI @PulsWeb Yazid Moussaoui Consultant Senior BI MCSA 2008/2012 Etienne

Plus en détail

Déploiement d une architecture Hadoop pour analyse de flux. françois-xavier.andreu@renater.fr

Déploiement d une architecture Hadoop pour analyse de flux. françois-xavier.andreu@renater.fr Déploiement d une architecture Hadoop pour analyse de flux françois-xavier.andreu@renater.fr 1 plan Introduction Hadoop Présentation Architecture d un cluster HDFS & MapReduce L architecture déployée Les

Plus en détail

Projet de Programmation Fonctionnelle

Projet de Programmation Fonctionnelle Projet de Programmation Fonctionnelle L objectif de ce projet est de concevoir, en Objective Caml, un évaluateur pour le langage mini-ml (un sous ensemble du langage Objective Caml). Votre programme devra

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

La technologie Java Card TM

La technologie Java Card TM Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages

Plus en détail

L écosystème Hadoop Nicolas Thiébaud ni.thiebaud@gmail.com. Tuesday, July 2, 13

L écosystème Hadoop Nicolas Thiébaud ni.thiebaud@gmail.com. Tuesday, July 2, 13 L écosystème Hadoop Nicolas Thiébaud ni.thiebaud@gmail.com HUG France 250 membres sur la mailing liste 30 présentations 9 meetups organisés, de 20 à 100 invités Présence de Cloudera, MapR, Hortonworks,

Plus en détail

S²LOW 1.1 API mail sécurisé. Eric Pommateau Sigmalis

S²LOW 1.1 API mail sécurisé. Eric Pommateau Sigmalis S²LOW 1.1 API mail sécurisé Eric Pommateau Sigmalis Table des matières Liste des utilisateurs de la collectivité...3 Nombre de mails sur le système...3 Liste de mails...3 Détail d'un email...4 Objet :

Plus en détail

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

Plus en détail

Tp 1 correction. Structures de données (IF2)

Tp 1 correction. Structures de données (IF2) Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Hadoop / Big Data. Benjamin Renaut MBDS 2014-2015

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS 2014-2015 Hadoop / Big Data Benjamin Renaut MBDS 2014-2015 TP 1 - Correction Méthodologie Map/Reduce - programmation Hadoop. Rappel 1 La première partie du TP consistait à mettre en

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

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s) Propriétés du Document Source du Document SDK_accords.odt Titre du Document SDK Python et Java pour le développement de services ACCORD Module(s) PyaccordsSDK, JaccordsSDK Responsable Prologue Auteur(s)

Plus en détail

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

Plus en détail

Présentation Windows Azure Hadoop Big Data - BI

Présentation Windows Azure Hadoop Big Data - BI Présentation Windows Azure Hadoop Big Data - BI Sommaire 1. Architecture Hadoop dans Windows Azure... 3 2. Requête Hive avec Hadoop dans Windows Azure... 4 3. Cas d études... 5 3.1 Vue : Administrateur...

Plus en détail

1. Structure d'un programme FORTRAN 95

1. Structure d'un programme FORTRAN 95 FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)

Plus en détail

Les technologies du Big Data

Les technologies du Big Data Les technologies du Big Data PRÉSENTÉ AU 40 E CONGRÈS DE L ASSOCIATION DES ÉCONOMISTES QUÉBÉCOIS PAR TOM LANDRY, CONSEILLER SENIOR LE 20 MAI 2015 WWW.CRIM.CA TECHNOLOGIES: DES DONNÉES JUSQU'À L UTILISATEUR

Plus en détail

SEMIN. Données sous R : stockage et échange. Julio PEDRAZA ACOSTA

SEMIN. Données sous R : stockage et échange. Julio PEDRAZA ACOSTA SEMIN Données sous R : stockage et échange Julio PEDRAZA ACOSTA UMR 5202 Origine Structure et Evolution de la Biodiversité Département Systématique et Evolution, MNHN pedraza@mnhn.fr SEMIN R du MNHN 10

Plus en détail

Exemple d application: l annuaire DNS Claude Chaudet

Exemple d application: l annuaire DNS Claude Chaudet Exemple d application: l annuaire DNS Claude Chaudet 66 Institut Mines-Télécom Nommage des machines sur Internet n Le DNS (Domain Name System) est un annuaire associant des noms textuels et des adresses

Plus en détail

Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet

Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet Beat Wolf 1, Pierre Kuonen 1, Thomas Dandekar 2 1 icosys, Haute École Spécialisée de Suisse occidentale,

Plus en détail

II. Conversions. I. Initialisation. III. Méthode point. TD Python Traitement d images MP*

II. Conversions. I. Initialisation. III. Méthode point. TD Python Traitement d images MP* Le but de ce TD est d utiliser les procédures et fonctions Python pour traiter des fichiers images. II. Conversions I. Initialisation Importer le module numpy sous l appellation np. On utilise le module

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Utilisation et traitement des données saisies sous EndNote avec des scripts PHP/MySQL

Utilisation et traitement des données saisies sous EndNote avec des scripts PHP/MySQL Cah. Tech. Inra, 70, 47-53 Utilisation et traitement des données saisies sous EndNote avec des scripts PHP/MySQL Sabine Julien 1 et Jacques Maratray 1 Résumé : Cet article présente la façon d exploiter

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Pour les débutants. langage de manipulation des données

Pour les débutants. langage de manipulation des données Pour les débutants SQL : langage de manipulation des données Les bases de données sont très utilisées dans les applications Web. La création, l interrogation et la manipulation des données de la base sont

Plus en détail

Chapitre 10 Mettre en œuvre un cluster Hadoop

Chapitre 10 Mettre en œuvre un cluster Hadoop Chapitre 10 Mettre en œuvre un cluster Hadoop 1. Objectif du chapitre Mettre en œuvre un cluster Hadoop L'objectif de ce chapitre est de comparer différentes options possibles pour mettre en œuvre un cluster

Plus en détail

Chapitre 3 Structures de données linéaires : listes, piles et files

Chapitre 3 Structures de données linéaires : listes, piles et files Chapitre 3 Structures de données linéaires : listes, piles et files 1. Introduction Le but de ce chapitre est de décrire des représentations des structures de données de base telles les listes en général

Plus en détail

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan 1 Sommaire 1. Google en chiffres 2. Les raisons d être de GFS 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan 4. Les Evolutions et Alternatives

Plus en détail

Introduction. Python?

Introduction. Python? 1 Introduction Python - why settle for snake oil when you can have the whole snake? «Python - Pourquoi se contenter d huile de serpent quand on peut avoir le serpent tout entier?» Mark Jackson En guise

Plus en détail

Approche Contract First

Approche Contract First Exemple HelpDesk Approche Contract First Développement d un premier web service en utilisant l approche contract first (ou WSDL First) Écriture du wsdl avant d écrire le code java Autre possibilité implementation

Plus en détail

Programmation fonctionnelle avec OCaml

Programmation fonctionnelle avec OCaml Programmation fonctionnelle avec OCaml 1ère séance, 19 février 2015 6 séances de 1h30 de cours et 3h de TP 3 projets avec soutenance D autres transparents sont disponibles avec vidéo (intranet) Samuel

Plus en détail

Attaques applicatives

Attaques applicatives Attaques applicatives Attaques applicatives Exploitation d une mauvaise programmation des applications Ne touche pas le serveur lui-même mais son utilisation/ configuration Surtout populaire pour les sites

Plus en détail

ENGLISH WEDNESDAY SCHOOL ENTRY TEST ENROLMENT FORM 2015-2016

ENGLISH WEDNESDAY SCHOOL ENTRY TEST ENROLMENT FORM 2015-2016 CHECKLIST FOR APPLICATIONS Please read the following instructions carefully as we will not be able to deal with incomplete applications. Please check that you have included all items. You need to send

Plus en détail

Installation de TYPO3 sur les serveurs mutualisés de Free

Installation de TYPO3 sur les serveurs mutualisés de Free Installation de TYPO3 sur les serveurs mutualisés de Free Copyright 2006 Franck Evrard [ http://fr.evrard.free.fr ] --o-- This document is published under the Open Content licence available from http://www.opencontent.org/opl.shtml

Plus en détail

EISTI. Oracle Toplink. Manuel d installation et d utilisation

EISTI. Oracle Toplink. Manuel d installation et d utilisation EISTI Oracle Toplink Manuel d installation et d utilisation VILLETTE Charles, BEQUET Pierre, DE SAINT MARTIN Cédric, CALAY-ROCHE Vincent, NAUTRE Francois 20/05/2010 Ce manuel d installation et d utilisation

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

PHASER 370. modèle avec ou sans clavier. MANUEL D INSTALLATION DE L ÉQUIPEMENT PHASER 370 / Module de stérilisation

PHASER 370. modèle avec ou sans clavier. MANUEL D INSTALLATION DE L ÉQUIPEMENT PHASER 370 / Module de stérilisation PHASER 370 modèle avec ou sans clavier 1 Table des matières RS-232 3 Appareillement du lecteur laser avec la base 3 Création du lien ODBC 4 Configuration du lecteur laser 12 Installation de MCL-Link 14

Plus en détail

Une démarche pédagogique pour l apprentissage de l algorithmique

Une démarche pédagogique pour l apprentissage de l algorithmique Une démarche pédagogique pour l apprentissage de l algorithmique Au moment où l enseignement d ISN connaît sa deuxième année de mise en œuvre sur le terrain, force est de constater que les ressources disponibles

Plus en détail

BASE. Vous avez alors accès à un ensemble de fonctionnalités explicitées ci-dessous :

BASE. Vous avez alors accès à un ensemble de fonctionnalités explicitées ci-dessous : BASE BioArray Software Environment (BASE) est une base de données permettant de gérer l importante quantité de données générées par des analyses de bio-puces. BASE gère les informations biologiques, les

Plus en détail

1 Description générale de VISFIELD

1 Description générale de VISFIELD Guide d utilisation du logiciel VISFIELD Yann FRAIGNEAU LIMSI-CNRS, Bâtiment 508, BP 133 F-91403 Orsay cedex, France 11 décembre 2012 1 Description générale de VISFIELD VISFIELD est un programme écrit

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14 Document FAQ Supervision et infrastructure - Accès aux EXP Page: 1 / 9 Table des matières Introduction... 3 Démarrage de la console JMX...4 I.Généralités... 4 II.WebLogic... 5 III.WebSphere... 6 IV.JBoss...

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

Représentation des nombres entiers et réels. en binaire en mémoire

Représentation des nombres entiers et réels. en binaire en mémoire L3 Mag1 Phys. fond., cours C 15-16 Rep. des nbs. en binaire 25-09-05 23 :06 :02 page 1 1 Nombres entiers 1.1 Représentation binaire Représentation des nombres entiers et réels Tout entier positif n peut

Plus en détail

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Imprimantes et partage réseau sous Samba avec authentification Active Directory Imprimantes et partage réseau sous Samba avec authentification Active Directory Sommaire 1- Pré requis Page 2 2- Configuration réseau Page 3 3- Installation de samba Page 4 à 5 4- Installation de kerberos

Plus en détail

Instructions SQL. Première partie : Langage de description et de gestion des données

Instructions SQL. Première partie : Langage de description et de gestion des données Instructions SQL Première partie : Langage de description et de gestion des données Quelques instructions et leur syntaxe 1. Introduction Trois principales catégories d instructions. Instructions de création

Plus en détail

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Django et PostgreSQL sous la charge

Django et PostgreSQL sous la charge Django et PostgreSQL sous la charge Rodolphe Quiédeville Pourquoi couper la queue du poulet? RMLL - Beauvais 8 juillet 2015 Rodolphe Quiédeville (PeopleDoc) Django et PostgreSQL sous la charge 8 juillet

Plus en détail

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

Plus en détail

Code_Aster. Méthodes Python d'accès aux objets Aster

Code_Aster. Méthodes Python d'accès aux objets Aster Titre : Méthodes Python d'accès aux objets Aster Date : 23/07/2015 Page : 1/11 Méthodes Python d'accès aux objets Aster Résumé : Ce document présente les méthodes Python permettant d accéder aux informations

Plus en détail

Une application bidon avec REST, SQL et Unicode, juste comme exemple

Une application bidon avec REST, SQL et Unicode, juste comme exemple Une application bidon avec REST, SQL et Unicode, juste comme exemple Stéphane Bortzmeyer Première rédaction de cet article le 25 juillet 2007. Dernière mise à jour le 31

Plus en détail

1 Lecture de fichiers

1 Lecture de fichiers Programmation 1 Cours n 6 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot 1 Lecture de fichiers Un fichier est une suite de caractères mémorisés sur le disque dur de la machine dans un endroit

Plus en détail

Petit guide pour l installation de CVW sous Linux

Petit guide pour l installation de CVW sous Linux LinuxFocus article number 310 http://linuxfocus.org par Juan Manuel Triana,Carlos Andrés Pérez Petit guide pour l installation de CVW sous Linux L auteur:

Plus en détail

Algorithmique Travaux Dirigés

Algorithmique Travaux Dirigés Algorithmique Travaux Dirigés Master Technologie et Handicap : Intensifs 1 Corrigé Exercice 1 Affectations 1. Considérons les algorithmes ci-dessous. (a) Quel sera le contenu des variables a, b et éventuellement

Plus en détail

Création d un nouveau master

Création d un nouveau master 1 Création d un nouveau master CREATION DU FICHIER DE REPONSE WAIK Télécharger et installer Windows AIK sur une machine puis lancer «Windows System image Manager» Voici à quoi ressemble la fenêtre à obtenir

Plus en détail

SAP HANA: note de synthèse

SAP HANA: note de synthèse Préface: Au cœur des nombreux défis que doivent relever les entreprises, l informatique se doit de soutenir les évolutions, d aider au développement de nouveaux avantages concurrentiels tout en traitant

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

Cassandra et Spark pour gérer la musique On-line

Cassandra et Spark pour gérer la musique On-line Cassandra et Spark pour gérer la musique On-line 16 Juin 2015 @ Paris Hammed RAMDANI Architecte SI 3.0 et BigData mramdani@palo-it.com +33 6 80 22 20 70 Appelez-moi Hammed ;-) (Sidi Mo)Hammed Ramdani @smramdani

Plus en détail

A.-M. Cubat PMB - Import de lecteurs - Généralités Page 1 Source : http://amcubat.be/docpmb/import-de-lecteurs

A.-M. Cubat PMB - Import de lecteurs - Généralités Page 1 Source : http://amcubat.be/docpmb/import-de-lecteurs A.-M. Cubat PMB - Import de lecteurs - Généralités Page 1 Diverses méthodes d import de lecteurs Les données (noms, prénoms, adresses. des lecteurs) proviennent en général du secrétariat, et se trouvent

Plus en détail

Flexible Identity. authentification multi-facteurs. authentification sans token. Version 1.0. Copyright Orange Business Services mai 2014.

Flexible Identity. authentification multi-facteurs. authentification sans token. Version 1.0. Copyright Orange Business Services mai 2014. Flexible Identity authentification multi-facteurs authentification sans token Version 1.0 1 of 23 historique des mises à jour date no. version auteur description mai 2014 1.0 Version initiale. Copyright

Plus en détail

Protection des protocoles www.ofppt.info

Protection des protocoles www.ofppt.info ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail Protection des protocoles DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR NTIC Sommaire 1. Introduction... 2

Plus en détail

Guide Enseignant de l application OpenERP

Guide Enseignant de l application OpenERP Guide Enseignant de l application OpenERP PARTIE I : Accès à l application PGI Open Erp Pour accéder à l application «OpenERP» depuis le web. 1. Ouvrez votre navigateur Internet. 2. Une fois ouvert, cliquez

Plus en détail

Gestion Electronique de Document (ECM/GED)

Gestion Electronique de Document (ECM/GED) Gestion Electronique de Document (ECM/GED) Analyse de l existant Découpage modulaire La gestion électronique de documents repose sur un ensemble de deux modules conjoints, au sein de la famille «ecm» :

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Cours 7 : fonctions recursives, arithmétique binaire, flottants 1

Cours 7 : fonctions recursives, arithmétique binaire, flottants 1 Cours 7 : fonctions recursives, arithmétique binaire, flottants 1 Les types énumérés On peut aussi définir des types qui ont un nombre fini de valeurs (ex: jours de la semaine, couleurs primaires, etc.)

Plus en détail

Introduction aux Machines Virtuelles avec VMKit

Introduction aux Machines Virtuelles avec VMKit Introduction aux Machines Virtuelles avec Ingénieur :, Responsables : Gaël Thomas, Gilles Müller EQUIPE REGAL LIP6 INRIA (Paris/France) un substrat de machine virtuelle : a substrate for Managed Runtime

Plus en détail

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

Plus en détail

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2 SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2 Version 1.0.5 Mentions légales Mentions légales Ce document est susceptible de modification à tout moment sans

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

Python et la Programmation fonctionnelle. Programmation fonctionnelle 3. Programmation fonctionnelle pure 4. Matthieu Amiguet

Python et la Programmation fonctionnelle. Programmation fonctionnelle 3. Programmation fonctionnelle pure 4. Matthieu Amiguet Python et la Programmation fonctionnelle Matthieu Amiguet 2009 2010 1 Programmation fonctionnelle? 2 3 Lambda expressions 4 5 Programmation fonctionnelle? Programmation fonctionnelle 3 L expression programmation

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Mise en oeuvre TSM 6.1

Mise en oeuvre TSM 6.1 Mise en oeuvre TSM 6.1 «Bonnes pratiques» pour la base de données TSM DB2 Powered by Qui sommes nous? Des spécialistes dans le domaine de la sauvegarde et de la protection des données 10 ans d expertise

Plus en détail

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée Communiqué de presse Charles-Yves Baudet Twitter: Les clients de Teradata Teradata Corporation peuvent dan.conway@teradata.com tirer parti de plusieurs + 33 1 64 86 76 14 + 33 (0) 1 55 21 01 48/49 systèmes,

Plus en détail

Connexion à distance. Pour configurer les automates Beckhoff via un PC de programmation VERSION : 1.0 / PH

Connexion à distance. Pour configurer les automates Beckhoff via un PC de programmation VERSION : 1.0 / PH Connexion à distance Pour configurer les automates Beckhoff via un PC de programmation VERSION : 1.0 / PH Certains CPU permettent d installer les logiciels d ingénierie TwinCAT pour ainsi travailler en

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

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