SharePoint Saturday Montréal#SPSMontreal 2 avril 2016 SharePoint Saturday Montréal Déveloper un add-in SharePoint d’envergure avec Angular Pierre Bourassa,

Slides:



Advertisements
Présentations similaires
Portail Sdin Méthodes pour la contribution du portail SDIN Mars 2013.
Advertisements

Quelle est la question?.
AngularJS.
Start with verb ? in the ? tense Start with verb ? in the ? tense Change the ? of my participe passé with ? Change the ? of my participe.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
C’est combien ? Les euros
SciTools Understand A Source Code Analysis and Metrics Tool
THE ADJECTIVES: BEAU, NOUVEAU AND VIEUX 1.
Les adjectifs possessifs
Module : Pages Web Dynamiques (Production Électronique Avancée)
Français 2: mercredi, le 15 mai, 2013 Activités: Cahier BV p. 143 Activités 11 et 12 Interro 4 sommatif Texte p Structure: l’imperatifs Cahier.
Reflexive verbs usually (but not always) have the sense of something being done to oneself or to one another. In French, they are recognised by the ‘se.
22 Lag110 : Le développement SharePoint 2010 avec Visual Studio 2010 Mardi 9 février 2010 Frédéric Wickert Partner Technical Specialist Microsoft.
Les verbes réfléchis au passé composé
Les verbes réfléchis -au présent -à l’impérative (command) -avec l’infinitif Rouge, Unit 1, Part 1 Page 44.
MINI-LECTURE SUR LA GRAMMAIRE (LA DEUXIÈME) Présentée par Megan Brown.
« Mets la table et mange les légumes » CAT – 1 UNITÉ 3-C L’IMPERATIF.
Irregular Adjectives Not all adjectives are made the same.
À la maison Chapitre 5 Lesson 1 Essential Question:
LES VERBES REFLECHIS une partie des verbes pronomiaux.
8 Les pronoms interrogatifs et relatifs Les normes: Communication 1.2 Comparisons 4.1 Les questions essentielles: - What are the 2 ways to ask the question.
Grammaire Expressions with faire and jouer AND
THE comparative 1.Comparative with adjectives 2.Comparative with nouns.
SharePoint Saturday Montréal 23 mai 2015 SharePoint Saturday Montréal Créer des tableaux de bord avec Excel et SharePoint en ligne Luc Labelle Fondateur,
Le passé composé: Avoir ou Etre?. En Bref:  Review:  Passé composé = avoir/ être* + past participle - 5 verbs can be conjugated with either : -descendre,
Mettre. First, let’s review the irregular verbs we know. Think of as many as you can, while I hand out whiteboards.
8 Les pronoms interrogatifs et relatifs Les normes: Communication 1.2 Comparisons 4.1 Les questions essentielles: - What are the 2 ways to ask the question.
On conjugue! [Avoir et Etre] It is very important to learn and practise using the conjugations of verbs in French.
Describing the classroom layout
 Qui est présent?  Les dates importants  La carte francophone  Pour commencer: ce, cet, cette, ces  Le travail en partenaires  Ecoutons.
Le monde des. Pierre va au cinéma. Ses amis sont là aussi. Sa mère reste à la maison. These words are nouns or proper nouns that are also s ss subjects.
CAT – 1 Unité 3-C L’imperatif
© and ® 2011 Vista Higher Learning, Inc.3A.2-1 Point de départ In both English and French, possessive adjectives express ownership or possession.
« ALLONS À PARIS » CAT – 2 UNITÉ 2-C L’IMPERATIF.
Dreamweaver Séance 1.
Qui,que, dont Les pronoms relatifs. Qui = who/which You use qui not when the word you’re referring back to is the subject of the verb coming after the.
Notes les avril Le conditionnel (The Conditional) À Paris, on parlerait français avec tout le monde. In Paris, we would speak French with everybody.
With a partner, try to name all these things without looking at your vocab list!!
 L’impératif FSF3U. L’impératif L’impératif is almost the same as the présent but, there are only three forms of l’impératif; Tu, Nous, Vous  We use.
