Les 10 ans de jnesis à Lisbonne

Entre 2 projets Ionic et Sencha, les membres de l’équipe Jnesis France sont partis pour un voyage à Lisbonne à l’occasion des 10 ans de JNESIS . C’est donc avec plein d’idées et de bonne humeur que le groupe rentre du Portugal pour continuer d’innover pour vous proposer leurs services .

Précédent
Suivant

Nouveau cours en ligne Java sur Jnesis Academy

C’est avec une grande joie (et un peu de fierté 😇) que Jnesis Academy vous annonce son nouveau cours en ligne et en vidéo : Java et les bases de données avec JDBC, Hibernate et JPA

Il nous a fallu plusieurs mois pour réussir à compiler en moins de 10h tout ce que vous devez savoir pour bien démarrer !

Si vous avez besoin d’une base de données pour vos développements, que vous soyez plus MySQL, Oracle, SQL Server, PostgreSQL ou n’importe quel autre type de serveur, ce cours est fait pour vous !

Et comme d’habitude, ce cours est agrémenté de travaux pratiques 🔨 pour mieux vous accompagner.

Plus d’informations sur le lien ci-dessous : 

https://apprendre-java.teachable.com/p/java-et-les-bases-de-donnees-avec-jdbc-hibernate-et-jpa

N’hésitez pas à visiter notre rubrique dédiée en savoir plus sur notre offre de formation et de coaching.

Pour ne rien rater de notre actualité, suivez nous sur les réseaux  linkedin jnesiset

Formation Ionic officielle et en français !

En tant qu’organisme de formations agréé, Jnesis a le plaisir de vous annoncer une formation officielle Ionic en français !

Grâce à ce cours vous serez en capacité de mettre en oeuvre tout le fantastique potentiel d’Ionic, notamment dans sa version 4 avec toutes les dernières nouveautés.

Opter pour une formation délivrée par jnesis, c’est la garantie d’une approche pragmatique, “de développeur à développeur”, sur la base du support officiel Ionic traduit en français.

  • où?
    Paris (intra-muros)
  • quand?
    3 jours du 3 au 5 décembre 2019
  • pour qui?
    toute personne qui dispose de connaissances en Angular et HTML/CSS
  • pour quoi faire?
    apprendre à développer efficacement et suivant les bonnes pratiques en Ionic
  • combien ça coûte?
    2 400€ HT par personne
    (peut faire l’objet d’une prise en charge par votre OPCA/OPCO au travers du plan formation pour les entreprises éligibles)

Nous serions très heureux de vous compter parmi nous pour cette première édition et serions ravis de partager toutes nos connaissances et bonnes pratiques avec vous.

Ne tardez pas à vous inscrire, le nombre de place est volontairement très limité afin de garantir un maximum d’interaction.

Pour plus d’information, visitez directement notre site : jnesis.com/ionic/formation-ionic/

Mais au fait, ionic c’est quoi?

web ou natif? ou mieux les 2 avec ionic?

Rappelons-le, ces applications ont vocation à offrir le meilleur des 2 mondes, web et natif, avec un temps de développement (time-to-market) plus court, et sans subir les complexités liées à chaque OS. C’est la promesse d’ionic.

Tout d’abord, il s’agit avant tout d’applications Web qui bénéficient donc d’une stack technologique unique et surtout générique: HTML + CSS + JS, quel que soit le type de terminal (Desktop, Mobile …) et quel que soit le système d’exploitation (Android, iOS, Windows …).

C’est le fameux : write once, run anywhere

Ces applications sont également capable de tirer profit de l’expérience native. Les applications sont intégrées, fiables et surtout interopérables avec les équipements et services natifs comme par exemple :

  • la géolocalisation GPS,
  • l’appareil photo,
  • l’authentification forte par empreinte ou lecture du visage,
  • ou une API de paiement par exemple

Applications Hybrides ou Progressive Web App ?

Ionic as future proof as the web

https://ionicframework.com/

Il est intéressant de souligner que quelque soit le standard qui correspond le mieux à vos besoins, ionic vous apporte une solution adaptée. Ainsi, vous pouvez choisir de développer des applications Mobiles Hybrides ou des Applications Web Progressives (PWA).

Mais alors, quel type d’applications choisir ? Jnesis est bien évidemment là pour vous orienter car la solution universelle n’existe pas. Profitons-en pour apporter quelques éclairages dans la suite de cet article.

Application Hybride

Tout d’abord et pour faire simple, une application hybride est une application web convertie en application native. Elle pourra donc être publiée dans les store respectifs, publics ou privés, ou diffusée directement (Android uniquement).

