le projet en « Malvira » et ajustons les fichiers en conséquence. Voici la structure mise à jour du projet :

Étape 1 : Créer la structure de base du projet
- Dossier du projet : Créez un dossier nommé
Malvira
. - Fichiers PHP : Créez les fichiers
index.php
,process.php
, etProcessHandler.php
dans le dossierMalvira
. - Script Python : Créez un fichier
sympy_api.py
dans le dossierMalvira
avec sympy
Étape 2 : Créer le formulaire dans index.php
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Projet Malvira</title>
</head>
<body>
<h1>Interrogation via SymPy API</h1>
<form action="process.php" method="post">
<label for="query">Entrez votre requête :</label>
<input type="text" id="query" name="query" required>
<button type="submit">Envoyer</button>
</form>
</body>
</html>
Étape 3 : Créer la classe ProcessHandler
dans ProcessHandler.php
<?php
class ProcessHandler {
private $query;
public function __construct($query) {
$this->query = $query;
}
public function processQuery() {
// Appeler le script Python
$command = escapeshellcmd('python sympy_api.py ' . escapeshellarg($this->query));
$output = shell_exec($command);
return $output;
}
}
?>
Étape 4 : Utiliser la classe ProcessHandler
dans process.php
<?php
require 'ProcessHandler.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$query = $_POST['query'];
// Instancier la classe ProcessHandler
$processHandler = new ProcessHandler($query);
// Traiter la requête
$result = $processHandler->processQuery();
// Afficher le résultat
echo '<h2>Résultat :</h2>';
echo '<pre>' . htmlspecialchars($result) . '</pre>';
} else {
echo "Méthode de requête non autorisée.";
}
?>
Étape 5 : Créer le script Python sympy_api.py
import sys
import sympy as sp
def main(query):
try:
# Évaluer l'expression avec SymPy
result = sp.sympify(query)
return str(result)
except Exception as e:
return str(e)
if __name__ == "__main__":
if len(sys.argv) > 1:
query = sys.argv[1]
print(main(query))
else:
print("Aucune requête fournie.
Étape 6 : Tester votre projet
- Démarrer votre serveur local : Assurez-vous que votre serveur local (XAMPP, WAMP, etc.) est en cours d’exécution.
- Accéder à votre projet : Ouvrez votre navigateur et accédez à
http://localhost/Malvira
(ou l’URL correspondante en fonction de votre configuration). - Soumettre une requête : Entrez une requête mathématique dans le formulaire (par exemple,
1+1
) et soumettez-la pour voir le résultat.
Remarques
- Sécurité : Assurez-vous de valider et de sécuriser les entrées utilisateur pour éviter les injections de code malveillant.
- Permissions : Assurez-vous que votre serveur web a les permissions nécessaires pour exécuter des scripts Python.
- Environnement Python : Assurez-vous que Python et SymPy sont installés sur votre serveur et que le chemin vers Python est correctement configuré.