JI Les systèmes d’autorisation et d’authentification dans AMI Fabian Lambert.
Cours de Mme Dominique Meganck - ICC - IFC MICROSOFT ACCESS Un système de gestion de bases de données...
PPE PROJET GBS. But de ce PPE  Le but de ce PPE était de créer un site internet dynamique pour la société GSB, pour cela nous avons du :  Reprendre.
This is a tough one mes enfants, so put on your thinking caps.
Gabriel Dumouchel, doctorant Université de Montréal Atelier Jouvence 2011 Atelier Jouvence 2011.
AHmada Services vos besoins notre priorité. Few Words of the General Manager Mou hamed Abdallah SY General Manager Dear all, It is with pride that I am.
Développement d’application avec base de données Semaine 8 : WPF avec Entité Framework Automne 2015.
Présentation veille technologique : Node.js MOLLEREAU Valentine TISSERON Estelle ROUSSILLION Clément MAXENCE Duport.
Chapitre 4 Gestion des disques Module S41. Plan du cours 1. Utilisation de l'outil Gestion des disques 2. Utilisation des disques de base 3. Utilisation.
PrestaShop – eBay : Comment aller à la conquête de millions de nouveaux clients et décupler ses ventes ?
FACTORY systemes Module 5 Page 5-1 Les outils clients Wonderware FORMATION InSQL 7.0.
Projet Personnel (Epreuve 6) Projet réalisé dans le cadre de mon épreuve E6 au sein de mon alternance au conseil départemental du val de marne Arnaud PICANO.
Expressions of Quantity. Combien de To ask “how many” or “how much,” use the expression combien de before a noun. Combien de croissants est-ce que tu.
Les méthodes de tests Les grands principes pour réaliser des tests efficaces.
SharePoint Saturday Montréal#SPSMontreal 2 avril 2016 SharePoint Saturday Montréal Mettre en place for Release Pipeline pour SharePoint/Office 365 dans.
Un outil spécifique à Moodle pour le calcul des indicateurs d’interaction Présenté par : Tarek DJOUAD Laboratoire LIRIS, Lyon1 Équipe SILEX
INDICO. Usage Centralisé au CC pour tout l’IN2P3 Remplace Agenda Maker (CDS agenda) Fermeture de Agenda Maker le 10 décembre (reste en mode consultation)
Jenkins, votre serviteur C. Loomis (CNRS/LAL) Journée LoOPS 11 décembre 2012.
Les bases de données CINAHL
SQLSaturday Paris 2015 SSDT-DB pour les sceptiques! Cédric L. Charlier.
SOLUTION ONLINE DE GESTION POUR LES SPECIALISTES DU TOURISME SUR MESURE
Les compléments d’object direct Direct object pronouns le, la, l’, les.
L’IMPÉRATIF. IMPERATIVE is another word for COMMAND. Imperatives tell people to do or not to do things. The imperative starts with the verb. This is similar.
Développement d’application avec base de données Semaine 2: Requête avec l’Entity Data Model Automne 2015.
Utilisez la liste d’hier, mettez les verbes correctes dans les blancs 1.J’ai _____ une bouteille de limonade 2.Tu as ______ “The Hunger Games”? 3.On a.
Unité 9 : les repas Leçon 35 : Un Client Difficile Ordering food in a restaurant Partie B : les pronoms compléments à l’impératif.
Direct object pronouns 1.Pronouns are words used to replace nouns or proper nouns. 2.They are really useful to avoid repetition. 3.An object pronoun replaces.
LES DÉTERMINANTS POSSESSIFS FSL9 - RÉVISION. QU’EST-CE QUE C’EST? As we have learned so far, determinants are used before nouns – they indicate some sort.
City of Tbilisi. თბილისი Smart City Le Projet a pour but de rendre notre ville en ville intelligente. ISO ISO31720 détermine et établit la méthodologie.
STAR 1-5 Début d’une nouvelle ère de développement des patineurs 1.
Les Comparaisons.
Transcription de la présentation:

SharePoint Saturday Montréal#SPSMontreal 2 avril 2016 SharePoint Saturday Montréal Déveloper un add-in SharePoint d’envergure avec Angular Pierre Bourassa, Pascal Bonheur Architectes de solution - UMAknow

SharePoint Saturday Montréal#SPSMontreal Qui sommes-nous

SharePoint Saturday Montréal#SPSMontreal Un app d’envergure commence petite “There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.”— C.A.R. Hoare

SharePoint Saturday Montréal#SPSMontreal Démo UManage 4

SharePoint Saturday Montréal#SPSMontreal Évolution de la solution 1 fichier javascript jQuery CEWP avec jslink Edit Form natif Navigation plus complexe Vues additionnelles – tableaux avec filtres “back” dans le navigateur Déploiement – code et data Création de la liste de cartes Solution : Utiliser Angular Construire en add-in

SharePoint Saturday Montréal#SPSMontreal Où mettre les données? AppWeb Moins visible par les utilisateurs Provisioning intégré avec l’app Désinstallation complète avec l’app

SharePoint Saturday Montréal#SPSMontreal Où conserver le code – quel SCM ?

SharePoint Saturday Montréal#SPSMontreal git + GitHub

SharePoint Saturday Montréal#SPSMontreal You need to sign in or sign up before continuing. : node- expat

SharePoint Saturday Montréal#SPSMontreal

SharePoint Saturday Montréal#SPSMontreal Structure du code 1 module 1 route 1 controller 1 HTML – router n directives n factories 1 module 1 route 1 controller 1 HTML – router n directives n factories

