Vous voulez tester du code JavaScript (de plus de 1 ligne) rapidement (juste le temps de l’écrire) sans devoir monter une page HTML de test ? Firefox a pensé à vous avec son « Ardoise JavaScript« .
Depuis la version 33 de Firefox si vous appuyez sur les deux touches « Maj+F4 » ou sur le menu « Outils/Développement Web/Ardoise JavaScript » la fenêtre de test de « Ardoise JavaScript » s’affiche :
Cette « Ardoise » va vous permettre de tester directement du code JavaScript. Vous pourrez aussi charger un fichier JavaScript et même formater votre code.
De plus, Ardoise vous offre les fonctionnalités suivantes:
formatage de code
complétion
auto-fermeture des parenthèses, accolade,
ajout automatique de guillemets, quottes (énervant à mon gout 😉
touche similaire aux éditeurs vim, Emacs, Sublime Text (voir la clé « devtools.editor.keymap » de l’adresse « about:config« )
quelques astuces d’utilisation
Afficher la console
Appuyer sur les touches CTR+MAJ+J, sinon afficher l’outil de développement de Firefox en appuyant sur la touche F12, puis onglet « Console« .
Cas d’usage détourné
Le code s’exécute dans l’environnement de l’onglet actif de Firefox, C’est donc aussi un moyen pour extraire des données d’une page HTML 😉 En voici un exemple d’application :
//charger le l'url suivante :https://www.qwant.com/?q=piradix&t=web
var nbFind = 0;
var list = document.getElementsByClassName('result--web--title');
for (var i=0; i<list.length; i++) {
var s = list[i].innerHTML;
if (s.toLowerCase().indexOf('piradix') >= 0) {
nbFind++;
}
}
alert('Nombre page contenant en titre \"piradix\" : ' + nbFind+"/"+list.length);
Voici quelques informations non exhaustive EclipseCon 2016
Annonce de « Eclipse Che » l’espace de travail universel depuis le Web :
SAP annonce un nouveau IDE Web « Hana » basé sur Che.
L’intégration de Microsoft dans l’équipe « Team Foundation »
itération de Red Hat avec sa solution OpenShift
le support d’IBM dans la collaboration avec Eclipse Orion et Eclipse Che
Microsoft rejoint la Fondation Eclipse en tant que « Solution member »
Quelques annonces sur l’IoT (Internet des objets)
Microsoft annonce sa contribution à Eclipse Kura. Kura est un framework Java basé sur OSGi pour des portails IoT.
Il fonctionne sur Raspberry PI, BeagleBone Black en permettant l’accès au matériel sous-jacent (portes série, GPS, chien de garde, GPIO, I2C, etc.), ainsi qu’a la gestion des configurations réseau…
MicroEJ est le « leadership » dans le projet Eclipse Edje. MicroEJ c’est une solution de création d’applications embarquées intelligentes et elle permet de les déployer partout, et sur tout dispositif.
Sous Eclipse, si comme moi, il vous arrive d’ouvrir énormément de fichiers, de les fermer, de les re-ouvrir …
Il existe un plug-in qui va vous permettre d’aller encore plus vite et rien qu’au clavier : FastOpen.
Vous le trouvez sur le « Market Place » d’Eclipse ou à l’adresse suivante :
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.
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
Les mises à jour de Java que propose Oracle sont notées « CPU » ou « PSU ».
Ce qui correspond à une partie du numéro de version. Par exemple dans le numéro suivant « Java SE 7u56 » :
« Java SE » est le type de version (ici la version JVM pour tous)
7 est la version de Java, actuellement nous somme en version 8 (le 07/10/2015)
56 est le numéro de la mise à jour de type « PSU » car numéro pair
Les mises à jour « CPU »
Elles correspondent à des rectificatifs de sécurité et sont donc grandement conseillées par Oracle.
Le numéro de version correspondant est toujours impair.
Ces mises à jour sont publiées le mardi le plus proche du 17e jour d’un des mois suivant janvier, avril, juillet et octobre d’après le calendrier Oracle.
En résumé, si Oracle veut sortir une mise à jour de sécurité « CPU » sur une version « 7u56 », ils lui attribueront le numéro « 7u57 ». Si un deuxième rectificatif critique doit sortir, il aura le numéro « 7u59 », s’il y a eu zéro ou au plus 1 mise à jour « PSU ».
les mises à jour « PSU »
Elles correspondent à des rectificatifs de Bug et sont à mettre à jour que si un des bogues rectifiés impact vos logiciels.
Le numéro de version correspondant est toujours pair.
La liste des modifications se trouve dans la note « release notes »
En résumé, si Oracle veut sortir un rectificatif de bogue « PSU » sur une version « 7u56 », la mise à jour correspondante aura le numéro « 7u58 »
Plus d’informations
Vous trouverez plus de détail sur l’article Oracle suivant :
Eclipse intègre un nouveau mécanisme d’envoi automatique des erreurs.
La liste de configuration de la perspective « Perspective/customise perspective » à grandi avec plus de choix par « item ». Vous allez pouvoir ajouter/supprimer des boutons dans la barre d’outils ….
Affichage du chemin du dépôt Eclipse.
Dans « Préférence/Workspace » cliquer sur « Show workspace path in windows title »
Affichage
Sur les onglets fichier ajout d’un bouton pour fermer les fenêtres de gauche : »Close Tabs to the Left », de droit : »Close Tabs to the Right »
La vue « Explorateur de projet » permet de voir les projets sous une forme hiérarchique. Intéressant si vous avez des modules dans votre projet.
Voir le menu de la vue Explorer « Projects Presentation/hierarchical »
« Visible tabs shown on overflow » behavior decoupled from appearance theme
L’affichage de plusieurs onglets fenêtre peut être changé lorsqu’il y a trop de fenêtres à afficher par l’option des préférences « Preference/Appearence/ » champ « visible tab on overflow »
ajout d’un filtre dans la boite de dialogue « Open with » et un option pour ce souvenir de votre choix « Use it for all …. ».
Ajout d’un filtre sur les ressources dupliqué dans la boite de dialogue « Open Resource ».
amélioration de e4 et CSS de configuration d’Eclipse
Recherche de text
recherche text plus rapide (facteur de 3 a 4) en utilisant les multi coeur de votre CPU
Complétion de code
Amélioration de la complétion dans les pages HTML comportant du JavaScript
CTRL+<espace> vous propose les fonctions de votre page si vous êtes dans une section JavaScript on un parant^tre HTML du type onclick= »… »
Il va même vous chercher les méthodes liées à un objet JavaScript se trouvant dans un fichier Js.
Plus besoin de lire complètement la doc de jQuery pour savoir si une fonction existe
Amélioration de la consol
possibilité de rediriger la sortie ou entrée « consol » de votre programme vers un fichier Voir le dernier onglet « Commun » dans « Run configuration » de votre programme
défilement de la console avec la molette de la souris.Si vous faites défiler la console jusqu’à la fin (en bas), le verrou de défilement est libéré et la console continue à faire son défilement automatique suivant les écrits qu’elle reçoit.
Cella permet de lire son contenu sans être perturbé par le défilement.
Plus de limites pour la taille de la console
dans le menu contextuel de la console vous poupée arrêtée et déconné tout programme de celle si.
option de coupure de mot ajouté dans le menu contextuel « Word wrap »
JDT
amélioration des performances de la compilation Java (bug434326)
Meilleure analyse de la détection de la valeur null dans le contrôle de flux Java.
Avant PDT vous indiquez qu’une variable était null alors que ce n’était pas le cas.
Exemple :
void testNull(boolean b) {
Object o = null;
while (true) {
if (b)
o = new Object();
System.out.println(o.toString()); //WARNING NULL de JDT
o = null;
}
}
amélioration de la détection de fuite mémoire
Vous pouvez ajouter explicitement les types présumés des paramètres dans une expression lambda en invoquant l’assistance « Quick assist » (Ctrl + 1) puis « Add inferred lambda parameter types ».
Dans :
Arrays.sort(t, (x,y) -> x.compareTo(y) );
pour donner :
Arrays.sort(t, (String x,String y) -> x.compareTo(y) );
L’assistant sur les lambda expression peut convertir une expression en lambda et vis versa
L’assistant permet l’ajout (Symbole « ()+ add parentheses … ») ou la suppression (« -Remove parentheses … ») des parenthèses autour de lambda expression.
Ajout de nouveau modèle dans l’assistant de modèle Java « Java template » :
try_finaly pour try{ …}finally{ …}
lock explicite lock aquisition : pour try{…..} finally{ o.unlock}
vous pouvez ajouter un point d’arrêt pour les variables finales non constantes.
Exemple : private final Hasmap<String> map ;
le renommage de fichier présélectionne le nom du fichier sans l’extension pour éviter de change l’extension par erreur. Exemple mondoc.odt
la duplication d’un fichier par copié/coller (CTRL+C puis CTRL+V) propose comme nouveau nom le précédent avec un digit en plus. Exemple mondoc2.doc pour mopndoc.doc
nouveau icônes
Affichage de toutes les annotations javadoc sur leur survol (pas que annotation Java)
Equinox
mise a jour de Jetty 9 (v9.2.3) Servlet 3.1 Java 7 minimum
Nouvelle mise en œuvre du Whiteboard HTTP
Outils externes utilisés par Eclipse
Eclipse a mis à jour les outils suivants :
Ant v1.9.4
Maven v3.3.3
nouvelle intégration dans Eclipse de
Graddler
d’outils pour Docker sous Linux
Nouveau projet
thym : intégration d’Apache cordova pour le développement multiplatform
oomph : création de kits d’installation Eclipse et intégration de partage de préférence de paramètre au travers d’espace de travail individuel.