Malvira

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

  1. Dossier du projet : Créez un dossier nommé Malvira.
  2. Fichiers PHP : Créez les fichiers index.phpprocess.php, et ProcessHandler.php dans le dossier Malvira.
  3. Script Python : Créez un fichier sympy_api.py dans le dossier Malvira 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

  1. Démarrer votre serveur local : Assurez-vous que votre serveur local (XAMPP, WAMP, etc.) est en cours d’exécution.
  2. Accéder à votre projet : Ouvrez votre navigateur et accédez à http://localhost/Malvira (ou l’URL correspondante en fonction de votre configuration).
  3. 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é.