Il est à noter que le domaine des applications Hybrides a évolué très rapidement ces dernières années. Là où Adobe PhoneGap était encore la seule option il y a quelques années pour convertir les applications Web, la mouture Open Source Apache Cordova a depuis donné naissance à de multiples implémentations. Mais avec capacitor, ionic va plus loin et dépasse le cadre du mobile natif. Ainsi vos applications Web vont pouvoir fonctionner dans n’importe quel environnement : Desktop natif, Progressive Web App (PWA)…

Enfin, grâce notamment aux plugins offerts par ionic / capacitor, l’application pourra s’intégrer avec la très grande majorité des équipements et services natifs.

Application Web Progressive (PWA)

Plus récemment, les Applications Web Progressives (PWA) sont apparues. Elles ne sont pas converties en applications natives mais profitent des nouvelles fonctionnalités des navigateurs web qui offrent désormais des passerelles avec les équipements et services de l’équipement. Au final, ce sont des applications Web qui se comportent comme des applications mobiles, elles sont donc plus engageantes que les applications web classiques et apparaissent totalement intégrées.

Pour résumer voici quelques caractéristiques des PWA (liste non exhaustive) : 

  • travailler offline (stocker de l’information et effectuer des traitements)
  • accessibles via les raccourcis et bibliothèques d’applications
  • apparaître totalement headless (sans interface graphique du navigateur) et démarrent avec un splash screen (écran d’accueil) comme toute application native
  • recevoir les notifications serveur (push-notifications)
  • accéder à l’appareil photo, le GPS,.. 

Quelle framework Javascript choisir avec Ionic ?

ionic applications hybrides

Si ionic a privilégié angularjs à son origine, une des forces de ionic aujourd’hui est sa totale indépendance vis à vis du framework web. Son intégration avec le standard Web Components rend les développements agnostiques du framework Web :

Une solution de développement complète

Lorsque cela est possible, Jnesis privilégie les solutions verticales car elles vous offrent un retour sur investissement immédiat.

Avec Ionic nous choisissons là encore l’efficacité grâce notamment à la prise en charge de l’intégration continue de vos applications.

Enfin, grâce à Ionic Studio, les développeurs peuvent également tirer profit d’un l’environnement de développement intégré.

 

Travaillez directement avec le partenaire officiel ionic 

jnesis partenaire ionic officielJnesis est LE partenaire officiel ionic pour la France et la Suisse, avec un gros savoir-faire technique autour du développement ionic et des services associés.

 

N’hésitez pas à nous contacter pour toute demande de développement, formation, coaching ou consulting. Nos équipes de spécialistes ionic se feront un plaisir de vous répondre.

Pour ne rien rater de notre actualité, suivez nous sur les réseaux  linkedin jnesiset

Envie de travailler avec LE partenaire Ionic officiel pour la France et la Suisse?

Après un long processus de qualification (démarré dès 2018) et de formation de nos équipes, nous avons le plaisir d’annoncer que nous sommes à présent LE partenaire Ionic en France et Suisse. Ionic est un des leaders mondiaux des applications mobiles cross-platform (iOS, Android et Windows Mobile).

En tant que partenaire Ionic, nous offrons dès à présent une gamme complète de services :

  • développement sur mesure ou co-développement avec vos équipes de votre application mobile Ionic
  • audit de code
  • architecture de votre projet mobile : hé oui une application mobile ça ne se limite pas à une jolie interface, ça se connecte très souvent au SI de votre entreprise !
  • consulting

Pour ceux qui ne connaissent pas encore Ionic, c’est une solution technique qui permet de développer efficacement une application mobile une seule fois et de la déployer partout. C’est à dire sur les stores Android Google Play Store, iOS App Store et Windows Phone.

Et cela sans nécessiter de réécriture pour une plate-forme ou une autre. C’est le principe du « write once, run anywhere ».

En conclusion, un gain notoire de temps et d’argent, avec tous les avantages d’une application native.

En d’autres termes vous bénéficiez des principaux avantages et possibilités de la plate-forme et du device. Comme par exemple la géolocalisation GPS, l’appareil photo pour scanner un code barre ou un QR-code, l’authentification forte par empreinte ou lecture du visage. Bien entendu, tout cela en fonction des possibilités du device utilisé.

Un projet mobile Ionic?

N’hésitez pas à nous contacter pour partager avec nous vos projets et ambitions mobiles. Notre équipe peut vous accompagner de la structuration de votre idée jusqu’à son déploiement dans les mains de vos utilisateurs.

