Book de créations. Florian Michel



Documents pareils
Programmation Web. Madalina Croitoru IUT Montpellier

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

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

DOM - Document Object Model

CHAPITRE 11. Temps réel Remy Sharp

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

Ajax, RIA et HTML Prise en charge d Ajax

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP. 27 ans - 6 ans d'expérience

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Présentation du Framework BootstrapTwitter

Webmaster / Webdesigner / Wordpress

1/15. Jean Bernard CRAMPES Daniel VIELLE

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

TP JAVASCRIPT OMI4 TP5 SRC

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

May Lopez PETIT COUTEAU SUISSE CRÉATIF. May Lopez Petit couteau suisse créatif

APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis

de logiciels Web 2.0, SaaS Logiciels collaboratifs Portails pour entreprises Développement iphone, Android WebApp HTML5 Mobile marketing

Développeur - Conseiller - Formateur web

workshop javascript crm

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Le stockage local de données en HTML5

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Cahier des charges. Liny EIP 2013 EPITECH. seban_j, jaspar_y, ringue_t, rousse_g, thierr_o

App vs. WebApp Best Of Mobile 5 avril 2012

Catalogue Formations Jalios

LEA.C5. Développement de sites Web transactionnels

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013

Formation : WEbMaster

Léa Dumas Développeuse front-end Intégratrice //

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Bonnes pratiques de développement JavaScript

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

4D Web 2.0 Pack DATA LIVES HERE. TM. Internet Riche et Solutions Mobiles en toute simplicité. 4D Ajax Framework 4D Ajax for Dreamweaver 4D for Flex

INGÉNIEUR - DÉVELOPPEUR SENIOR PHP. 28 ans - 8 ans d'expérience

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

Firefox pour Android. Guide de l utilisateur. press-fr@mozilla.com

Toute personne souhaitant maîtriser les techniques liées à la conception de produits multimédia et à la création de sites Web.

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

The Mozilla Art Of War. David Teller. 20 septembre Laboratoire d Informatique Fondamentale d Orléans. La sécurité des extensions.

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP - MAGENT O. 30 ans - 6 ans d'expérience

Démonstration de la mise en cache via HTML 5 sur iphone

Spétechs Mobile. Octobre 2013

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Rafraichissement conditionné d'une page en.net

Solution de Mobilité SAP SUP & AFARIA. Meltz Jérôme

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Savoir- Faire Offres mé1ers Offres technologiques

SYSTÈMES D INFORMATIONS

Rapport de stage Clément MOYSAN

Maîtriser Concevoir Réaliser Diffuser

Analyse statique de code dans un cycle de développement Web Retour d'expérience

MINI-MÉMOIRE DE PPP - S4

LA MOBILITE : ACTEURS, OUTILS,

Dago Oscar Hervé DJAHI

ERGO web. Augmentez votre e-business grâce à une conception Web de qualité taillée sur mesure, ergonomique, innovante et créative.

DENOMINATION DU DOCUMENT : CAHIER DES CHARGES «MONITORING DOMOTIQUE» MOE : GROUPE 6 (SANOGO, AFFANE, DIALLO, N GOUAN, DJIMERA)

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Loïc Rossignol Ingénieur Consultant

Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4)

Programme de formation

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Technologies pour Web Services faciles : REST, JSON

Agence Web innovatrice

Android,iOS,W indow s Phone 8 :

Optimiser pour les appareils mobiles

Créateur de sites Internet. Développeur de logiciels.

Vue d ensemble technique

Environnement Zebra Link-OS version 2.0

Stéphane CHESNÉ crossmedia-designer senior & intégrateur HTML-CSS

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Introduction à. Oracle Application Express

Mobilité Comment Drupal peut-il nous aider? Jean-Baptiste Guerraz - jbguerraz@gmail.com

Rapport de stage : Création d un site de e-commerce, ComicAge

Un jour, une question Réponse à une problématique issue de la liste GTA *

En suivant l'initiative d'amanda Wagener sur iwanttolearnruby.com, j'ai créé et anime jeveuxapprendreruby.fr.

Content Management System V.3.0. BlackOffice CMS V3.0 by ultranoir 1

CATALOGUE FORMATION 2015

Dojo Toolkit. Créer des applications AJAX/RIA en JavaScript. Thomas Corbière

Drupal vs La concurrence

Valentin Michalak. Développement Design Photographie

Connaissance des secteurs e-commerce, bourse et assurance.

INTEGRATEUR WEB/WEBDESIGNER

12/07/13 Oracle Application Express 4.2

Comment créer son propre monitoring. (Version simple PHP)

Architecture Orientée Service, JSON et API REST

Spétechs Mobile. D e r n i è r e m i s e à j o u r : a o û t 2014

