J’aime vraiment beaucoup PHP. Vraiment, je n’ai rien contre ce langage, il a toujours répondu à mes besoins et en tout cas pour ce que je lui demandais. Bien évidemment, il faut toujours choisir le langage de programmation adapté en fonction de ses projets, mais PHP ne m’a jamais déçu. Surtout depuis la branche 7.x qui avait fortement amélioré les performances, et ils ont continué avec le 8.x qui fonctionne très bien.
Ensuite, dans le cadre professionnel, j’ai rencontré presque par chance et très tôt le framework Laravel. Depuis cette découverte au tout début, je réalise de nombreuses choses avec Laravel, en fait, beaucoup de projets avec cet outil. Je ne vais pas vous refaire toute l’histoire, mais aujourd’hui difficile de se passer de ce framework lorsque l’on fait du PHP même s’il y a bien sûr Symfony. Les autres framework PHP ont un peu été éclipsés par ces deux-là. Sauf si vous considérez WordPress comme un framework PHP.
Personnellement, je fais vraiment tout avec Laravel et j’adore. Je ne sais pas pourquoi PHP se traîne encore aujourd’hui cette mauvaise réputation, mais avec Laravel les choses ont vraiment changé, enfin pour moi et de mon point de vue du moins. Certes, actuellement ce langage de programmation fait moins parler que d’autres langages comme par exemple Python qui est très versatile. En-tout-cas pour ceux qui sont dedans, le PHP et Laravel vous voyez ce que je veux dire. PHP avec Laravel ça marche vraiment bien. À tel point que je fais tourner de nombreux gros script en local ou sur des serveurs directement avec les lignes de commande sans front accessible. Ça me permet de script et vite et bien avec un environnement pratique.
Une annonce a fait un peu de bruit cet été. Après les mises à jour performantes de PHP et l’évolution constante de Laravel, voici une nouvelle nouveauté. Je parle bien sûr de NativePHP.
C’est quoi NativePHP ?
Alors NativePHP, c’est quoi ? C’est un nouveau framework, qui permet de créer des applications de bureau natives en utilisant le langage de programmation PHP. Vous allez pouvoir créer facilement des applications directement pour les systèmes d’exploitation telles que Windows, macOS ou Linux, et ce, très facilement en utilisant PHP. Pratique non ? Si vous connaissez un peu electron, l’approche est la même sur le principe.
Vous connaissez bien la Ravel et le PHP, et vous voulez faire des applications de bureau très rapidement. Alors NativePHP est fait pour vous. Pas besoin d’apprendre un nouveau langage pour faire votre application de bureau et vous pouvez utiliser PHP pour faire votre logiciel. Attention, je précise toutefois qu’il s’agit d’un projet naissant et à l’heure où j’écris ces lignes, nous ne sommes qu’en version alpha 0.4.0 pour être précis.
Donc ne vous lancez pas corps et âme pour faire une application de production avec natif PHP. Néanmoins, vu à laquelle les choses avancent, je pense que l’on aura bientôt une belle bêta est assez vite, une version stable qui permettra de faire des choses encore plus cool. Moi qui aime le PHP, et même si ce n’est normalement pas destiné à cet usage loin de là, je suis plutôt excité par cette annonce. Pour quelqu’un qui maîtrise bien le PHP, je vois vraiment le côté pratique de la chose, et donc forcément, je me suis décidé à tester NativePHP, ou moins l’installation pour commencer a regarder le code source et vous proposer de futurs tutoriel. Pour ça, il faut bien commencer par installer NativePHP !
Préparer votre distribution Linux pour NativePHP
La première des conditions pour réussir l’installation de NativePHP, c’est d’avoir un système d’exploitation à jour. Je pense que j’ajouterai prochainement un lien vers un autre article, car la moindre petite erreur peut être fatale. Heureusement, cela se résout facilement dans notre contexte. Donc si je peux vous dire une chose, ayez un système d’exploitation un jour si possible sinon il faudra forcément un peu bricoler. Sinon ça devrait très bien se passer pour installer NativePHP.
Je pars du principe que vous êtes sur une distribution, Linux Ubuntu vierge, et que vous voulez installer NativePHP. Dans un premier temps, assez étonnamment, il faudra donc installer PHP. Sur macOS, c’est aussi très facile d’installer PHP avec l’utilitaire homebrew. En-tout-cas sur notre distribution Linux, il suffit de faire un simple :
sudo apt install php
Ensuite, on vérifie que tout s’est bien passé avec la commande suivante qui va nous donner les versions de PHP qui est installé sur notre système d’exploitation :
php -v
Qui donne le résultat suivant :
PHP 8.1.2-1ubuntu2.13 (cli) (built: Jun 28 2023 14:01:49) (NTS)
OK parfait tout va bien. On est bien à jour avec une version de PHP récente. On peut passer à la suite. Maintenant, on va avoir besoin d’installer l’outil Composer, si ce n’est pas déjà fait. Je ne vais pas rentrer dans les détails, mais si vous ne connaissez pas, il s’agit d’un gestionnaire de dépendances pour PHP. C’est un outil indispensable. Pour l’installer rien de plus simple, il suffit de faire à nouvel appel à APT pour qu’il installe avec le bon paquet :
sudo apt install composer
Nous avons maintenant les prés requis pour passer à l’installation a proprement dit de NativePHP. Rassurez-vous. Ce n’est pas beaucoup plus compliqué. Il suffit de suivre le tutoriel qui va suivre.
Installer NativePHP sur Linux Ubuntu
Placez-vous dans le dossier de travail de votre choix, et on attaque tout de suite avec une ligne de commande qui invoque l’outil Composer. Cette commande va nous créer la base de notre projet à savoir un Laravel basique. Jusque-là, rien de bien étonnant qui sort de l’ordinaire :
composer create-project laravel/laravel zonetuto-nativephp
Composer va alors s’occuper d’installer notre Laravel :
Ensuite, on rentre dans le projet que nous venons de créer avec un simple cd. Une fois la racine de notre projet, on lance la commande suivante qui nous permet de vérifier que Laravel tourne bien :
php artisan
C’est parfait, la commande « php artisan » nous répond bien une version de Laravel avec la liste de toutes les commandes. On peut donc passer à la suite. On va maintenant aller chercher le paquet NativePHP via electron justement qui va nous permettre d’installer notre application. C’est la seule dépendance que vous avez besoin d’appeler via Composer pour lancer un projet NativePHP de base.
composer require nativephp/electron
Composer travaille bien et il nous installe tout ce qu’il faut. Jusqu’ici, vous ne devriez normalement pas avoir de problème.
On peut maintenant passer à l’installation à proprement parler de NativePHP. Cela se fait à l’aide d’une simple commande, la voici :
php artisan native:install
Une fois l’installation de NativePHP terminé, vous devriez obtenir quelque chose qui ressemble à ça. J’ai délibérément choisi de ne pas lancer directement NativePHP pour le moment, car l’installateur vous le demande à la fin.
Pour lancer notre application NativePHP, il suffit alors de taper cette dernière commande :
php artisan native:serve
Vous obtenez quelques informations, et voici le résultat que vous devriez normalement obtenir avec cette version de NativePHP. Une fenêtre s’ouvre avec un Laravel de base. Vous avez par ailleurs sur le côté droit des informations de débogage pour votre application.
Je vous ferai prochainement un autre tutoriel sur NativePHP avec cette fois du code, pour commencer à réellement construire une application avec ce nouvel outil. Pour le moment, comme je l’ai dit, au début, il s’agit d’une version alpha qui n’est pas destinée à faire une application pour de la production. Cependant, le GitHub de NativePHP est très actif et on devrait rapidement avoir de nouvelles mises à jour de NativePHP que je suivrai aussi ici avec attention. Pour ma part, je suis vraiment très enthousiaste sur cet outil, et j’espère qu’il va vivre longtemps et beaucoup s’améliorer. Ça ouvre encore plus le champ des possibles avec PHP et c’est vraiment cool.