jnesis partenaire ionic officiel

Retrouvez-nous sur le site officiel partenaire Ionic (le petit point vert sur la France c’est nous!) : https://ionicframework.com/trusted-partners , sur la page dédiée du site Jnesis https://jnesis.com/ionic/ et bien sûr sur les réseaux sociaux (twitter & linkedin)

Comment profiter de Font Awesome 5 dans les applications Ext JS 6 ?

Objectif

Dans cet article nous allons vous montrer comment à Jnesis nous intégrons Font Awesome 5 aux application Ext JS 6.

Qu’est ce que Font Awesome 5 ?

Font Awesome 5 a été publié en Décembre 2017 et offre de nombreuses évolutions par rapport à la version 4. Pour n’en citer que quelques unes :

  • De nouvelles icônes
  • 4 jeux de caractères : solid (fas), regular (far), light (fal) et brand (fab) au lieu d’un seul (fa)
  • Toujours une version GPL mais aussi une version PRO payante avec les icônes « light » (fal) et parfois les icônes regular (far)
  • Toujours la possibilité de contrôler le style des caractères avec CSS mais aussi maintenant avec SVG

Comment Ext JS intègre t-il Font Awesome ?

Le thème utilisé a son importance. Il peut s’agir d’un thème utilisant de façon native le package Font Awesome intégré à Ext JS (packages/font-awesome) comme c’est le cas du thème par défaut Triton, cf theme-triton/package.json :

"requires": [
        "font-awesome",
        "font-ext"
],

Il peut aussi au contraire s’agir d’un thème où Font Awesome est optionnel comme le thème Neptune. Dans ce cas le requires se fait dans app.json :

"requires": [
        "font-awesome"
],

Le package Ext JS font-awesome utilise Font Awesome 4.7, il va donc falloir adapter nos applications pour utiliser Font Awesome 5.

Pour cet article, notre application de test consistera en une application basique nommée MyApp générée via un simple :

sencha generate app

Il s’agira d’une application universelle (universal) sur la base du thème Ext JS 6 par défaut : triton.

Elle va comprendre l’icône fa-user de Font Awesome 4.7 et l’icône fa-glasses apportée par Font Awesome 5.

Nous utiliserons l’icône fa-user dans ses 4 versions, la version Font Awesome 4 et les 3 versions Font Awesome 5 : solid, regular et light.

Lorsque l’on utilise uniquement Font Awesome 4.7, voilà ce que l’on obtient :

On remarque que les préfixes fas, far et fal sont « ignorés » par Font Awesome 4.7 et que fa-glasses est inconnu.

Passer à Font Awesome 5 – Solution rapide

Téléchargez le fichier font-awesome-531.zip ici

Dézippez l’ensemble dans un répertoire packages/local/font-awesome-531 au niveau de votre application ou de votre workspace.

Modifiez le fichier app.json de votre application pour utiliser font-awesome-531 au lieu de font-awesome.

"requires": [
        "font-awesome-531"
],

Rebuildez, et voilà le résultat !

Avec le thème Triton, la solution permet toujours d’utiliser les icônes de Font Awesome 4.

Le caractère fal fa-user (PRO) sera inconnu mais c’est le caractère du jeu Font Awesome 4 qui va être utilisé.

Attention tout de même, si l’on avait utilisé le thème Neptune, la solution ne permettrait plus d’utiliser les icônes de Font Awesome 4.

Le caractère fal fa-user (PRO) sera inconnu et rien ne va le remplacer.

Version payante (PRO) de Font Awesome 5

Sans l’avoir nous même essayée, la procédure pour intégrer également les icônes PRO devrait être très similaire. Il suffirait vraisemblablement d’ajouter les fichiers complémentaires au répertoire resources/font (EOT, TTF, WOFF, SVG et WOFF2). Voir la solution détaillée en bas de page.

Notes et limitations

  • N’utilisez plus le préfixe de police x-fa
  • Seul le thème Triton vous permettra encore d’utiliser également les icônes Font Awesome 4
  • Les glyphes Font Awesome 5.3.1 devront utilisés les familles de Font suivantes :
    • ‘Font Awesome Free’
    • ‘Font Awesome Brands’
    • [Probablement quelque chose comme ‘Font Awesome Pro’] pour les icônes de la version payante

Exemple :

{
    title: 'glyph alipay xf642@\'Font Awesome 5 Brands\'',
    glyph:'xf642@\'Font Awesome 5 Brands\'',
    bind: {
        html: '{loremIpsum}'
    }
}

Que contient notre package?