DESIGN WEB & INTERACTIF INTERACTIVE DESIGN HIGHER NATIONAL DIPLOMA EN MÉDIAS INTERACTIFS

Google Tag Manager v2 v1 dispo sur GTM pour les nuls dispo sur

DEVELOPPEMENT MOBILE - ETAT DE L ART DES SOLUTIONS

1 Actuate Corporation de données. + d analyses. + d utilisateurs.

OFFRES DE STAGE 2012 / 2013 «IL FAIT BEAU D'APPRENDRE LA THEORIQUE DE CEUX QUI SAVENT BIEN LA PRATIQUE.» MICHEL DE MONTAIGNE

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Transcription:

Book de créations Florian Michel

Avant-propos Ce livret a été créé entièrement par Florian Michel résidant au 66 cours Anatole France à Bordeaux. J atteste de la totale véracité des propos tenus dans ce livret et atteste également être l auteur de tous les projets présentés et disposant de tous les droits de propriété sur ceux-ci (sauf projets de groupe). Les projets exposés le sont par ordre de réalisation chronologique. Ces créations et ce livret sont présentés dans le cadre de demandes d admission. Le contenu a été sciemment limité afin de ne présenter que les projets aboutis ou ayant un intérêt pour la formation demandée. D autres projets peuvent être vus dans la section «réalisation» du site : http:// florianmichel-online.com D autre part, les démonstrations techniques se feront principalement autour du langage Javascript auquel j attache un certain intérêt. D autres extraits de code, tel que le PHP, le HTML, le CSS ou encore le SASS, peuvent être vus directement via mon espace Git Hub : https://github.com/fm-o 4

Sommaire Avant-propos...Page 3 Site web «florianmichel-online.com»...page 6-7 Application web «Lave & Ris»...Page 8-9 Application mobile «Edible»...Page 10-11 Annexe 1...Page 12 Annexe 2...Page 13 6

Design / intégration / développement Quel projet? Ce projet a été initialiement développé et prévu pour la mise en place de mon site personnel afin de me créer une présence en ligne. Je suis d abord parti d une conception maquette (voir illustration page ci-contre), pour ensuite l intégrer à l aide des langages descriptifs HTML et CSS 3 dans un premiers temps. J y ai ensuite ajouté du dynamisme avec des scripts Javascript que j ai moi-même écrits. Enfin, j ai fait évoluer mon formulaire de contact en Ajax (Javascript natif) afin d éviter le rechargement de la page, indispensable pour la conception d un site «One page» comme le mien. Retrouvez un extrait de code du projet en annexe 1 Ressources & technologies Environnement de développement IDE : IntelliJ V13 (jetbrains) Langages : HTML5 / CSS3 / Javascript / PHP Plugins : Magnific Popup / FullPage Jquery Compatible tablette / mobile : Oui Logiciels de conception graphique : Photoshop / illustrator (CS6) Liens utiles Repository Git Hub du projet : https://github.com/fm-o/site_v2 Site Actuellement en ligne : http://florianmichel-online.com Chiffres clés 500H de travail 953 lignes de Javascript 4065 lignes de CSS 8

at L n io b we application web Lave & Ris a été réalisée dans le cadre de la formation MMI en coopération avec un professionel intervenant. L exercice consistait à créer une application native ou web en partant d un concept innovant. Une contrainte technologique nous était imposée pour les applications web : l utilisation du langage Ruby On Rails. ic pl Ap Quel projet? Notre idée A u départ notre projet était de créer une application qui permette d organiser des évènements (jeux de société, apéritifs conviviaux, etc.) dans les laveries automatiques de Bordeaux. L objectif était de créer un petit réseau social autour d une activité qui peut paraître ennuyeuse dans le quotidien des clients de laveries. Fonctionnement L a connexion à l application est gérée via Facebook. L utilisateur a ensuite accès à une carte de Bordeaux recensant les différentes laveries automatiques de la ville. Il peut également ajouter une laverie en renseignant ses coordonnées. Sur la page évènements, il peut ajouter ses propres évènements, mais également participer à ceux des autres. Mon rôle N ous étions deux développeurs sur ce projet. Mon rôle consistait en l intégration des maquettes sur le prototype de la maquette en Rails. J ai également développé une partie des maquettes en statique (HTML / CSS). Ressources & technologies Environnement de développement Liens utiles IDE : IntelliJ V13 (jetbrains) Langages : HTML5 / CSS3 / Ruby On Rails Plateforme de déploiement : Heroku Application native : Non Etat actuel : déployée Repository Git Hub du projet : https://github.com/ YannBergonzat/Laveris Version live : http://app.laveris.fr 10

