Bonjour,

Je souhaite utiliser un programme écrit en C dans un script PHP.
Je sais que je peux compiler le programme C en un exécutable et appeler cet exécutable directement dans le script php.
Mais ce n'est pas très sécurisé et pour passer et récupérer des var, array et autres objets, ce n'est pas très facile.
Je pourrais aussi réécrire le code C en une extension PHP, mais c'est assez complexe.

L'autre option que j'ai trouvée, c'est d'utiliser Swig.
Ca permet d'écrire une interface entre le langage C et d'autres langages, dont le Php, sans (presque) avoir à toucher au code C.
J'ai fait pas mal de recherches, lu la doc Swig et fait des essais, mais n'étant pas un spécialiste du C, je coince.

Je dois envoyer des données au programme C, qui me retourne d'autres données.
Ca donne donc :
PHP ==> C
le code C attend des données sous cette forme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
int,
array[
     int,
     int,
     int,
     int
],
int,
array[
     int,
     int,
     int
],
int,
array[
     int,
     array[
          int,
          int,
          int,
          int],
     int,
     array[
          int,
          int,
          int,
          int]
]
C ==> PHP
Le code C renvoie une structure contenant un string, un entier et un tableau d'entiers.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
{
"toto";
2;
[50,4,100,8];
}
De quoi doit être constituée l'interface Swig pour passer et récupérer les données ?