SharePoint Saturday Montréal#SPSMontreal Structure du code – Angular 12

SharePoint Saturday Montréal#SPSMontreal Execution du code 13

SharePoint Saturday Montréal#SPSMontreal Packaging de l’app 14

SharePoint Saturday Montréal#SPSMontreal Construire/packager l’add-in Beaucoup de fichiers – on doit packager Quand on a commencé: Grunt était le king

SharePoint Saturday Montréal#SPSMontreal

SharePoint Saturday Montréal#SPSMontreal 1200 plug-ins downloads / jr Codification – javascript Pipes 4000 plug-ins download / jr Configuration – JSON Fichiers temporaires

SharePoint Saturday Montréal#SPSMontreal

SharePoint Saturday Montréal#SPSMontreal Exemple de notre fichier Gulp

SharePoint Saturday Montréal#SPSMontreal NPM – installer gulp npm install gulp --save-dev npm install gulp --global Pourquoi installer globalement et localement? do-we-need-to-install-gulp-globally-and

SharePoint Saturday Montréal#SPSMontreal Build dans Visual Studio Utilisation de deux modules: Module dist qui contient le contenu minifié Module Scripts qui contient le contenu pour développement et debug Le module est exclut lorsqu’on build en mode Release 21

SharePoint Saturday Montréal#SPSMontreal Modules externes Sans eux, la vie serait tellement plus difficile “Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.”—Alan Kay

SharePoint Saturday Montréal#SPSMontreal npm et package.json 23

SharePoint Saturday Montréal#SPSMontreal Support internationalization Pourquoi les appeler.uma?

SharePoint Saturday Montréal#SPSMontreal Large tables Défi = utilisation de Angular avec beaucoup de données binder Habituellement au delà de 2000 champs, le digest cycle commence a être lent Première tentative avec du one- way binding Utilisation de ng-grid Utilisation de ui-grid : problème de performance avec beaucoup de colonne et de la logique d’affichage 25

SharePoint Saturday Montréal#SPSMontreal Large tables Utilisation de ag-grid Utilise de la « virtualisation de colonne » pour ne pas avoir de digest cycle sur les données non affiché Très performant avec beaucoup de ligne ET colonnes Excellente performance pour du style conditionnel Excellente performance pour des calculs avec toutes les données 26

SharePoint Saturday Montréal#SPSMontreal Search Autocomplete Objectif de la fonctionnalité = retrouver rapidement une carte dans un Board Utilisation de massAutoComplete pour Angular ( Possibilité de recherche « floue » Possibilité d’utiliser une directive angularJS comme résultat 27

SharePoint Saturday Montréal#SPSMontreal Routing

SharePoint Saturday Montréal#SPSMontreal $templateCache 29

SharePoint Saturday Montréal#SPSMontreal Responsive layout

SharePoint Saturday Montréal#SPSMontreal Underscore / lodash

SharePoint Saturday Montréal#SPSMontreal Lodash – exemple let menuItem = _.chain(Navigation.get("topMenu")).map(function(group){ return group.items; }).flatten().map(function(group){ return group.items; }).flatten().findWhere({label: menuLabel}).value();

SharePoint Saturday Montréal#SPSMontreal Modules internes On ne trouve pas tout sur GitHub

SharePoint Saturday Montréal#SPSMontreal Accès à SharePoint

SharePoint Saturday Montréal#SPSMontreal 35

SharePoint Saturday Montréal#SPSMontreal Lecture de la taxonomie – asynchrone Promises

SharePoint Saturday Montréal#SPSMontreal Trucs Angular

SharePoint Saturday Montréal#SPSMontreal Intégrer Angular dans non-angular Challenge = App construite initialement en jQuery Objectif = Utiliser du Angular pour développer des nouvelles fonctionnalités dans un écran bati en jQuery Exemple = Fonctionnalité de Quick Entry 38

SharePoint Saturday Montréal#SPSMontreal Intégrer Angular dans non-angular Utilisation de la fonction angular.injector pour bâtir un injecteur en dehors d’une app Angular Utilisation de $rootScope.$new() pour bâtir un nouveau scope pour chaque élément Création d’une directive Utilisation de append pour ajouter le html et $compile pour compiler hors d’une App Angular 39

SharePoint Saturday Montréal#SPSMontreal En conclusion UManage est disponible gratuitement sur le App Store Angular Courbe d’apprentissage élévée Performance – pas toujours au rendez-vous Le code devient structuré et facile à modifier Une fois la structure montée, même des non-experts peuvent contribuer Angular 2 Coexistence possible Réécriture assez substantielle 40

SharePoint Saturday Montréal#SPSMontreal Or Argent Merci à nos commanditaires ! Bronz e

SharePoint Saturday Montréal#SPSMontreal Ce soir à 17h 3971 Ontario Est