Si vous ne souhaitez pas utiliser le package que nous avons conçu parce que :

  • vous voulez essayer par vous-même
  • ou simplement comprendre en détail comment notre solution fonctionne

voici la procédure à suivre en détails…

La procédure consiste à ajouter Font Awesome 5.3.1 au workspace ou à l’application sous forme d’un nouveau package que nous l’appellerons font-awesome-531.

Ce nouveau package vient REMPLACER la référence à l’ancien package nommé font-awesome. Pour autant, dans le cas du thème triton, nous ferons en sorte que notre nouveau package intègre les version 5.3.1 ET 4.7, les caractères des 2 versions resteront utilisables pour le thème triton.

  • Selon que votre application fasse partie d’un workspace ou non, générez le package font-awesome-531 au niveau du workspace OU de votre application
sencha generate package font-awesome-531
  • Copiez le fichier ext/packages/font-awesome/sass/etc/all.scss vers font-awesome-531/sass/etc (il s’agira normalement plutôt de remplacer un fichier vide)
  • Copiez le fichier ext/packages/font-awesome/sass/src/all.scss vers font-awesome-531/sass/src
  • Créez un répertoire fonts dans packages/local/font-awesome-531/resources
  • Copiez les fichiers ext/packages/font-awesome/ressources/fonts/ vers font-awesome-531/resources/fonts pour également ajouter les icônes Font Awesome 4 dans votre nouveau package.
  • Téléchargez Font Awesome 5.3.1 ici
  • Copiez tous les fichiers depuis fontawesome-free-5.3.1-web/webfonts vers packages/local/font-awesome-531/resources/fonts (EOT, TTF, WOFF, SVG et WOFF2)
  • Copier les fichiers sass depuis fontawesome-free-5.3.1-web/scss vers font-awesome-531/sass/etc
  • Modifiez le fichier font-awesome-531/sass/src/all.scss comme suit :
// All rule-generating imports go here vs in etc/all.scss so that they will
// cascade after the framework rules.  This ensures that where the framework provides
// a default icon, but also provides an iconCls to override it (for example tree icons)
// the fa rules will override the framework ones (assuming specificity of fa rules is
// the same or greater than the framework rules)
@import "../etc/regular.scss";
@import "../etc/solid.scss";
@import "../etc/brands.scss";
@import "../etc/_variables";
@import "../etc/_core.scss";
@import "../etc/_larger.scss";
@import "../etc/_fixed-width.scss";
@import "../etc/_list.scss";
@import "../etc/_bordered-pulled.scss";
@import "../etc/_animated.scss";
@import "../etc/_rotated-flipped.scss";
@import "../etc/_stacked.scss";
@import "../etc/_icons.scss";
 
// The "x-fa" class should be used in Ext JS applications instead
// of "fa".  The "fa" class sets some properties that may collide
// with theme properties, whereas "x-fa" sets only the font-family.
.#{$prefix}fa:before {
    font-family: 'FontAwesome' !important;
}
 
.far {
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 400;
}
.fas {
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900;
}
.fab {
    font-family: 'Font Awesome 5 Brands' !important;
}
//Surcharge de fa-content
@function fa-content($fa-var) {
  @return "#{ $fa-var }";
}
  • Modifiez le fichier package.json du nouveau package comme suit en replaçant le bloc « sass » par ce qui suit (ceci ajoute également le bloc « resources » pour que font-awesome-531 soit ajouté au ressource du build) :

"sass" : {
    "namespace": "FontAwesome531",
    "etc": [
        "${package.dir}/sass/etc/all.scss"
     ],
    "var": [
        "${package.dir}/sass/var"
    ],
    "src": [
        "${package.dir}/sass/src",
        "${package.dir}/sass/src/all.scss"
    ]
},
"resources": [{
    "path": "${package.dir}/resources",
    "output": "shared"
}]
  • Il ne restera plus qu’à modifier le fichier app.json de votre application pour utiliser font-awesome-531 au lieu de font-awesome:
"requires": [
        "font-awesome-531"
],

La Sencha Community Days c’est parti !

Schnitzel, Kartoffeln Salat und … Wasser

C’est déjà la fin de la première journée des Sencha Community Days qui se déroule les 10 et 11 avril 2019 à Karlsruhe en Allemagne.

L’événement a attiré plus d’une centaine de développeurs !

Atanas Popov et Marc Gusmano nous ont présenté une keynote orientée vers la Qualité le Support et l’Innovation. Ce fut l’occasion de dévoiler Ext JS 7 mais pas seulement !
Sencha a présenté de nombreux sujets attendus comme l’arrivée des Web Components ou de Sencha Studio.

