SlideShare une entreprise Scribd logo
1  sur  89
Télécharger pour lire hors ligne
L’art des sides projects
Baptiste Jamin
Dev fullstack
Etudiant en IMR1 à l’Enssat.
Orange & Freelance
@baptistejamin
Quentin de Quelen
Dev frontend / iOS
Etudiant IMR1 ENSSAT
Apizee & Freelance
@Quentin_dQ
Les side projects
“
Pour apprendre le travail d’équipe
“
Pour s’éclater techniquement
“
You are the boss
“
Car c’est cool
“
Car c’est cool
“
C’est bien sur un CV
“
Sur un malentendu ça peut
marcher
Nos side projects
Total : 7 projets
Randomail
Commencé en 2012
Mail jetable
3e version
+8000 utilisateurs
+12000 mails/jour
https://randomail.net/
Projet Android
Place your screenshot here
Projet iOS
lannion Bus
Créée en 2014
Prix étudiant innov@lannion
Quelques jeux vidéos
Frog Creator (Open Source)
Place your screenshot here
Yool
Créé en 2014
Coup de coeur du jury, SWNA
http://getyool.co
L’origine du Yool
“
Go back to the Yool
“
Le Yool ça ne s’explique pas ça se vit
Maître Yoolda
Projet Android
Place your screenshot here
Projet iOS
Behind the scenes
Des post-it, partout partout partout !
Pour la communication
http://asana.com/
Pour la communication
http://slack.com
Pour la communication
Pour la communication
http://www.whatsapp.com
Tout le monde a le pouvoir!
Be friends
Une phrase à retenir
No talk, all action
Parlons d’action, justement
Dans un side project, le plus important, ça n’est
pas l’idée, mais l’exécution
1: acheter un mac
http://store.apple.com/us/buy-mac/
1: acheter un mac
Le dev
Une partie importante du side project
1: acheter un macVous êtes une équipe
1: acheter un mac
Mettez vous d’accord
sur vos langages et conventions
1: acheter un mac
Tout le monde doit toucher à tout
Conseils pour faire son app
Android
Que des bons, évidemment
Un problème une
librairire
Android Query
ImageView tbView = (ImageView) view.findViewById(R.id.
icon);
if(tbView != null){
tbView.setImageBitmap(R.drawable.icon);
tbView.setVisibility(View.VISIBLE);
tbView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
someMethod(v);
}
});
}
AQuery aq = new AQuery(view);
aq.id(R.id.icon)
.image(R.drawable.icon)
.visible()
.clicked(this, "someMethod");
Avant: Après:
https://github.com/androidquery/androidquery
Picasso
Picasso.with(context)
.load(url)
.resize(50, 50)
.centerCrop()
.into(imageView)
https://github.com/square/picasso
Material Design
https://github.com/navasmdc/MaterialDesignLibrary
Android Studio
<3 Gradle
compile 'com.squareup.picasso:picasso:2.5.2'
Conseils pour iOS
Think different
Objective C
NSArray *unsortedArray = @[@"Ahmed", @"Marwa", @"Siva", @"Paul", @"Otto",
@"Sam", @"Candy"];
NSSortDescriptor* sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:nil
ascending:NO selector:@selector(localizedCompare:)];
NSArray* sortedArray = [unsortedArray sortedArrayUsingDescriptors:[NSArray
arrayWithObject:sortDescriptor]];
//SortedArray = [Siva, Sam, Paul, Otto, Marwa, Candy, Ahmed]
Swift
let names = ["Ahmed", "Marwa", "Siva", "Paul", "Otto", "Sam", "Candy"]
reversed = sort(names, {>})
// reversed = [Siva, Sam, Paul, Otto, Marwa, Candy, Ahmed]
Un problème une
librairire
http://www.swifttoolbox.io
SwiftToolbox : Agrégateur de librairie
https://github.com/Alamofire/Alamofire
librairies
Material Kit
https://github.com/nghialv/MaterialKit
SwiftyJSON
https://github.com/lingoer/SwiftyJSON
Without SwiftyJSON
let jsonObject : AnyObject! = NSJSONSerialization.JSONObjectWithData(dataFromTwitter,
options: NSJSONReadingOptions.MutableContainers, error: nil)
if let statusesArray = jsonObject as? NSArray{
if let aStatus = statusesArray[0] as? NSDictionary{
if let user = aStatus["user"] as? NSDictionary{
if let userName = user["name"] as? NSDictionary{
//Finally We Got The Name
}
}
}
}
With SwiftyJSON
let json = JSON(data: dataFromNetworking)
if let userName = json[0]["user"]["name"].string{
//Now you got your value
}
Toucan
https://github.com/gavinbunney/Toucan
Gestion de dépendances : Cocoa Pods
https://guides.cocoapods.org/
Gestion de dépendances : Carthage
https://github.com/Carthage/Carthage
Conseils pour les devs web
Developers, Developers
Wow.js
http://mynameismatthieu.com/WOW/
https://angularjs.org
http://ionicframework.com
Cobalt
http://cobaltians.com
Partie Native
(Objective C)
Partie Web
(Ionic)
sudo npm install -g cobaltians
cobaltians create myApp HelloWorld
Conseils pour un backend
Scalable, cela va de soi
Node.JS
EVERYWHERE
ES6 avec
babel
https://babeljs.io
Diviser
Pour
Mieux règner
Le refactoring c’est vital
A B
C D
digitalocean.com
https://www.getpostman.com
Vous êtes un développeur
PAS SYSADMIN
Votre travail s’arrête après
git push
Donc utilisez des outils pour
déployer automatiquement
Dokku (heroku like)
https://github.com/progrium/dokku
Ou votre propre workflow...
https://github.com/mywaystar/hooky
[ERROR@production] Events Server Exception (6a0177205f10e1516a7df890fc18c47d)
Baptiste Jamin bug créé 2 days ago
NOTE: THIS ISSUE HAS BEEN AUTOMATICALLY OPENED.
TypeError: Cannot read property 'constructor' of null
at md5 (/root/yool_api/node_modules/MD5/md5.js:9:16)
at module.exports (/root/yool_api/node_modules/MD5/md5.js:154:42)
at /root/yool_api/lib/controllers/users/getProfile.js:25:65
at /root/yool_api/node_modules/mongodb/lib/mongodb/collection/query.js:164:5
at Cursor.nextObject (/root/yool_api/node_modules/mongodb/lib/mongodb/cursor.js:773:5)
at commandHandler (/root/yool_api/node_modules/mongodb/lib/mongodb/cursor.js:741:14)
at /root/yool_api/node_modules/mongodb/lib/mongodb/db.js:1903:9
at Server.Base._callHandler (/root/yool_api/node_modules/mongodb/lib/mongodb/connection/base.js:453:41)
at /root/yool_api/node_modules/mongodb/lib/mongodb/connection/server.js:487:18
at MongoReply.parseBody (/root/yool_api/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
Growth hacking
Le marketing des temps moderne pour propulser
son idée
http://ifttt.com
http://zapier.com
http://bufferapp.com
a=document.querySelectorAll('.js-follow-
btn');for(i=0;i<a.length;i++)a[i].click()
Outils de lancement
Préparez-vous à tout quantifier
https://www.google.com/analytics
http://instabug.com
http://mailchimp.com
L’échec c’est cool
Non… vraiment!
Merci :)

Contenu connexe

En vedette

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 

En vedette (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

L’art des sides projects