From 0b12b2bae1130746ed49cc3c7a2daa819ede1b58 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sat, 23 Apr 2016 02:18:14 -0400 Subject: Specify alias file as a command line argument * Add a dependency on 'getopts' * Remove the hard-coded "testaliases" file used previously. * write_alias: Update to include a `file` attribute that can reference an arbitrary file * find_alias_in_file: Change the `file` parameter to be a Path reference instead of a string so that it can be called correctly from `write_alias`. Also because it matches the File module's signature. Originally I planned to make the file argument available under a `-f` command-line option. Later I decided instead to make it a required argument, so it made more sense not to prefix it with an option flag. Since I no longer need command line options—just the first argument—I realised that I could get rid of the `getopts` dependency and use `std::env::args`. Will do this in a later commit. --- Cargo.lock | 8 ++++++++ Cargo.toml | 1 + src/main.rs | 34 +++++++++++++++++++++++++++++----- 3 files changed, 38 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 81030eb..8db7560 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,4 +1,12 @@ [root] name = "alias-auto-add" version = "0.0.1" +dependencies = [ + "getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "getopts" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" diff --git a/Cargo.toml b/Cargo.toml index 4fa9b0b..582992c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,3 +3,4 @@ name = "alias-auto-add" version = "0.0.1" [dependencies] +getopts = "0.2" diff --git a/src/main.rs b/src/main.rs index ae7bf17..6b9d79e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,7 @@ +extern crate getopts; + +use getopts::Options; +use std::env; use std::error::{self, Error}; use std::io::{self, BufRead, BufReader, Write}; use std::fmt; @@ -65,11 +69,11 @@ impl Alias { } } -fn write_alias(from: String) -> Result<(), AliasSearchError> { +fn write_alias>(from: String, file: P) -> Result<(), AliasSearchError> { let mut alias = Alias::new(&from); - let similar_aliases = try!(find_alias_in_file(&alias, "./testaliases")); + let similar_aliases = try!(find_alias_in_file(&alias, &file)); alias.update_alias_id(similar_aliases); - try!(alias.write_to_file("./testaliases")); + try!(alias.write_to_file(&file)); Ok(()) } @@ -133,7 +137,7 @@ impl PartialEq for AliasSearchError { } } -fn find_alias_in_file(alias: &Alias, file: &str) -> Result, AliasSearchError> { +fn find_alias_in_file>(alias: &Alias, file: P) -> Result, AliasSearchError> { let mut matches = Vec::new(); let f = try!(File::open(file)); let file = BufReader::new(&f); @@ -157,7 +161,27 @@ fn find_alias_in_file(alias: &Alias, file: &str) -> Result, AliasSea } } +fn print_usage(program: &str) { + println!("Usage: {} FILE", program); +} + fn main() { + let args: Vec = env::args().collect(); + let program = args[0].clone(); + let opts = Options::new(); + + let opt_matches = match opts.parse(&args[1..]) { + Ok(m) => m, + Err(f) => panic!(f.to_string()), + }; + + let file = if !opt_matches.free.is_empty() { + opt_matches.free[0].clone() + } else { + print_usage(&program); + return; + }; + let stdin = io::stdin(); for line in stdin.lock().lines() { @@ -167,7 +191,7 @@ fn main() { println!("{}", line); if line.starts_with("From: ") { - match write_alias(line) { + match write_alias(line, &file) { Ok(_) => continue, Err(e @ AliasSearchError::NotFound) | Err(e @ AliasSearchError::EmailExists) => io::stderr().write(e.to_string().as_bytes()).ok(), -- cgit v1.2.3 From ad9ac4ec473ee23f6ca58c24fc33b1cb70520b83 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sat, 23 Apr 2016 02:48:18 -0400 Subject: Remove dependency on 'getopts' As described in 0b12b2bae1130746ed49cc3c7a2daa819ede1b58, we don't need to depend on 'getopts' because we don't have any command line options, just a single required argument. Rewrite our code to factor out getopts and assume that the first argument to our program is an alias file path. --- Cargo.lock | 8 -------- Cargo.toml | 1 - src/main.rs | 13 ++----------- 3 files changed, 2 insertions(+), 20 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8db7560..81030eb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,12 +1,4 @@ [root] name = "alias-auto-add" version = "0.0.1" -dependencies = [ - "getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "getopts" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" diff --git a/Cargo.toml b/Cargo.toml index 582992c..4fa9b0b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,4 +3,3 @@ name = "alias-auto-add" version = "0.0.1" [dependencies] -getopts = "0.2" diff --git a/src/main.rs b/src/main.rs index 6b9d79e..75e74ac 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,3 @@ -extern crate getopts; - -use getopts::Options; use std::env; use std::error::{self, Error}; use std::io::{self, BufRead, BufReader, Write}; @@ -168,15 +165,9 @@ fn print_usage(program: &str) { fn main() { let args: Vec = env::args().collect(); let program = args[0].clone(); - let opts = Options::new(); - - let opt_matches = match opts.parse(&args[1..]) { - Ok(m) => m, - Err(f) => panic!(f.to_string()), - }; - let file = if !opt_matches.free.is_empty() { - opt_matches.free[0].clone() + let file = if args.len() > 1 { + &args[1] } else { print_usage(&program); return; -- cgit v1.2.3 From 56d5771a96ce93c535dfed252b3a755a15e52840 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sat, 23 Apr 2016 03:08:35 -0400 Subject: Add a test email file Meant to commit this as part of 9b967f55333c82d333d88bfda41dd576b9ff5b46 when I first added the TAP integration test but forgot to do so. This is a sample email that we can use in our integration test. --- testdata/email | 4256 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 4256 insertions(+) create mode 100644 testdata/email diff --git a/testdata/email b/testdata/email new file mode 100644 index 0000000..3a7d937 --- /dev/null +++ b/testdata/email @@ -0,0 +1,4256 @@ +Return-Path: + +Delivered-To: unknown +X-Original-To: test@example.com +Delivered-To: x12345678@mail.example.com +Received: from mail.sub.example.net (mail.sub.example.net [198.1.199.2]) + by mail.example.com (Postfix) with ESMTP id AB12C3D4E5678 + for ; Fri, 22 Apr 2016 10:00:00 -0700 (PDT) +DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=k1; d=numa.co; + h=Subject:From:Reply-To:To:Date:Message-ID:List-ID:List-Unsubscribe:Content-Type:MIME-Version; i=communication@numa.co; + bh=70cLdKgNb25B4oYhTyHymtSwMYw=; + b=MHFxVa90TTLhLTmApjuOpYuY0I0AUK+Ox+vS1LFjXzk24OQC2cnmF7nmDznBWYZ6DOA8W0W7tHoB + q1sQOs0vB+KJLiHFOkpa1bfRBYauvrlTO69HgWeK2dIT3yfye0yK7FVYkHeDcincynbzM/Lsee+p + vGQZyIyOVAVeOIwKH34= +Received: from (127.0.0.1) by mail.sub.example.net id a1bc2d34efg5 for ; Fri, 22 Apr 2016 16:54:00 +0000 (envelope-from ) +Subject: =?utf-8?Q?NUMA=20vous=20emm=C3=A8ne=20dans=20l=27espace=C2=A0=F0=9F=9A=80?= +From: NUMA Paris +Reply-To: =?utf-8?Q?NUMA=20Paris?= +To: =?utf-8?Q??= +Date: Fri, 22 Apr 2016 16:54:00 +0000 +Message-ID: +X-Mailer: MailChimp Mailer - **CIDa1b2cdefgh3dd1eddbe4** +X-Campaign: mailchimpa12bc34de567f8ghi9g101112.a1b2cdefgh +X-campaignid: mailchimpa12bc34de567f8ghi9g101112.a1b2cdefgh +X-Report-Abuse: Please report abuse for this campaign here: http://www.mailchimp.com/abuse/abuse.phtml?u=a12bc34de567f8ghi9g101112&id=a1b2cdefgh&e=3dd1eddbe4 +X-MC-User: a12bc34de567f8ghi9g101112 +X-Feedback-ID: 12345:12345.67890:us1:mc +List-ID: a12bc34de567f8ghi9g101112mc list +X-Accounttype: pd +List-Unsubscribe: , +x-mcda: FALSE +Content-Type: multipart/alternative; boundary="_----------=_MCPart_884627744" +MIME-Version: 1.0 + +This is a multi-part message in MIME format + +--_----------=_MCPart_884627744 +Content-Type: text/plain; charset="utf-8"; format="fixed" +Content-Transfer-Encoding: quoted-printable + +NUMA Newsletter + +View this email in your browser (http://us1.campaign-archive2.com/?u=3Df98= +c0eea1590f1afbc8245608&id=3Da1b2cdefgh&e=1ab2cd3e4fgh) + +http://www.twitter.com/numaparis?utm_source=3DNUMA+Paris+%7C+Newsletter&ut= +m_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3Demail&= +utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678 +https://www.facebook.com/numaparis?utm_source=3DNUMA+Paris+%7C+Newsletter&= +utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3Demai= +l&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678 +https://paris.numa.co/?utm_source=3DNUMA+Paris+%7C+Newsletter&utm_campaign= +=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3Demail&utm_term= +=3D0_74cf6bd456-a1b2cdefgh-12345678 +https://www.instagram.com/numa_paris?utm_source=3DNUMA+Paris+%7C+Newslette= +r&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3Dem= +ail&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678 +http://www.cite-sciences.fr/fr/au-programme/lieux-ressources/carrefour-num= +erique2/tous-les-evenements/space-apps-challenge/?utm_source=3DNUMA+Paris+= +%7C+Newsletter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&ut= +m_medium=3Demail&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678 + + +** Space Apps Challenge avec NUMA=2C la NASA et la Cit=C3=A9 des Sciences +------------------------------------------------------------ +Le Space Apps Challenge est un hackathon international=2C imagin=C3=A9 par= + la NASA=2C ayant lieu en m=C3=AAme temps dans plusieurs villes du monde. +Durant 48h=2C des =C3=A9quipes devront r=C3=A9fl=C3=A9chir et produire des= + solutions ouvertes (open source) et innovantes=2C applicables dans le cad= +re de la vie sur Terre ou dans l=E2=80=99espace. +Pour cette =C3=A9dition 2016=2C les th=C3=A8mes retenus sont : a=C3=A9rona= +utique=2C station spatiale=2C syst=C3=A8me solaire et au-del=C3=A0=2C tech= +nologie=2C plan=C3=A8te Terre et exp=C3=A9dition vers Mars. + + +** +PROGRAMME : +------------------------------------------------------------ +* Vendredi 22 avril - 19h : Meet Up pr=C3=A9paratoire pour se rencontrer= +=2C rencontrer les coachs=2C choisir les challenges et constituer les =C3= +=A9quipes=2C chez NUMA. +* Samedi 23/04 - dimanche 24/04 : Hackathon et pr=C3=A9sentation des proje= +ts=2C au Carrefour num=C3=A9rique=C2=B2. + + +** JURY : +------------------------------------------------------------ +Des scientifiques de la NASA nous font l'honneur de leur pr=C3=A9sence dim= +anche apr=C3=A8s-midi=2C et seront jury lors de la pr=C3=A9sentation des p= +rojets : +* Dr. David W. Miller=2C Chief Technologist (http://www.nasa.gov/offices/o= +ct/octstaff/miller?utm_source=3DNUMA+Paris+%7C+Newsletter&utm_campaign=3Db= +3a2cafbb5-Newsletter_24_03_20163_15_2016&utm_medium=3Demail&utm_term=3D0_7= +4cf6bd456-a1b2cdefgh-12345678) +* Jurczyk Named of NASA Space Technology Mission Directorate (http://www.n= +asa.gov/press/2015/february/jurczyk-named-head-of-nasa-space-technology-mi= +ssion-directorate/?utm_source=3DNUMA+Paris+%7C+Newsletter&utm_campaign=3Db= +3a2cafbb5-Newsletter_24_03_20163_15_2016&utm_medium=3Demail&utm_term=3D0_7= +4cf6bd456-a1b2cdefgh-12345678) +* Dr. Ellen Stofan (http://www.nasa.gov/offices/ocs/stofan_bio.html?utm_so= +urce=3DNUMA+Paris+%7C+Newsletter&utm_campaign=3Da1b2cdefgh-Newsletter_24_0= +3_20163_15_2016&utm_medium=3Demail&utm_term=3D0_74cf6bd456-a1b2cdefgh-= +12345678) + +PARTICIPEZ AU SPACE APPS CHALLENGE (http://www.cite-sciences.fr/fr/au-prog= +ramme/lieux-ressources/carrefour-numerique2/tous-les-evenements/space-apps= +-challenge/?utm_source=3DNUMA+Paris+%7C+Newsletter&utm_campaign=3Db3a2cafb= +b5-Newsletter_24_03_20163_15_2016&utm_medium=3Demail&utm_term=3D0_74cf6bd4= +56-a1b2cdefgh-12345678) +http://dansunestartupcestmieux.numa.co?utm_source=3DNUMA+Paris+%7C+Newslet= +ter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3D= +email&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678 + +http://dansunestartupcestmieux.numa.co?utm_source=3DNUMA+Paris+%7C+Newslet= +ter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3D= +email&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678 + +http://dansunestartupcestmieux.numa.co?utm_source=3DNUMA+Paris+%7C+Newslet= +ter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3D= +email&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678 + +http://dansunestartupcestmieux.numa.co?utm_source=3DNUMA+Paris+%7C+Newslet= +ter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3D= +email&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678 + + +** Les start-ups du programme d'acc=C3=A9l=C3=A9ration de NUMA et de l'inc= +ubateur IONIS 361 recrutent ! +------------------------------------------------------------ +Vous voulez rejoindre une start-up en pleine croissance ? Consultez notre= + Job Board ! Vous y trouverez des dizaines d'offres de CDI=2C de CDD=2C de= + stages=2C et d'alternances. + + +** +#DansUneStartupCestMieux ! +------------------------------------------------------------ +CONSULTEZ LES OFFRES (http://dansunestartupcestmieux.numa.co?utm_source=3D= +NUMA+Paris+%7C+Newsletter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163= +_15_2016&utm_medium=3Demail&utm_term=3D0_74cf6bd456-a1b2cdefgh-= +12345678) +Travailler dans une start-up acc=C3=A9l=C3=A9r=C3=A9e chez NUMA ou IONIS 3= +61=2C c'est =C3=AAtre au coeur de l'aventure entrepreneuriale=2C en compag= +nie des meilleurs entrepreneurs. Pour vous permettre de les rencontrer=2C= + nous organisons une Job Fair le 03 mai ! +PARTICIPEZ =C3=80 LA JOB FAIR NUMA & IONIS 361 (https://www.eventbrite.fr/= +e/billets-job-fair-trouver-le-stage-de-votre-vie-en-start-up-24479981283?u= +tm_source=3DNUMA+Paris+%7C+Newsletter&utm_campaign=3Da1b2cdefgh-Newsletter= +_24_03_20163_15_2016&utm_medium=3Demail&utm_term=3D0_74cf6bd456-a1b2cdefgh= +-12345678) +http://snip.ly/6fe7q?utm_source=3DNUMA+Paris+%7C+Newsletter&utm_campaign= +=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3Demail&utm_term= +=3D0_74cf6bd456-a1b2cdefgh-12345678#https://paris.numa.co/Actualite= +s/Start-ups-postulez-365-jours-par-an + + +** Start-ups=2C postulez 365 jours par an ! +------------------------------------------------------------ +=C3=80 l'occasion de l'ouverture des candidatures pour la saison 9 du prog= +ramme d'acc=C3=A9l=C3=A9ration=2C deux grandes nouveaut=C3=A9s : nous pass= +ons de 2 =C3=A0 3 promotions par an=2C et il est d=C3=A9sormais possible d= +e postuler tout au long de l'ann=C3=A9e. +D=C3=89COUVREZ LES NOUVEAUT=C3=89S DU PROCESSUS DE S=C3=89L=C3=89CTION (ht= +tp://snip.ly/6fe7q?utm_source=3DNUMA+Paris+%7C+Newsletter&utm_campaign=3Db= +3a2cafbb5-Newsletter_24_03_20163_15_2016&utm_medium=3Demail&utm_term=3D0_7= +4cf6bd456-a1b2cdefgh-12345678#https://paris.numa.co/Actualites/Star= +t-ups-postulez-365-jours-par-an) + + +** VIDEO +------------------------------------------------------------ +https://www.youtube.com/watch?v=3Dyo1Zxg61eZw&utm_source=3DNUMA+Paris+%7C+= +Newsletter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_me= +dium=3Demail&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678 + + +** Learn how to pitch! With Annabelle Roberts=2C from Present Perfect +------------------------------------------------------------ + + +** ALUMNI +------------------------------------------------------------ +http://www.challenges.fr/start-up/20160404.CHA7275/la-start-up-drust-a-cre= +e-un-boitier-connecte-pour-voiture.html?utm_source=3DNUMA+Paris+%7C+Newsle= +tter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium= +=3Demail&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678 +La start-up Drust a cr=C3=A9=C3=A9 un bo=C3=AEtier connect=C3=A9 pour voit= +ure (http://www.challenges.fr/start-up/20160404.CHA7275/la-start-up-drust-= +a-cree-un-boitier-connecte-pour-voiture.html?utm_source=3DNUMA+Paris+%7C+N= +ewsletter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_med= +ium=3Demail&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678) +Dans Challenges + +http://business.lesechos.fr/entrepreneurs/idees-de-business/021834916901-w= +elcome-to-the-jungle-veut-dynamiter-le-recrutement-209454.php?JqksZZjxVYhv= +6XV8.99&utm_source=3DNUMA+Paris+%7C+Newsletter&utm_campaign=3Da1b2cdefgh-N= +ewsletter_24_03_20163_15_2016&utm_medium=3Demail&utm_term=3D0_74cf6bd456-b= +3a2cafbb5-12345678 +Welcome to the Jungle veut dynamiter le recrutement (http://business.lesec= +hos.fr/entrepreneurs/idees-de-business/021834916901-welcome-to-the-jungle-= +veut-dynamiter-le-recrutement-209454.php?JqksZZjxVYhv6XV8.99&utm_source=3D= +NUMA+Paris+%7C+Newsletter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163= +_15_2016&utm_medium=3Demail&utm_term=3D0_74cf6bd456-a1b2cdefgh-= +12345678) +Dans Les Echos + + +** AGENDA +------------------------------------------------------------ +Vendredi 16 avril +18:30 - 21:30 + + +** Hackathon Open Democracy +------------------------------------------------------------ +https://paris.numa.co/Evenements/HACKATHON-OPEN-DEMOCRACY-NOW-15-16-avril-= +au-NUMA3?utm_source=3DNUMA+Paris+%7C+Newsletter&utm_campaign=3Da1b2cdefgh-= +Newsletter_24_03_20163_15_2016&utm_medium=3Demail&utm_term=3D0_74cf6bd456-= +a1b2cdefgh-12345678 +Open Gov=2C Open Source=2C Open Data... Comment le num=C3=A9rique peut app= +orter des r=C3=A9ponses =C3=A0 la d=C3=A9mocratie ? +S'INSCRIRE (https://paris.numa.co/Evenements/HACKATHON-OPEN-DEMOCRACY-NOW-= +15-16-avril-au-NUMA3?utm_source=3DNUMA+Paris+%7C+Newsletter&utm_campaign= +=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3Demail&utm_term= +=3D0_74cf6bd456-a1b2cdefgh-12345678) +Jeudi 21 avril +18:30 - 21:00 + + +** Ap=C3=A9ro Koom +------------------------------------------------------------ +https://paris.numa.co/Evenements/Apero-Koom?utm_source=3DNUMA+Paris+%7C+Ne= +wsletter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medi= +um=3Demail&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678 +Apr=C3=A8s le succ=C3=A8s de l'Ap=C3=A9ro Koom =C3=A0 La Recyclerie=2C le= + rdv mensuel des Koomers change de lieu et investit NUMA ! + +S'INSCRIRE (https://paris.numa.co/Evenements/Apero-Koom?utm_source=3DNUMA+= +Paris+%7C+Newsletter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2= +016&utm_medium=3Demail&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678) +Vendredi 22 avril +19:00 - 20:30 + + +** 2016 : quelles armes pour trouver un emploi ? +------------------------------------------------------------ +https://paris.numa.co/Evenements/2016-quelles-armes-pour-trouver-un-emploi= +?utm_source=3DNUMA+Paris+%7C+Newsletter&utm_campaign=3Da1b2cdefgh-Newslett= +er_24_03_20163_15_2016&utm_medium=3Demail&utm_term=3D0_74cf6bd456-b3a2cafb= +b5-12345678 + +On peut toujours chercher un emploi en 2016 comme on le faisait en 1996. M= +ais=2C si on se mettait =C3=A0 jour=2C ensemble ? +S'INSCRIRE (https://paris.numa.co/Evenements/2016-quelles-armes-pour-trouv= +er-un-emploi?utm_source=3DNUMA+Paris+%7C+Newsletter&utm_campaign=3Db3a2caf= +bb5-Newsletter_24_03_20163_15_2016&utm_medium=3Demail&utm_term=3D0_74cf6bd= +456-a1b2cdefgh-12345678) + + +** ENTERPRISE EUROPE NETWORK +------------------------------------------------------------ +http://www.pic2europe.fr/agenda/6e-forum-europe-pme-pariez-sur-la-propriet= +e-intellectuelle-pour-acceder-leurope?utm_source=3DNUMA+Paris+%7C+Newslett= +er&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3De= +mail&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678 + + +** 6e Forum Europe : PME=2C pariez sur la Propri=C3=A9t=C3=A9 Intellectuel= +le pour acc=C3=A9der =C3=A0 l'Europe ! +------------------------------------------------------------ + +Jug=C3=A9e complexe et souvent mal appr=C3=A9hend=C3=A9e par les PME=2C la= + propri=C3=A9t=C3=A9 intellectuelle peut pourtant s=E2=80=99av=C3=A9rer d= +=C3=A9cisive dans vos n=C3=A9gociations =C3=A0 l=E2=80=99international. + +Apprenez quel patrimoine vous pouvez prot=C3=A9ger=2C par quel moyen=2C da= +ns quel but=2C et d=C3=A9couvrez comment ces protections peuvent =C3=AAtre= + sources de revenus pour votre entreprise. + + +EN SAVOIR PLUS (http://www.pic2europe.fr/agenda/6e-forum-europe-pme-pariez= +-sur-la-propriete-intellectuelle-pour-acceder-leurope?utm_source=3DNUMA+Pa= +ris+%7C+Newsletter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_201= +6&utm_medium=3Demail&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678) + + +** USER EXPERIENCE +------------------------------------------------------------ +https://paris.numa.co/Evenements/Workshop-avec-Gerry-McGovern-et-Milan-Gue= +nther?utm_source=3DNUMA+Paris+%7C+Newsletter&utm_campaign=3Da1b2cdefgh-New= +sletter_24_03_20163_15_2016&utm_medium=3Demail&utm_term=3D0_74cf6bd456-b3a= +2cafbb5-12345678 + + +** Workshop avec Gerry McGovern et Milan Guenther +------------------------------------------------------------ + +Exp=C3=A9rience Utilisateur: placez l'utilisateur au c=C5=93ur de la trans= +formation digitale ! + +Le Top Task Management vous met aux commandes. D'abord=2C il vous permet d= +'identifier=2C avec des preuves concr=C3=A8tes=2C ce qui importe le plus= + =C3=A0 vos clients (ou employ=C3=A9s=2C investisseurs=2C etc). +Ensuite=2C le Task Performance Indicator vous donne des metrics pr=C3=A9ci= +ses sur l'ex=C3=A9cution de ces t=C3=A2ches. C'est un indicateur que vous= + pouvez contr=C3=B4ler=2C =C3=A0 la diff=C3=A9rence d=E2=80=99autres mesur= +es traditionnelles de satisfaction clients. +Gr=C3=A2ce aux Top Tasks=2C vous serez en mesure de prouver =C3=A0 votre d= +irection la valeur r=C3=A9elle de l'organisation ! + +EN SAVOIR PLUS (https://paris.numa.co/Evenements/Workshop-avec-Gerry-McGov= +ern-et-Milan-Guenther?utm_source=3DNUMA+Paris+%7C+Newsletter&utm_campaign= +=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3Demail&utm_term= +=3D0_74cf6bd456-a1b2cdefgh-12345678) + + +** ALLIANCY=2C LE MAG +------------------------------------------------------------ +http://www.alliancy.fr/alliancy-le-prix?utm_source=3DNUMA+Paris+%7C+Newsle= +tter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium= +=3Demail&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678 + + +** Alliancy=2C le prix est de retour ! + +------------------------------------------------------------ +Depuis 4 ans=2C Alliancy=2C le mag c=C3=A9l=C3=A8bre les collaborations d= +=E2=80=99entreprises les plus prometteuses =C3=A0 travers Alliancy=2C le p= +rix. + +Alliancy=2C le prix r=C3=A9compense : +* Les couples ou collectifs d=E2=80=99entreprises : industriels=2C service= +s=2C collectivit=C3=A9s=2C associations=2C =E2=80=A6 et acteurs du num=C3= +=A9rique=2C petits ou grands=E2=80=A6 +* qui ont alli=C3=A9s leurs forces en co-investissant=2C en co-d=C3=A9velo= +ppant=2C en co-innovant=E2=80=A6 +* pour se transformer=2C proposer de nouveaux usages et inventer les march= +=C3=A9s de demain + +POSTULER (http://www.alliancy.fr/alliancy-le-prix?utm_source=3DNUMA+Paris+= +%7C+Newsletter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&ut= +m_medium=3Demail&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678#formin= +s) + + +** OUISHARE FEST +------------------------------------------------------------ +http://2016.ouisharefest.com/?utm_source=3DNUMA+Paris+%7C+Newsletter&utm_c= +ampaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3Demail&utm= +_term=3D0_74cf6bd456-a1b2cdefgh-12345678 + + +** Rendez-vous au OuiShare Fest : Explorons les =C3=A9mergences +Offre sp=C3=A9ciale Early Bird +------------------------------------------------------------ +Futur du travail=2C management distribu=C3=A9=2C d=C3=A9marches z=C3=A9ro= + d=C3=A9chets=2C institutions num=C3=A9riques=2C villes collaboratives=2C= + open source=2C blockchain... Pour sa 4e =C3=A9dition=2C le OuiShare Fest= + r=C3=A9unira au mois de mai 1500 pionniers et entrepreneurs venus du mond= +e entier tels que Nilofer Merchant=2C Gavin Wood (Ethereum) ou encore Prim= +avera De Fillipi (Backfeed) pour 4 jours de rencontres=2C d=E2=80=99atelie= +rs=2C de conf=C3=A9rences et de performances artistiques. + + + +** En tant que partenaire du OuiShare Fest nous sommes heureux de vous off= +rir une r=C3=A9duction de 35% sur vos billets EarlyBird gr=C3=A2ce au code= + promo: OSF16NUMA +------------------------------------------------------------ +PARTICIPER AU OUISHARE FEST 2016 (http://ouisharefest.com/?utm_source=3DNU= +MA+Paris+%7C+Newsletter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_1= +5_2016&utm_medium=3Demail&utm_term=3D0_74cf6bd456-a1b2cdefgh-= +12345678) + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +** (http://trophees2016.netineo.com/?utm_source=3DNUMA+Paris+%7C+Newslette= +r&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3Dem= +ail&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678) + +PARTENAIRES + +** (http://www.twitter.com/numaparis?utm_source=3DNUMA+Paris+%7C+Newslette= +r&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3Dem= +ail&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678) +** (https://www.facebook.com/numaparis?utm_source=3DNUMA+Paris+%7C+Newslet= +ter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3D= +email&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678) +** (https://paris.numa.co/?utm_source=3DNUMA+Paris+%7C+Newsletter&utm_camp= +aign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium=3Demail&utm_te= +rm=3D0_74cf6bd456-a1b2cdefgh-12345678) +** (https://www.instagram.com/numa_paris?utm_source=3DNUMA+Paris+%7C+Newsl= +etter&utm_campaign=3Da1b2cdefgh-Newsletter_24_03_20163_15_2016&utm_medium= +=3Demail&utm_term=3D0_74cf6bd456-a1b2cdefgh-12345678) +Copyright =C2=A9 2016 NUMA=2C All rights reserved. + Vous faites partie de cette liste car vous vous =C3=AAtes inscrits =C3=A0= + la newsletter du NUMA. + +Our mailing address is: +NUMA +39 Rue du Caire=2C Paris=2C France +Paris=2C France 75002 +France +Want to change how you receive these emails? +You can ** update your preferences (http://numa.us1.list-manage.com/profil= +e?u=3Da12bc34de567f8ghi9g101112&id=3D74cf6bd456&e=1ab2cd3e4fgh) +or ** unsubscribe from this list (http://numa.us1.list-manage.com/unsubscr= +ibe?u=3Da12bc34de567f8ghi9g101112&id=3D74cf6bd456&e=1ab2cd3e4fgh&c=3Db3a2caf= +bb5) +--_----------=_MCPart_884627744 +Content-Type: text/html; charset="utf-8" +Content-Transfer-Encoding: quoted-printable + + + +=09 +=09=09 +=09=09 +=09=09 + + +=09=09NUMA vous emm=C3=A8ne dans l'espace=C2=A0=F0=9F=9A=80 + + + +
+ + + + +
+=09=09=09=09=09=09 +=09=09=09=09=09=09 +=09=09=09=09=09=09 +=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09 + +
+ + + + + +
+ + + + + + +
+ + NUMA Newsletter +
+ + + + + + +
+ + View this email in your browser +
+ +
+ + + + + +
+ + + + +
+ + + 3D"" + + +
+
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + + + + + + +
+ + + + + = + + + + +
+ +
+ = + + = +
+
+
+ + + + + + + + + + +
+ + + + + = + + + + +
+ +
+ = + + = +
+
+
+ + + + + + + + + + +
+ + + + + = + + + + +
+ +
+ = + + = +
+
+
+ + + + + + + + + + +
+ + + + + = + + + + +
+ +
+ = + + = +
+
+
+ + + + +
+
+ + + + + + + + +=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09 + + + + + +
+ + + + + + + + + +
+ + + + + + 3D"" + + +
+

Space Apps Challenge avec NUMA=2C&nbs= +p;la NASA et la Cit=C3=A9 des Sciences

+ +

+Le Space Apps Challenge est un hack= +athon international=2C imagin=C3=A9 par la NASA=2C ayant lieu en= + m=C3=AAme temps dans plusieurs villes du monde.
+Durant 48h=2C des =C3=A9quipes devront r=C3=A9fl=C3=A9chir et prod= +uire des solutions ouvertes (open source) et innovantes=2C applicables dan= +s le cadre de la vie sur Terre ou dans l=E2=80=99espace.
+Pour cette =C3=A9dition 2016=2C les th=C3=A8mes retenus sont : a=C3=A9rona= +utique=2C station spatiale=2C syst=C3=A8me solaire et au-del=C3=A0=2C tech= +nologie=2C plan=C3=A8te Terre et exp=C3=A9dition vers Mars.
+ +

+PROGRAMME :

+ +
    +=09
  • Vendredi 22= + avril - 19h : Meet Up pr=C3=A9paratoire pour se rencontrer=2C rencontrer= + les coachs=2C choisir les challenges et constituer les =C3=A9quipes=2C chez NUMA.
  • +=09
  • Samedi 23/04 - dimanche 24/04 : Hackathon et pr=C3=A9sentati= +on des projets=2C au Carrefour num=C3=A9rique=C2=B2.
  • +
+ +

JU= +RY :

+ +
Des scientifiques de la NASA nous font l'honneur de leur pr=C3= +=A9sence dimanche apr=C3=A8s-midi=2C et seront jury lors de la pr=C3=A9sen= +tation des projets :
+ + + +
+ + + + + +
+ + + + + +
+ + + + + + +
+ PARTIC= +IPEZ AU SPACE APPS CHALLENGE +
+
+ + + + + +
+ + + + +
+ +
+ +
+ + + + + + + + + + + +
+ + + + + +
+ + + 3D"" + + +
+ + + + + +
+ + + 3D"" + + +
+ +
+ + + + + +
+ + + 3D"" + + +
+ + + + + +
+ + + 3D"" + + +
+ +
+ + + + + +
+ + + + + + +
+ +

Les start-ups du pro= +gramme d'acc=C3=A9l=C3=A9ration de NUMA et de l'incubateur IONIS 361= + recrutent ! 

+
+Vous voulez rejoindre une start-up en plein= +e croissance ? Consultez notre Job Board ! Vous y trouverez des dizaines d= +'offres de CDI=2C de CDD=2C de stages=2C et d'alternances. + +


+#DansUneStartupCestMieux !

+ +
+ +
+ + + + + +
+ + + + + + +
+ CONSU= +LTEZ LES OFFRES +
+
+ + + + + +
+ + + + + + +
+ + Travailler dans= + une start-up acc=C3=A9l=C3=A9r=C3=A9e chez NUMA ou IONIS 361=2C c'est =C3= +=AAtre au coeur de l'aventure entrepreneuriale=2C en compagnie des meilleu= +rs entrepreneurs. Pour vous permettre de les rencontrer=2C nous organ= +isons une Job Fair le 03 mai ! +
+ +
+ + + + + +
+ + + + + + +
+ PARTI= +CIPEZ =C3=80 LA JOB FAIR NUMA & IONIS 361 +
+
+ + + + + +
+ + + + +
+ +
+ +
+ + + + + +
+ + + + + + + + + +
+ + + + + + 3D"" + + +
+

Start-ups=2C postulez 365 jours par a= +n !

+
+=C3=80 l'occasion de l'ouverture de= +s candidatures pour la saison 9 du programme d'acc=C3=A9l=C3=A9ra= +tion=2C deux grandes nouveaut=C3=A9s : nous passons de 2 =C3=A0 3= + promotions par an=2C et il est d=C3=A9sormais possible de postuler tout au long de l'ann=C3=A9e. +
+ + + + + +
+ + + + + +
+ + + + + + +
+ D=C3= +=89COUVREZ LES NOUVEAUT=C3=89S DU PROCESSUS DE S=C3=89L=C3=89CTION +
+
+ + + + + +
+ + + + +
+ +
+ +
+ + + + + +
+ + + + + + +
+ +

VIDEO

+ +
+ +
+ + + + + +
+ + + + + + + + +
+ + + + + + 3D"" + + +
+

Learn how to pitch! With Annabelle Ro= +berts=2C from Present Perfect

+ +
+ + + + +
+ + + + + +
+ + + + +
+ +
+ +
+ + + + + +
+ + + + + + +
+ +

ALUMNI

+ +
+ +
+ + + + + +
+ + + + + + + + + +
+ + + + + + 3D"" + + +
+ La start-up Drust a cr= +=C3=A9=C3=A9 un bo=C3=AEtier connect=C3=A9 pour voiture
+Dans Challenges +
+ + + + + + + + +
+ + + + + + 3D"" + + +
+ Welcome to the Jungle veut dynamiter le recrutement<= +/strong>
+Dans Les Echos +
+ + + + + +
+ + + + + +
+ + + + +
+ +
+ +
+=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09 + + + + + +
+ + + + + + +
+ +

AGENDA

+ +
+ +
+=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09
+ + + + + +
+ + + + + + +
+ + Vendredi 16 avril
+18:30 - 21:30
+
+ +
+ + + + + +
+ + + + + + +
+ +

Hackathon Open Democracy

+ +
+ +
+ + + + + +
+ + + + + + + + + +
+ + + + + + 3D"" + + +
+ +
+ + + + + +
+ + + + + +
+ + + + + + +
+ + Open Gov=2C Open Source=2C Open Data... Commen= +t le num=C3=A9rique peut apporter des r=C3=A9ponses =C3=A0 la d=C3=A9mocra= +tie ? +
+ +
+ + + + + +
+ + + + + + +
+ S'INS= +CRIRE +
+
+=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09
+ + + + + +
+ + + + + + +
+ + Jeudi 21 avril
+18:30 - 21:00
+
+ +
+ + + + + +
+ + + + + + +
+ +

Ap=C3=A9ro Koom

+ +
+ +
+ + + + + +
+ + + + + + + + + +
+ + + + + + 3D"" + + +
+ +
+ + + + + +
+ + + + + +
+ + + + + + +
+ + Apr=C3=A8s le succ=C3=A8s de l'Ap=C3=A9ro Koom= + =C3=A0 La Recyclerie=2C le rdv mensuel des Koomers change de lieu et inve= +stit NUMA !
+  +
+ +
+ + + + + +
+ + + + + + +
+ S'INS= +CRIRE +
+
+=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09
+ + + + + +
+ + + + + + +
+ + Vendredi 22 avril
+19:00 - 20:30
+
+ +
+ + + + + +
+ + + + + + +
+ +

2016 : quelles armes pour trouver un emploi ?

+ +
+ +
+ + + + + +
+ + + + + + + + + +
+ + + + + + 3D"" + + +
+ +
+ + + + + +
+ + + + + +
+ + + + + + +
+ +

On peut toujours cherche= +r un emploi en 2016 comme on le faisait en 1996. Mais=2C si on se mettait= + =C3=A0 jour=2C ensemble ?

+ +
+ +
+ + + + + +
+ + + + + + +
+ S'INS= +CRIRE +
+
+=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09
+ + + + + +
+ + + + +
+ +
+ +
+ + + + + +
+ + + + + + +
+ +

ENTERPRISE EUROPE NE= +TWORK

+ +
+ +
+ + + + + +
+ + + + +
+ + + 3D"" + + +
+
+ + + + + +
+ + + + + + +
+ +

6e Forum Europe : PME=2C pariez sur la Propri=C3=A9= +t=C3=A9 Intellectuelle pour acc=C3=A9der =C3=A0 l'Europe !

+ +
+ +
+ + + + + +
+ + + + + + +
+ +

Jug=C3=A9e complexe et souvent mal appr=C3=A9hend= +=C3=A9e par les PME=2C la propri=C3=A9t=C3=A9 intellectuelle peut= + pourtant s=E2=80=99av=C3=A9rer d=C3=A9cisive dans vos n=C3=A9gociations= + =C3=A0 l=E2=80=99international.
+
+Apprenez quel patrimoine vous pouvez prot=C3=A9ger=2C par quel moyen=2C da= +ns quel but=2C et d=C3=A9couvrez comment ces protections peuvent =C3=AAtre= + sources de revenus pour votre entreprise.
+

+ +
+ +
+ + + + + +
+ + + + + + +
+ E= +N SAVOIR PLUS +
+
+ + + + + +
+ + + + +
+ +
+ +
+ + + + + +
+ + + + + + +
+ +

USER EXPERIENCE

+ +
+ +
+ + + + + +
+ + + + +
+ + + 3D"" + + +
+
+ + + + + +
+ + + + + + +
+ +

Workshop avec Gerry McGovern et Milan Guenther

+ +
+ +
+ + + + + +
+ + + + + + +
+ +

Exp=C3=A9rience Utilisateur: placez l'= +utilisateur au c=C5=93ur de la transformation digitale !
+
+Le Top Task Management vous met aux commandes. D'abo= +rd=2C il vous permet d'identifier=2C avec des preuves concr=C3=A8tes=2C ce= + qui importe le plus =C3=A0 vos clients (ou employ=C3=A9s=2C investisseurs= +=2C etc). 
+Ensuite=2C le Task Performance Indicator vous donne des <= +em>metrics pr=C3=A9cises sur l'ex=C3=A9cution de ces t=C3=A2ches. C'e= +st un indicateur que vous pouvez contr=C3=B4ler=2C =C3=A0 la diff=C3=A9ren= +ce d=E2=80=99autres mesures traditionnelles de satisfaction clients.
+Gr=C3=A2ce aux Top Tasks=2C vous serez en mesure de prouv= +er =C3=A0 votre direction la valeur r=C3=A9elle de l'organisation !

+ +
+ +
+ + + + + +
+ + + + + + +
+ E= +N SAVOIR PLUS +
+
+=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09=09
+ + + + + +
+ + + + +
+ +
+ +
+ + + + + +
+ + + + + + +
+ +

ALLIANCY=2C LE MAG + +

+ +
+ + + + + +
+ + + + +
+ + + 3D"" + + +
+
+ + + + + +
+ + + + + + +
+ +

Alliancy=2C le prix est de retour !

+ +
Depuis= + 4 ans=2C Alliancy=2C le mag c=C3=A9l=C3=A8bre les collaborations= + d=E2=80=99entreprises les plus prometteuses =C3=A0 travers Allia= +ncy=2C le prix.
+
+Alliancy=2C le prix r=C3=A9compense :
+ +
    +=09
  • Les couples ou= + collectifs d=E2=80=99entreprises : industriels=2C services=2C co= +llectivit=C3=A9s=2C associations=2C =E2=80=A6 et acteurs du num=C3=A9rique= +=2C petits ou grands=E2=80=A6
  • +=09
  • qui ont alli= +=C3=A9s leurs forces en co-investissant=2C en co-d=C3=A9veloppant= +=2C en co-innovant=E2=80=A6
  • +=09
  • pour se transf= +ormer=2C proposer de nouveaux usages et inventer les march=C3=A9s= + de demain
  • +
+ +
+ +
+ + + + + +
+ + + + + + +
+ POSTUL= +ER +
+
+ + + + + +
+ + + + +
+ +
+ +
+ + + + + +
+ + + + + + +
+ +

OUISHARE FEST

+ +
+ +
+ + + + + +
+ + + + +
+ + + 3D"" + + +
+
+ + + + + +
+ + + + + + +
+ +

Rendez-vous au OuiShare Fest : Explorons les= + =C3=A9mergences
+Offre sp=C3=A9ciale Early Bird

+
+Futur du travail=2C management distribu=C3=A9=2C d=C3=A9marches z=C3=A9ro= + d=C3=A9chets=2C institutions num=C3=A9riques=2C villes collaboratives=2C= + open source=2C blockchain... Pour sa 4e =C3=A9dition=2C le OuiSha= +re Fest r=C3=A9unira au mois de mai 1500 pionniers et entrepreneurs venus du monde entier tels que Nilofer Merchant=2C Gavin Wood (Ethereum= +) ou encore Primavera De Fillipi (Backfeed) pour 4 jours de rencontres=2C= + d=E2=80=99ateliers=2C de conf=C3=A9rences et de performances artistiques.= +
+  +

En ta= +nt que partenaire du OuiShare Fest nous sommes heureux de vous offrir une= + r=C3=A9duction de 35% sur vos billets EarlyBird gr=C3=A2ce au code p= +romo: OSF16NUMA

+ +
+ +
+ + + + + +
+ + + + + + +
+ PARTICIPER AU OUISHARE FEST 2016 +
+
+=09=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09 +=09=09=09=09=09=09=09=09 + + + + + +
+ + + + +
+ + + 3D"" + + +
+
+ + + + + +
+ + + + + + +
+ +

PARTENAIRES

+ +
+ +
+ + + + + +
+ + + + +
+ + + 3D"" + + +
+
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + + + + + + +
+ + + + + = + + + + +
+ +
+ = + + = +
+
+
+ + + + + + + + + + +
+ + + + + = + + + + +
+ +
+ = + + = +
+
+
+ + + + + + + + + + +
+ + + + + = + + + + +
+ +
+ = + + = +
+
+
+ + + + + + + + + + +
+ + + + + = + + + + +
+ +
+ = + + = +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ + Copyright =C2=A9 2016 NUMA=2C All rights r= +eserved.
+ Vous faites partie de cette liste car vous vous =C3=AAtes inscrits =C3=A0= + la newsletter du NUMA.
+
+Our mailing address is:
+
NUMA
= +
39 Rue du Caire=2C Paris=2C France
Paris=2C France 75= +002
France

Add us to your address book
+
+
+Want to change how you receive these emails?
+You can update your pref= +erences or unsubscribe from this list
+
+
+ +
+=09=09=09=09=09=09=09 +=09=09=09=09=09=09 +=09=09=09=09=09=09 +=09=09=09=09=09=09 + + + +
+ + +--_----------=_MCPart_884627744-- -- cgit v1.2.3 From f8490d43dfa0ecea0bb4716d93067ec37c6212dc Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sat, 23 Apr 2016 03:10:56 -0400 Subject: Update integration test to use the better test alias file Instead of using the temporary `./testaliases` alias file, use a copy of the `./testdata/aliases` file. We're able to do this with our new ability to specify our alias file as the first argument to our executable. --- ...eates-a-new-alias-for-a-contact-with-an-existing-name.t | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/t/001-creates-a-new-alias-for-a-contact-with-an-existing-name.t b/t/001-creates-a-new-alias-for-a-contact-with-an-existing-name.t index 2ab2fa3..26e8119 100644 --- a/t/001-creates-a-new-alias-for-a-contact-with-an-existing-name.t +++ b/t/001-creates-a-new-alias-for-a-contact-with-an-existing-name.t @@ -4,16 +4,23 @@ use strict; use warnings; use Test::More; +use File::Copy qw(copy); use feature qw(say); +my $tmp_file = "./testdata/tmp"; + +# Setup: make a temporary alias file +copy("./testdata/aliases", $tmp_file); + + # Append test alias to alises file -open(my $fh, '>>', './testaliases') or die; +open(my $fh, '>>', $tmp_file) or die; say $fh 'alias paris-numa NUMA Paris '; close $fh; -my $output = `cat ./testdata/email | ./target/debug/alias-auto-add`; +my $output = `cat ./testdata/email | ./target/debug/alias-auto-add $tmp_file`; ok !$?; # Check that the program outputs the full email coming from STDIN @@ -29,7 +36,7 @@ ok !$?; # Check that the aliases file includes an alias for the address from the input email { - open(my $fh, '<', './testaliases') or die; + open(my $fh, '<', $tmp_file) or die; my $last_line; while (my $line = readline $fh) { @@ -43,6 +50,7 @@ ok !$?; # Teardown +unlink $tmp_file; done_testing; -- cgit v1.2.3