Les participants de l’événement ont accueillis cette ouverture avec grand enthousiasme !

Notre équipe a pu assister ensuite à de nombreuses conférences toutes plus intéressantes les unes que les autres. Adrian Teodorescu  qui a participé au développement du framework Ext JS nous a fait découvrir une tonne de trucs et astuces sur le composant Ext JS Grid. Jnesis Labs est impatient de les expérimenter chez nous. C’est ensuite la conférence de Tanay Pant sur le Big Data qui nous a fait forte impression.

Nous avons également pu découvrir d’enthousiasmantes évolutions sur Ext React et le modern toolchain.

Mais les Sencha Community Days ce n’est pas seulement une série de conférences de haut niveau, c’est aussi des workshops sur des thèmes comme le Testing par exemple.

Cette première journée des Sencha Community Days a aussi été riche en rencontres. Nous avons été ravi d’échanger avec des participants et des intervenants venus du monde entier.

A demain !

Jnesis aura le plaisir de présenter demain 11 Avril à 13h30 une conférence intitulée Facebook’s GraphQL – REST in peace? Thomas fera notamment un comparatif entre REST et Facebook GraphQL et nous montrera comment exploiter GraphQL dans une application Ext JS. Nous vous y attendons avec impatience !

Rendez-vous à la Sencha Community Days

Sencha Community Days

L’édition 2019 de la Sencha Community Days se déroulera les 10 et 11 avril à Karlsruhe en Allemagne.

Il s’agit d’une occasion unique de faire un état des lieux de l’écosystème Ext JS dans un cadre convivial. C’est aussi le lieu idéal pour rencontrer les membres de la communauté et partager nos expériences avec les « outils Sencha ».

Les membres de la communauté ainsi que Sencha lui-même tiendront plus d’une vingtaine de conférences sur Ext JS notamment. Les sujets seront variés et parfois pointus comme par exemple « La programmation reactive avec RxJS » ou « Le machine Learning avec Ext JS »

Jnesis sera également présent à la Sencha Community Days où nous aurons le plaisir de tenir une conférence autour de l’utilisation du framework Graphql dans une application ExtJS.

Nous aurons également le plaisir d’y retrouver notre partenaire Bryntum. Mats Bryntse viendra présenter les dernières évolutions du composant Gantt Chart.

Sencha fera également un focus sur les riches actualités de 2018 et 2019. Ils y présenterons notamment Ext React et Ext Angular. Nous y verrons comment les développeurs Front-End Angular JS et React peuvent tirer partie de l’inégalée librairie de composants Ext JS.

L’événement promets d’attirer de nombreux participants avec la venue de conférenciers de renom. N’hésitez pas à venir nous y rejoindre ! C’est en tous cas le plus gros événement mondial depuis la SenchaCon 2016 qui avait eu lieu à Las Vegas.

Pour rappel Jnesis est depuis 2013 le partenaire officiel de Sencha pour la France et pour la Suisse.

Netbeans que se passe t-il ?

Depuis quelques mois, l’environnement de développement Netbeans de Oracle dispose d’une branche Open Source gérée par la communauté Apache.

On a donc maintenant le choix entre deux « natures » de Netbeans mais aucune des deux ne semble être en mesure de suivre le rythme des évolutions de la machine virtuelle.
En effet, la version d’Oracle semble figée à la version 8 de Java alors que la version Open Source peine à passer à la version 10 de Java.
Alors faut il passer à un autre environnement de développement ?

Jean-Philippe Ehret, fondateur de Jnesis vous en parle plus en détails dans la vidéo qui suit. Il vous parlera également des conséquences de cette version sur les cours Java en ligne délivrés par Jnesis.

Java 11 rétrocompatibilité non garantie !

A chaque sortie d’une nouvelle version de Java, notamment de Java 11, se pose la question de la rétrocompatibilité. Puisque certaines API du langage Java n’ont pas été maintenues dans Java 11, il vous faudra alors procéder à une phase de migration de votre application. Ci-dessous la liste des fonctionnalités / packages qui n’ont pas été mainenus :

  • Java FX
  • java.activation
  • java.corba
  • java.transaction
  • java.xml.bind
  • java.xml.ws
  • java.xml.ws.annotation

Par conséquent, si votre application utilise une de ces fonctionnalité, cette phase de migration sera nécessaire.

Jean-Philippe Ehret, fondateur de Jnesis vous en parle plus en détails dans la vidéo qui suit. Il vous montrera quelques symptômes du problème et pour exemple comment migrer une application utilisant JAXB (java.xml.bind).