Nativefier crée un logiciel à partir d’un site

Nicolas Furno |

En utilisant Electron, un framework conçu par GitHub sur une base de Chromium et de Node.JS, on peut facilement créer une application à partir d’un site internet. Cette solution très populaire est utilisée par certaines applications, comme la messagerie instantanée Slack ou bien encore le gestionnaire de blogs WordPress.com. Et avec Nativefier, vous pouvez créer vos propres logiciels à partir de n’importe quelle adresse web.

Logiciel créé à partir de MacGeneration. Sur le bas à droite, la fenêtre de terminal qui a servi à le générer. — Cliquer pour agrandir
Logiciel créé à partir de MacGeneration. En bas à gauche, la fenêtre de terminal qui a servi à le générer. — Cliquer pour agrandir

Cet utilitaire ne dispose pas d’une interface, et il faudra passer par le terminal pour l’installer et l’utiliser. Comme il s’agit d’un module Node.js, on peut se contenter de cette seule ligne pour récupérer et compiler tout le code nécessaire :

npm install nativefier -g

Si vous n’avez jamais installé Node.js, ce sera la première étape : toutes les explications sont disponibles à cette adresse. Une fois que tout est installé, son utilisation est très simple : pour générer un logiciel, il suffit de taper nativefier "ndd.fr" dans le terminal et tout se fera automatiquement. À l’arrivée, vous aurez une application prête à l’emploi, compatible avec votre plateforme.

C’est en effet le gros avantage de cette solution, par rapport à Fluid qui en fait autant depuis de nombreuses années. Avec cet utilitaire, on génère un logiciel « natif » pour OS X, mais aussi pour Windows et même Linux. En contrepartie, le résultat est assez lourd pour quelque chose d’aussi simple : comptez environ 110 Mo par site converti en logiciel.

Nativefier essaie de récupérer le favicon pour en faire l’icône de l’application générée, mais vous pouvez aussi sélectionner une autre image. Il existe d’autres paramètres à utiliser lorsque l’on génère l’application, tous les détails sont disponibles à cette adresse. Dans nos essais, le logiciel a bien fonctionné, même s’il ne sait pas gérer les noms de sites avec lettres accentuées, ce qui pose souvent problème avec les sites francophones.

Pour ceux qui sont encore plus bricoleurs, créer soi-même l’application à partir d’Electron n’est pas beaucoup plus compliqué, et cela permet d’obtenir un résultat plus propre. Vous pouvez suivre ce tutoriel qui évoque un blog WordPress comme finalité, mais qui fonctionnera avec n’importe quel site.


avatar reborn | 

Excellent, je vais essayer avec tubeats.com

avatar thefolken | 

C'est là qu'on voit que Google n'est pas très loin de la vérité avec son Chrome OS. L'auteur de ce soft l'a fait pour avoir les (certains) onglets de son navigateur directement dans la barre des tâches... Et il me semble que Chrome permettait de le faire directement sur n'importe quel OS (avec la purge je sais pas si c'est toujours dispo)

avatar fte | 

Ouaip.

Il était un temps où les pages web étaient des pages. Maintenant elles deviennent des apps.

Et vous savez la différence entre une page et une app ? Une page, ça ne plante pas, ne bugge pas, ne mange pas 100% de temps CPU, etc.

Bienvenue dans l'ère de l'internet des bugs, bienvenue en 2016.

avatar françois bayrou | 

Pendant que certains se battent pour mettre leurs apps en ligne, d'autres proposent d'encapsuler des sites dans des apps.

Après le SAAS - Software As A Service, voilà le SAAS : Service As a Software.

avatar Domsware | 

Ah, je comprends maintenant pourquoi je trouve Slack mauvais sur Mac.

avatar MaksOuw | 

Le problème de cette solution (testé au boulot pour notre logiciel), c'est que une fois sur deux ça fonctionne pas sur le poste client. C'est censé embarquer Nodejs, le soucis est que même si c'est embarqué, si Nodejs est pas installé sur le poste client tu peux repartir la queue entre les jambes, et lui fournir une URL pour accéder à ton soft.

Bien pour ça que j'utilise directement Electron, et je met seulement les librairies que je veux dedans au lieu d'utiliser un soft pour encapsuler tout ça avec des dépendances qui me sont complètement inutile. Ca fonctionne un peu mieux, même si c'est pas optimal.

Par contre attention, Electron ne sert pas qu'à encapsuler des sites dans des apps, regardez l'éditeur Atom, sur lequel il est basé : c'est surtout un vrai soft qui fonctionne super bien (allez pas me dire le contraire) et qui est "hackable" par ses utilisateurs pour le rendre unique et utilisable de la meilleure façon que son utilisateur le pense.

Si vous voulez développer un soft rapidement, basé sur Nodejs, avec un peu d'Angulaire / React / Hack etc. c'est une très bonne base.

avatar Hellchaos | 

C'est vraiment très pratique ce truc, personnellement j'ai accroché et c'est vraiment bien quand on veut pas se faire chier avec un navigateur ^^
Ça bug de temps en temps mais c'est rien de bien méchant

avatar Kenny31i | 

Je me demande si Spotify ne fonctionne pas sur ce principe.

Mais est-ce que ça peut remplacer Cohérence (ou autre alternative ?) Si je comprends bien c'est intéressant pour les développeurs. Mais si je veux créer une app à partir d'un site existant ça ne semble pas possible ?
En l'occurence j'aimerai piloter mon NAS Synology et mon Thermostat Netatmo via une app plutôt que d'utiliser Safari (D'ailleurs je ne comprends pas que ce ne soit pas proposé par Netatmo...) Est-ce que cette solution peut fonctionner ?

CONNEXION UTILISATEUR