Quel projet? Ce travail a été réalisé dans le cadre de la semaine «mmi workshop» organisée au sein de l IUT Michel de Montaigne. L objectif de cette semaine était de constistuer des groupes et de trouver des idées novatrices en matière de technologies et d en créer un prototype fonctionnel. Notre idée Application mobile L idée que nous avons voulu développer s appuie sur le monde de l hygiène alimentaire et touche directement le monde de la santé. En effet, nous connaissons déjà l application Open Food Facts qui permet de scanner un aliment et de savoir ce qu il contient. En s appuyant sur ce concept nous avons voulu développer une application qui permette, en scannant un aliment, de savoir s il est dangereux pour un consommateur ayant des allergies alimentaires qu il aura séléctionné au préalable. Fonctionnement En arrivant sur l application vous sélectionnez les allergies qui vous correspondent (photo 1) et appuyez sur la touche «scan», vous scannez et l application renvoie la réponse s il y a danger ou non (photo 2). Le matching est réalisé à l aide de l API d Open Food Facts Mon rôle Au sein de ce projet, j ai été responsable du développement de l application. Je me suis concentré sur le développement «front» de l application, tandis qu un développeur «back end» s occupait de la partie fonctionnelle et du matching allergènes /aliments. Ressources & technologies Environnement de développement IDE : IntelliJ V13 (jetbrains) Langages : HTML5 / CSS3 / Javascript / PHP Technologie de compilation mobile : PhoneGap Application native : Oui Etat actuel : prototype Liens utiles Repository Git Hub du projet : https://github.com/fm-o/edible L application n est actuellement pas disponible sur le play Store en raison de la suspension de son développement Extrait de code en annexe 2 12

Annexe 1 var xhr = new XMLHttpRequest(); Script de gestion du formulaire de contact en Ajax xhr.open( POST, mail.php ); var app = { // Application Constructor initialize: function() { this.bindevents();, // Bind Event Listeners bindevents: function() { document.addeventlistener( deviceready, this.ondeviceready, false);, // deviceready Event Handler ondeviceready: function() { app.receivedevent( deviceready );, // Update DOM on a Received Event receivedevent: function() { var test = document.getelementbyid( goscan ); Annexe 2 xhr.setrequestheader( Content-Type, application/x-www-formurlencoded ); xhr.onreadystatechange = function() { if (xhr.readystate == 4 && xhr.status == 200) { //remove loader loader.style.display = none ; test.addeventlistener( click, function(e) { e.preventdefault(); console.log( scanning ); cordova.plugins.barcodescanner.scan( function (result) { alert( We got a barcode\n + Resultat: + result.text + \n + Format: + result.format + \n + Cancelled: + result.cancelled); Script principal de l application, appelant les différentes fonctionnalités et le plugin de scan 13 ; var response = xhr.responsetext, resp = JSON.parse(response); if (resp.error == true ) { actual.style.color = red ; actual.replacechild(errormess, actual.firstchild); overlay.style.display = block ; actual.lastelementchild.focus(); downoverlay(); else if (xhr.readystate == 4 && xhr.status!= 200) { //remove loader loader.style.display = none ; var err = documenwt.getelementbyid( xhrerr ); if (xhr.statustext!= ) { var txterr = document.createtextnode( erreur : + xhr.statustext); err.appendchild(txterr); err.style.display = block ; settimeout(function(){ err.removechild(txterr);, 7000); else { err.innerhtml = Vérifiez votre connexion Internet ; err.style.display = block ; actual.style.color = red ; actual.replacechild(errormess, actual.firstchild); overlay.style.display = block ; actual.lastelementchild.focus(); downoverlay(); xhr.send( param1= + value_name + &param2= + value_mail + &param3= + value_subject + &param4= + value_message); ; );, false); app.initialize(); $.ajax({ url: http://api.edibleapp.fr/match/ +result.text+ /1, // l url type: POST, // la méthode data:, // sérialisation de données : username=test&password=test datatype: json, //type de données, permet de parser le JSON success: function(msg) { var main = document.getelementbyid( main ), main_scanko = document.getelementbyid( main_scanko ), main_scanok = document.getelementbyid( main_scanok ); if (msg.result.matching.traces == && msg.result.matching.allergens == ) { var allergen = document.getelementbyid( allergen ), allergenname = document.createtextnode( Nutella ); allergen.appendchild(allergenname); main.style.display = none ; main_scanko.style.display = block ; alert( Nom du produit : +msg.result.product.name); else { main.style.display = none ; main_scanok.style.display = block ; alert( Nom du product : +msg.result.product.name);, error: function( jqxhr, textstatus, errorthrown ){ alert( error: +textstatus+errorthrown ); );, function (error) { alert( Scanning failed: + error); 14