LibreDA : JavaScript pour un logiciel administratif



Documents pareils
Cyrille GUERIN 823, place Soulanges Brossard, J4X1L8

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

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

Intégration de systèmes

Projet de Java Enterprise Edition

Programmation Web. Madalina Croitoru IUT Montpellier

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

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

Les technologies du Big Data

Développeur - Conseiller - Formateur web

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

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

Offres de stages 2011/2012

AngularJS pour une application d'entreprise

ISTEX-SNU. ISTEX en quelques clics dans votre portail documentaire. Séminaire technique ISTEX 18 mars 2015

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

Paul FLYE SAINTE MARIE

Technologies Web avancées. ING1 SIGL Technologies Web avancées

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

Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de

COMPÉTENCES TECHNIQUES

CATALOGUE DES FORMATIONS LANGUES

Expert technique J2EE

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

VOTRE OFFRE CRM 360 ALL INCLUSIVE. crm.amabis.com

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

LEA.C5. Développement de sites Web transactionnels

Bonnes pratiques de développement JavaScript

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Informatique & Systèmes de Communication. Stages de 12 à 16 semaines aux Etats-Unis

Webmaster / Webdesigner / Wordpress

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - J2EE. 27 ans - 5 ans d'expérience

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

Construction et déploiement d applications Java avec Maven, Archiva, Groovy et Jenkins

Nous vous garantissons un niveau élevé d exploitation de vos données

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

Éléments de programmation et introduction à Java

Laurent JOLIN. Compétences. Expériences professionnelles. Architecte technique. 15, rue Jean Favier Toulouse

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

Le Cloud: Mythe ou Réalité?

les techniques d'extraction, les formulaires et intégration dans un site WEB

VOTRE OFFRE CRM 360 ALL INCLUSIVE.

Créer et animer une boutique en ligne avec Wordpress (environnement PC et MAC)

Drive your success. «Un écosystème complexe implique une capacité de gestion temps réel des aléas»

L Intégration Continue & Agilité

Formation : Langues : Types d Intervention et Secteurs d Activité :

Séance 1 Introduction aux bases de données

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

LICENCE PROFESSIONNELLE

Présentation du Framework BootstrapTwitter

Davi Trénou. Analyste/Développeur. Concepteur web. Consultant SAP Logan, H2K2B4 Montréal, QC, CA.

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

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

Les bases de données relationnelles

AmaCRM SAAS vous permet de gérer votre relation client en toute simplicité Nous vous garantissons un niveau élevé d exploitation de vos données

Nous vous garantissons un niveau élevé d exploitation de vos données

Président d Inotekk Gestion de la société, développement du portefeuille clients, gestion et réalisation des projets informatiques

Silk Portfolio : Une démarche allégée pour les tests, le développement et la gestion de vos applications

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

Formation Storytelling par l image Partie 1 L importance du visuel + Pinterest

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

Vous pouvez trouver un échantillon de mon travail sur

Architecture Orientée Service, JSON et API REST

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

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - Android. 29 ans - 5 ans d'expérience

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Yannick Dalbin Développeur Freelance 616 Chemin Du Vallon Des Gavots Aubagne

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

Curriculum Vitae de Michel Casabianca

30 ans d ingénierie, 23 ans de conseil en architecture de SI

Architectures Web Services RESTful

Catalogue Formations Jalios

1/15. Jean Bernard CRAMPES Daniel VIELLE

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

CHEF DE PROJET - DÉVELOPPEUR EXPÉRIMENT É PHP - JAVA -.NET. 28 ans - 7 ans d'expérience

L'infonuagique éducative Promesses et défis! Claude Coulombe, architecte logiciel MATI, doctorant Teluq / UQAM, claude.coulombe@gmail.

Loïc Rossignol Ingénieur Consultant

Rédiger : le numérique dans la préparation de la thèse

Karim EL KHALIFA Web developer

INGÉNIEUR D'ÉTUDE / DÉVELOPPEMENT. 16 années d expérience LOGICIELS SAAS - RESPONSIVE WEB DESIGN JOOMLA - RÉFÉRENCEMENT NATUREL

Le stockage local de données en HTML5

Stages ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

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

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Apprentissage supervisé, apprentissage non supervisé («Machine Learning»)

Hassene BELGACEM. Expériences Professionnelles. JEE architect / Technical leader. Ingénieur Informatique. Cycle Préparatoire

Squale Le portail qualimétrie open-source

Ajax, RIA et HTML Prise en charge d Ajax

Windows Azure. Principales fonctions

Simulation de systèmes. Logiciel de simulation

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

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

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

Dossier -projet d'informations et Sciences du numérique.

Développement des Systèmes d Information

Olivier Deheurles Ingénieur conception et développement.net

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2

INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015

Transcription:

LibreDA : JavaScript pour un logiciel administratif Le retour de JavaScript Louis Martin Martin Simoneau 2 avril 2015

1 Objectifs 2 Le fureteur 3 JavaScript 4 Écosystème de développement 5 NoSQL 6 Exemples 7 Conclusion

Objectifs Développer et maintenir des systèmes modernes et performants : Indépendants des systèmes d exploitation Respectant les meilleures pratiques du génie logiciel Pouvant être déployés de façon flexible Utilisant des composants libres Permettant des gains de productivité

