Auteur/autrice : piradix

Réponse à « Faut-il encore adopter Java pour un client lourd ? » sur developpez.net

Dans l’article suivant « Faut-il encore adopter Java pour un client lourd ? » L’auteur semble ne serait ce que par sa question à insinuer que Java n’est plus fait pour créer des applications lourdes à cause sont API pour d’interface graphique vieillissante.

Pour ma part, ayant des clients dans des milieux complètement divers et développant à 80% en Java, je ne peux être d’accord.

Pour faciliter la vie des utilisateurs, je suis régulièrement amené à créer des clients lourds (mot mal choisi, car les applications sont légères au sens des fonctionnalités) en Java Swing et maintenant en Java FX.

Le cas des tablettes et smartphones

De plus l’utilisation des smartphone et tablette si elle c’est généralisé, ne remplace nullement un PC avec sont grand écran (comparer la taille d’affichage d’un écran 22 pouces avec un petit de 6,7,10,12 pouces) sa souris, son espace de stockage sa puissance et son extensibilité …
De ce fait en entreprise l’usage d’un ordinateur est toujours d’actualité et irremplaçable (les petits périphériques, sont bien petits 😉 et les développements pour ces tablettes dans leur intégration dans l’entreprise est minimes.

Une des raisons de ce manque de développement pour les tablettes (hormis les nouveaux services au public) est due à la difficulté de développement pour ces outils ainsi qu’au blocage des éditeurs à qui appartiennent ces systèmes (Apple, Google) :

  • il vous vaut un compte chez eux. Certes pas si onéreux (envieront 150 €), mais à renouveler régulièrement, en anglais et le paiement bien s’il s’adresse à un Français, est facturé à l’étrange dans un pays ou les impôts sont minime (Ca n’aide pas notre économie)
  • Passer par une phase de validation chez eux. Temps à rajouter au développement.
  • Des règles commerciales à accepter (pas le droit de …, prix), et oui vous n’êtes plus le maitre des fonctionnalités.
  • Avoir le bon matériel (un Mac pour Apple). Grosso modo vous payez une grosse licence pour développer …
  • Et par expérience, le développement est pénible. Vous compilez sur un PC/Mac, puis on lance sur un émulateur, ce qui génère des temps d’attentes, d’énervements …

Le cas des ordinateurs (Windows, Linux, Mac)

Les PC (Windows, Linux, Mac …) sont la cible préférée de Java.

Pour les services Web, Java EE est tout désigné. Son problème est qu’il utilise beaucoup de ressources à cause des frameworks. Pour info si vous voulez faire des micros services, je vous conseille de regarder les Servlets purs s(pas besoin d’EJB)

Pour les clients lourds, ce que l’on peut appeler des « Applications » il existe 3 solutions pour faire une interface graphique :

  • AWT : ville API pour créer des interfaces, n’est pratiquement plus utilisé de nos jours. Il faut remonter à Visual Age for Java pour trouver un AGL permettant de créer des interfaces en WYSIGWIG.
  • Swing : API très en vogue dans les années 2002-2012 proposant une multitude de composants. Des outils visuels WYSIGWIG existent pour générer des interfaces graphiques à la main.
  • Java FX : la dernière API d’interface graphique qu’Oracle à implémenter dans Java 7, mais qui prend sont envole dans Java 8. Oracle fournit en standard un outil Visuel WYSIGWIG « Scene builder » (qui s’intègre dans Eclipse) pour les interfaces graphiques.
    Sont adoptions n’est pas si grande dans l’industrie. Car récente, nécessite Java 8 et les développeurs Java FX ne sont pas si nombreux.

Actuellement l’industrie préfère tous misé sur des services Web, car il maitrise mieux l’intégration (une seule machine serveur à gérer, contre plusieurs pour les clients lourds).

Mais dans le cas ou il faut une application à part entière Java FX est très bonne réponse, sinon Swing l’est aussi à défaut.
Java FX permet de créer des applications « client lourdes » complètes et portables (Mac, Windows, Linux) en utilisant le système d’exploitation qui vous plaît !

En conclusion

Chaque cible (PC, tablette) à ses outils bien a lui.

Faire une analogie de Java avec les tablettes est mal choisie, car ce n’est pas sa cible première (même si des solutions existent « Robot VM » pour convertit du code Java FX pour tablettes ) .

Mais par expérience Java FX permet de créer des applications « client lourd » complètes et portables (Mac, Windows, Linux) sans se soucier des spécificités de chaque système.

 

N’installer pas LibreOffice v5.1.0.x, rester sur la v5.0.5

N’installez surtout pas la version v5.1.0 de LibreOffice, car celle-ci a deux gros défauts :

  • certaines images GIF sont remplacées par un rectangle noir lors de l’impression,
  • il plante régulièrement > 5 fois dans la journée

À la place, utiliser la version v5.05.x qui est bien plus stable :

 

Empêcher Microsoft de promouvoir des applications dans le menu démarré

Sous Windows 10, Microsoft à la possibilité de pousser/suggérer des applications sur votre système au travers du service de « Microsoft Consumer Experience ». ainsi c’est lui qui vous a installé « Candy Crush », « Flipboard », et « Twitter »

Pour le désactiver, il n’existe pas d’interface utilisateur, de plus la méthode sous « Window 10 familly » est différente de celle de « Windows 10 PRO ».

Désactiver « Microsoft Consumer Experience » sous « Window 10 familly »

  • Lancer Regedit : taper sur a touche « Windows » de votre clavier, puis taper « regedit » puis taper sur la touche « Entrée ». Au message « Voulez-vous autoriser cette …. » cliquez sur  « Oui ».
  • Ouvrer la clé de registre
    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows
  • Si la clé suivante n’excite pas « CloudContent« , créez-la (bouton droit, menu « Nouveau », puis Clé)
  • Ouvrer la clé CloudContent
  • Ajouter (bouton droit, menu « Nouveau », puis « Valeur DWORD 32 bits » ou sélectionné la valeur « DisableWindowsConsumerFeatures » et mettez y la valeur 1

Clé registre CloudContent

Désactiver « Microsoft Consumer Experience » sous « Window 10 PRO »

  • Lancer l’éditeur de stratégie de groupe locale :
    Taper sur a touche « Windows » de votre clavier, puis taper « gpedit.msc » ou « Stratégie de sécurité locale » puis taper sur la touche « Entrée ».
  • Aller dans « Configuration ordinateur/Modèles d’administration/composant Windows/Contenu Cloud ».
  • Sur la droite, modifiez l’état de « Désactiver les expériences consommatrices de Microsoft » en « Activé »

Désactiver CloudContent

note : l’usage de « éditeur de stratégie de groupe locale  » revient à faire la même manipulation que sous « Widows Familly »

Les nouveautés de la mise à jour d’Eclipse : Mars.2

La fondation Eclipse vient de sortir une mise à jour d’Eclipse : Mars.2.

En plus des corrections de bogues il y a quelques nouveautés.

 

Assistant Java (Quick assist)

  • Ajout ou suppression des parenthèses dans une expression lambda (Ctrl+1)ajout supression parenthèses
  • Ajout de type inférai dans un lambda expression pour rendre explicite le type des paramètres

ajout de types inférré

  • Concertino de l’appelle d’une méthode par référence en lambda expression et vis versa

convertion vers methode référencéconvertion vers lambda

  • Nouveau modèle java try ..finally, lock pour le patterne de programmation concurrente

template java : try lock

  • moteur de recommandations activé par défaut, basé sur des patternes, dans l’assistant de complétion

call-completion-narrow

  • moteur de complétion propose l’instanciation d’objet le plus utilisé

Completion de contructeur

  • moteur de complétion propose la méthode qu’il estime la plus adaptée pour la surcharge de méthode

Surcharge de completion Vérification et Tests

  • amélioration du moteur de détection d’erreur (valeur null, dans boucles)
  • affichage des tests sautés dans la vue JUnit

 

Junit : re-reun tests parenthéses

  • possibilité de relancer des tests regroupés (parenthèses) dans la vue JUnit

Junit : re-reun tests parenthéses

Débogage, console et compilation

  • Débogages: un nouvelle icône et raccourci pour sauter tous les points d’arrêts (Ctrl+Alt+B)

Debogage : sauter tous les points d'arrets

  • Débogage :possibilité d’ajouter un « watchpoint » sur une variable « final » non constante

final watchpoint

  • Console : possibilité d’assigner l’entrée standard « stdin » à un fichier dans la boite de configuration de lancement d’un programme

association fichier à stdin

  • le mode « word wrap » de césure des mots peut être activé sur la console

Console : mode wordwrap

  • une nouvelle option de compilation permet d’afficher ou pas les messages de code inutilisé dans un block try-catch

exception inutilisé

  • Annotations : ajout des annotations @NotNull et @Nullable

Java EE

  • support de servlet Async
  • support de EJB 3.x
  • support pour Apache Tomcat 8
  • génération de Web Service pour Tomcat 8
  • Dans l’éditeur JSP, importation des packages pour les types java irrésolus. Ctrl+Shift+M « Add import » dans le menu source
  • Option pour ignorer les messages d’attribut incorrect sur le validateur des fichiers HTML (ouf !!!!)

ignorer les attibutsquick fix attributte

  • CSS : boite de couleurs sur l’écriture des codes de colleur dans les fichiers CSS

boite de dialogue de choix de couleur (picker color)

C/C++

  • débugger seule comme un package séparé
  • support pour Docker
  • option de formatage du fichier complet si la sélection est vide
  • le parser supporte la directive d’alignement (alignas en C++ et _Alignas en  C)
  • amélioration du déboguer : affichage du code de sortie d’un programme
  • support Arduino C++

PHP

  • amélioration de phpdoc avec la nouvelle directive @method
  • éditeur PHP :  syntaxe colorée des mots clés
  • l’explorer permet de voir une vue hiérarchique de la structure PHP
  • débogueur : mise en surbrillance des variables modifiées  et amélioration du look and feel

Général

  • possibilité d’affecter les paramètres d’Eclipse a tous les espaces de travail Eclipse se trouvant sur votre ordinateur dans Oomph

enregistrement config sur tout les espace de travail Workspace

  • Mise à jour automatique activée par défaut (voir  » Install/Update > Automatic Updates »)

automatic update

  • amélioration des performances de la mise à jour
  • Amélioration du thème « Dark« 

dark theme

  • Amélioration des performances (x3-x4) de la recherche texte sur tout le dépôt (workplace) sur une machine multi-cores
  • bouton impression caché par défaut
  • le mécanisme de rapport d’erreur Eclipse, ne nécessite plus de compte et offusque les données personnelles

Platform

  • la pile Java d’Eclipse est passée par défaut de 512Mo à 1024Mo,et le tas de 40Mo à 256Mo
  • meilleur support de GTK-3
  • package pour MAC OS

Équipe

  • support de git-flow
  • le wizard de projet Git peut importer directement dans le workspace d’Eclipse

Git import

  • les variables Git (git-config) peuvent être utilisées dans les modèles Java

git template

  • Suppression CVS. il peut être ajouté aux travers du « Markplace Eclipse« 

Outils de Build

  • Possibilité d’ajouter l’outil Gradle depuis le « Markplace Eclipse« 
  • support de Maven 3.3.3, amélioration de l’éditeur de fichier pom, de l’auto-update et de l’auto build
  • amélioration du support du connecteur Gerrit (v2.11)
  • Huson/jenkins : possibilité de cacher les build réussis afin de mieux voir les erreurs
  • nouveaux outils pour gérer une image Docker

Docker

Cordova

  • Installer Eclipse Oomph

Source : https://www.eclipse.org/mars/noteworthy/

 

 

 

Enfin un Raspberry PI 3 avec du Wifi

Ce Week-end a était mouvementé pour le Raspberry. Dimanche les sites sur Raspberry PI annoncés la venu prochaine d’un Raspberry PI 3 avec WiFi en se basant sur un document d’homologation US.

Finalement se matin vers 8h il est proposé à la vente chez tous les revendeurs Kubii, Mc Hobby, … au même prix que le Raspberry 2

Au programme :

  • WiFi + Bluetooth intégré
  • soc CPU BCM2837 64Bits à 1200Mhz qui remplace le soc BCM2836 32 Bits 900Mhz . soit un gain de 33%
  • 1 Go
  • micro SD
  • Ethernet 100
  • USB 2 supportant jusque 2.4 Ampères
  • un nouveau boitier, car les diodes lumineuses on changés de places (Elles sont à gauches et plus droite du connecteur de la camera).
    Ce dernier boitier ressemble à l’ancien (voir l’article : Boitiér officiel Raspberry PI)
  • une nouvelle alimentation, plus puissante pour pouvoir répondre au besoin éventuel des périphériques USB 2.4 A

Vous trouve de plus amples informations sur le site de la fondation Raspberri PI , dans la presse informatique …

J’ai particulièrement aimé l’article fait sur le blog de Franboise « Raspberry Pi 3 : Quoi de neuf, docteur ? ».

 

Un GitHub chez vous : GitBlit

Le gestionnaire de source GitHub est un dépôt Git sur le Web. Pour une société privée, cela pose un problème lorsqu’elle travaille sur des sources confidentielles. Rien ne vous protège contre un accès illégal (un mot de passe ce vole). Le mieux est de l’héberger sur son réseau privé, ou sur ses serveurs.
Le logiceil Open Source Gitblit répond à ce besoin.

Cella fait maintenant quelques années je l’utilise depuis Eclipse et que je l’apprécie.

Gitblit  est une servlet Java de dépôt Git sous licence Apache 2.0 et open source (Java v7 + ).
Il nécessite un serveur de Servlet  v2.5 ou v3 tel que Tomcat v6/7, Jetty v6/7/8, ou autre.
Si vous n’avez pas ce genre de serveur, il existe Gitblit Go un « tout en un » qui contient le serveur de servlet (Jetty) et GitBlit installé pour Window ou  Linux ou OSX

Quelques fonctionnalités de Gitblit :

  • interface Web
  • Localisation dans plusieurs langues, dont l’Anglais, le Français, l’Espagnole, l’Allemand, le Japonais…
  • Dépôt Git (pull,push, RWD+ …)
  • gestion de dépôt
  • des statistiques d’usage
  • gestion de compte
  • recherche plein-TEXT
  • support le connecteur SSL, HTTPS et GIT
  • des plug-ins pour :
    • LDAP
    • Redmin
    • SalesForce
    • authentification Windpws
    • authentification  PAM
  • flux RSS
  • JSON RPC pour intégration
  • une API java RSS/JSON API pour intégration dans vos applications
  • stratégie de sauvegarde et d’agrégation de dépôt GIT

Vous trouverez Gitblit sur :  http://gitblit.com/

Des copies-écrans :

 

Informations et statistiques de votre réseau : What’s IP

Logo Windows 10

What’s IP est une application qui vous dit tout sur votre réseau Ethernet ou WiFi.
Pour ma part dans mon travail, je suis toujours à la recherche des informations réseau de mon PC. Ce qui m’amène a ouvrir une ligne de commande de faire un ipconfig etc .. C’est assez pénible.
Avec « What’s IP » j’ai tout cela et plus.

What's IP
Application What’s IP

En une seule clique, vous aurez:

  • le nom de votre PC
  • l’adresse IP
  • l’adresse MAC
  • l’IP externe de votre réseau
  • le type de cryptage
  • un superbe graphe des statistiques de votre carte Ethernet ou WiFi

Boitier officiel du Raspberry PI

J’ai pensé vous faire partager mon avis sur le dernier boitier Raspberry PI.

Boitier Raspberry PI

Le boitier est pensé pour :

  • être beau, avec un mélange de blanc et de rose fuchsia
  • de bonne finition. Le plastique utilisé est très agréable au touché et est de très bonne qualité.
  • ergonomique. Il laisse la connectique du PI disponible et facile d’accès
  • pensé pour être pratique. Diverses parties peuvent se déboiter pour permettre l’accès aux connecteurs du PI.
  • l’accès à la microcarde SD est très bien pensé. Il est possible de la changer sans ouvrir le couvercle.
    Et celle-ci ne dépasse pas des bords du boitier. Ça évite d’appuyer dessus par erreur.
  • affichage des témoins lumineux : allumé, accès disque
  • dessous quatre tampons plastique mou transparent servent de pieds.

Je vous le recommande …

Voici des photos :

Traduction en ligne de textes ou sites web

Si vous pouvez avoir des difficultés à lire un site dans une autre langue que la vôtre, ou vous voulez traduire votre site web, il existe des sites web d’aide à la traduction.
Ces sites web ne doivent pas être considérés comme de vrais traducteurs, mais comme des aides à la traduction. De plus, ils sont très génériques et s’adaptent mal à certains types de contexte.

Actuellement sur le Web j’ai repéré que deux types de technologie de traduction :

  • « Systranet » de Systran, précurseur de la traduction. Technologie initialement utilisée par la NASA.
  • « Google traduction »  de Google
Nom Technologie Description
Google traduction Google Google traduction

Il offre plusieurs services :

  • traduction de texte
  • traduction de fichier
  • traduction de site web
  • intégrable le dans votre site web
  • choix de la langue
  • affichage de dictionnaire de traduction sur mot
  • possible de proposer une traduction

Web : https://translate.google.fr

Systranet

 

Systran Systranet

Il offre plusieurs services :

  • traduction de texte
  • traduction de fichier, dont RSS (nécessite un compte)
  • traduction de site web
  • intégrable le dans votre site web (nécessite un compte)
  • choix de la langue
  • dictionnaire

Web : http://www.systranet.com/fr/web

Traduction d’Orange Systran Traduction Orange

Intégration du traducteur de Systran par Orange, avec de la publicité en plus.

Il offre plusieurs services :

  • traduction de texte
  • traduction de site web
  • choix de la langue

Web: http://traduction.orange.fr/

Free WebSite Translation Google « Free Web Site TRANSLATIONS »

Il offre plusieurs services :

  • traduction de site web
  • choix de la langue
  • intégrable le dans votre site web. Très simple d’intégration.

Web : http://free-website-translation.com/?fr

Worldingo Systran ? Worldingo

Il offre plusieurs services :

  • traduction de texte
  • traduction de fichier
  • traduction de site web
  • envoie d’email
  • choix de la langue
  • API

Il semble être basé sur le moteur de traduction de Systran.

Web  : http://www.worldlingo.com/fr/websites/url_translator.html