PHP et l'intelligence artificielle
Introduction
Pour ne rien vous cacher, le langage préféré des développeurs en IA n’est pas PHP, il s’agit de Python ! Son succès est certainement dû à sa facilité d’utilisation et à sa syntaxe permissive permettant de travailler indifféremment en fonctionnel, en orienté objet et en procédural. Dans l’absolu, tout langage permettant d’effectuer des calculs a la capacité d’offrir les outils nécessaires à la création d’algorithmes pour créer des modèles d’IA. Étant nous-même développeur PHP, rien ne nous empêche donc d’appliquer des algorithmes d’IA dans nos programmes.
Pour mieux situer le langage PHP dans le contexte des langages de développement, nous aborderons les sujets suivants :
-
place de PHP dans l’IA ;
-
librairies PHP pour l’IA ;
-
environnement de développement.
À la fin de ce chapitre, nous aurons vu pourquoi PHP n’est pas le langage le plus populaire en IA, ses forces et ses faiblesses dans ce contexte. Nous connaîtrons les différentes librairies les plus utilisées en PHP pour développer nos propres modèles d’IA ou consommer des modèles existants via des API tierces. Enfin, nous aurons mis en place un environnement de développement adapté à...
Place de PHP dans l’IA
PHP est un langage interprété côté serveur qui a pour vocation principale de générer du contenu dynamique pour des sites web. L’IA est un ensemble d’algorithmes génériques et n’est pas une fin en soi. Ainsi rien n’empêche PHP d’implémenter de tels algorithmes.
Cependant, si vous consultez les classements des langages les plus populaires pour les développements, vous n’y trouverez certainement pas PHP. Le plus populaire pour les développeurs étant Python, faisons un comparatif rapide des avantages/inconvénients de ces deux langages pour nous faire une idée des défis à relever par PHP pour séduire davantage les spécialistes en IA et pointer d’éventuels points de blocage disqualifiant PHP.
1. Facilité d’utilisation
Python est conçu pour être un langage simple d’apprentissage et d’utilisation. Il est abordable et permet à des programmeurs non experts ou aux data scientists d’implémenter rapidement leurs algorithmes, bien que le développement ne soit pas leur domaine de prédilection. Sa syntaxe claire et concise permet d’effectuer de lourdes manipulations sur les données simplement.
Sur ce volet, PHP n’est pas si éloigné et permet une appropriation rapide, même...
Librairies PHP pour l’IA
Il convient de dissocier les deux types de librairies qui nous seront utiles :
-
celles permettant de créer nos propres modèles, les optimiser et les tester pour les rendre éventuellement disponibles pour une exploitation dans un environnement de production ;
-
celles permettant une consommation simple de modèles existants et mis à disposition via des API spécifiques.
1. Librairies de création de modèles
Parmi les librairies existantes, nous en retiendrons seulement deux qui se distinguent par leur fiabilité et leur complétude.
a. PHP-ML
Initiée par Arkadiusz Kondas en 2016, cette librairie est la plus ancienne. Simple d’utilisation, elle implémente les algorithmes de base de Machine Learning, y compris ceux de classification, de régression, de clustering et de filtrage. Elle permet aussi la préparation des données et les manipulations statistiques. Elle souffre cependant de manques dans la variété d’algorithmes et ses mises à jour s’espacent de plus en plus avec une communauté qui a du mal à s’accroître.
b. Rubix ML
Lancée par Andrew DalPino en 2019, elle est conçue pour effectuer, en plus des tâches proposées par PHP-ML, des fonctionnalités plus avancées avec davantage de performances et de flexibilité. Elle met l’accent...
Configurer l’environnement de développement pour PHP
Il est fondamental d’avoir un environnement de développement local fonctionnel pour tester notre code efficacement. La première étape fondamentale est l’installation d’un serveur web local.
1. Serveur web et PHP 7.4
PHP étant un langage interprété via un serveur web, la première condition nécessaire est d’installer un serveur web local (Apache ou Nginx). Il faudra l’équiper de PHP en version 7.4 au minimum pour pouvoir correctement utiliser la librairie Rubix ML.
Chaque système d’exploitation ayant ses spécificités, et leur découverte n’étant pas la vocation première de cet ouvrage, nous n’irons pas dans les détails de chacun d’entre eux. Nous allons lister ci-après quelques conseils à suivre pour chaque système.
a. Windows
Plusieurs utilitaires sont à disposition sur Windows pour installer un serveur web Apache ou Nginx équipé de PHP. Vous pouvez vous diriger vers des solutions comme Laragon ou XAMPP qui sont simples d’utilisation et rapidement opérationnelles.
b. Linux
Selon votre distribution, vous trouverez aisément sur Internet des guides contenant les commandes à entrer dans votre terminal pour installer un environnement LAMP. Identifiez votre gestionnaire de paquets...