Excellent!

Le fureteur : client universel Le fureteur : client universel Omniprésence sur toutes les plateformes Environnement virtuel d exécution nous isolant du système d exploitation Abandon des plugiciels plugins Séparation des aspects separation of concerns CSS3, HTML5, JavaScript Application web monopage Web adaptatif

Le mobile Le mobile protéiforme Téléphones Tablettes Phablettes Montres Téléviseurs (hors compétition) Internet des objets (hors compétition)

Le mobile Mobile versus poste de bureau pour 2013 http ://www.intelligentpositioning.com/blog/2014/01/mobile-and-tablet-traffic-set-to-overtake-desktop-by-mid-2014/

Le mobile Le mobile dominant http ://www.studionorth.com/is-your-business-strategy-as-mobile-as-your-customers/

Le mobile Temps passé par type d appareil aux États-Unis http ://searchenginewatch.com/article/2353616/mobile-now-exceeds-pc-the-biggest-shift-since-the-internet-began

Le mobile Fureteurs les plus populaires aux États-Unis http ://marketingland.com/report-googles-chrome-android-browser-edge-microsoft-ie-lead-market-share-86443

Les débuts JavaScript : la création Apparu en 1995 LiveScript Conçu en une semaine par Brendan Eich de Netscape Communications Corporation Influencé par Self, Scheme, Perl, C, Java, Python

Les débuts JavaScript : les caractéristiques Langage de script léger Principalement connu comme le langage de script des pages web Utilise le concept de prototype, dispose d un typage faible et dynamique Permet plusieurs paradigmes de programmation : fonctionnelle, impérative et orientée objet.

Les débuts JavaScript : les défauts Incompatibilité entre les fureteurs Lenteur Spaghetti avec le code HTML Utilisé pour les effets visuels Difficile à tester Inapte pour du développement professionnel

La transformation JavaScript : la transformation Ajax The Good Parts JQuery AngularJS CSS DOM vers une prise en charge par les cadriciels Node.js JavaScript sur le serveur JSON remplacement de XML

La transformation The Good Parts

La transformation JSON JavaScript Object Notation "dossier": { <dossier> "personne": { <personne> "nom": "Einstein", <nom>einstein<nom> "prénom": "Albert" <prénom>albert</prénom> }, </personne> "adresse": { <adresse> "nocivique": "1234", <nocivique>1234</nocivique> "rue": "Notre-Dame", <rue>notre-dame</rue> "ville": "Montréal", <ville>montréal</ville> "codepostal": "H3C3P8" <codepostal>h3c3p8</codepostal> } </adresse> } </dossier>

Aujourd hui Nombre de modules pour certains dépôts 2013-2014 http ://www.modulecounts.com/

Aujourd hui Évolution des dépôts sur GitHub http ://redmonk.com/dberkholz/2014/05/02/github-language-trends-and-the-fragmenting-landscape/

Les meilleures pratiques Les meilleures pratiques Structures normalisées pour les projets Utilisation d un gestionnaire de version pour le code source Normes de codification Tests unitaires Construction/intégration continue Déploiement automatisé test, pré-production, production Pilotage des points précédents

Les meilleures pratiques Java vs JavaScript Outil Java JavaScript Construction Ant, Maven, Graddle Grunt, Gulp, Brunch Codification Checkstyle JSLint, JSHint Tests unitaires JUnit Unit.js, Jasmine, mocha Intégration Jenkins, CruiseControl Jenkins, React, Yoeman

Écosystème de développement Normes de codification JSHint

Écosystème de développement Gestionnaire de sources GIT

Écosystème de développement Serveur d intégration Jenkins

Écosystème de développement Couverture de tests Istanbul

Écosystème de développement Couverture de tests Istanbul

Écosystème de développement Tableau de bord Jenkins

Écosystème de développement Tableau de bord Jenkins

Écosystème de développement Tableau de bord Jenkins

Écosystème de développement Tableau de bord Jenkins

Écosystème de développement Tableau de bord Jenkins

Écosystème de développement Tableau de bord Jenkins

Écosystème de développement Suivi de projet Trello

Qu ont-ils en commun? Google Facebook Twitter LinkedIn Amazon

NoSQL 150 BD NoSQL http ://nosql-database.org/ Particularités : Sous licence libre Pour des volumes extrêmes Avec une forte résilience Supporte des modèles de données multiples Orientées : Colonne Document Clé valeur Graphe

Simplicité JavaScript associé à MongoDB Exemple de trois types de représentation des données versus un seul

Abstraction Choix du bon niveau d abstraction

Le portail mobile de l UQAM Le portail mobile de l UQAM Petit vidéo du portail mobile de l UQAM

Productivité accrue Productivité accrue JavaScript est un langage puissant L écosystème JavaScript est très évolué et en pleine croissance Node.js (entre autres) permet d utiliser JavaScript sur le serveur Plusieurs types de BD acceptent le format JSON (ex. MongoDB et PostgreSQL) Il est possible d utiliser JavaScript de bout en bout pour plusieurs types d application Des gains de productivité appréciables sont possibles