Lancement de code C# en php

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour à tous,

avant de me lancer dans un projet que je veux modeste pour en sortir une première version, je me pose évidemment quelques questions de base.

Ayant conscience que ma question ne concerne pas seulement Drupal, mais l'architecture que devrait prendre le site en question, je tiens à m'excuser par avance si l'endroit est mal choisi.

Imaginons que je veuille mettre en place un site de jeu en ligne, où les joueurs peuvent choisir un déplacement par jour sur un échiquier par exemple.

J'aurai besoin d'une base de donnée pour stocker les paramètres statiques que ces joueurs. Certains de ces paramètres seront directement modifiables via le site (et directement modifiés par des requêtes php).

Mais supposons que certains update de paramètres demandent un travail intensif et lourd sur la base de donnée, dont le code serait géré en externe dans un programme en C# (par exemple, car c'est le langage que j'utilise en général). Existe il un moyen de lancer l'exécution de ce traitement en php (ie, le php demande au prog en C# de traiter l'update), puis de récupérer la main pour en afficher les conclusions?

J'espère avoir été assez clair, et je vous remercie d'avance pour votre aide.
Bonne fin de semaine à tous,

PLX

A priori, je ne vois pas pourquoi php ne pourrait pas appeler un exécutable par le shell et récupérer ses sorties (http://www.php.net/system).

Je ne connais pas c#, mais c'est du compilé non ? Enfin, ça peut l'être il me semble.

Ceci dit, je ne sais pas quelle quantité exacte de travail tu vas demander à la BD, mais il doit bien y avoir moyen de se passer de C# non ? Par exemple en faisant des procédures stockées ?

Sauf besoin spécifique et impératif pour la gestion de la BDD, j'aurais plutôt tendance à écarter aussi l'idée d'une gestion avec C# car c'est quand même très loin des langages web.

Pourquoi ne pas faire les tâches de gestion de la base de donnée en cron via php pendant la nuit ? Cela n'est pas faisable dans le cadre de votre projet ?

Cordialement

Guillaume Truttmann

FirstMove - Communication Services
www.firstmove.fr

Tout d'abord merci pour vos réponses.

Informaticien amateur, j'utilise .NET dans le cadre de mon travail depuis quelques années, et j'ai commencé le PHP pour le plaisir il y a une année tout au plus. Il me semblait donc plus facile de construire en C# pour ensuite n'avoir qu'à mettre en page.

De plus, dans le cadre d'un jeu, je pensais concevable que le traitement de l'information (calculs sur base) soit dissocié de la récupération de l'information (site web).

Dernier point, n'étant pas familier avec DRUPAL, je ne vois pas encore comment inclure du code PHP spécifique pour mettre en place des actions spécifiques (débutants, débutants!).

Il serait intéressant que tu précises la nature des calculs en question.

Si il s'agit d'algorithmes de "réflexion" complexes, avec appels récursifs et parcours de gros tableaux, il peut être plus pertinent d'avoir quelque chose en langage compilé, bien plus rapide et moins gourmand en ressources.

Dans presque tous les autres cas, les difficultés de maintenance et de mise en oeuvre parlent en défaveur de cette solution.

Pour ajouter du code à Drupal il faut créer un module et de familiariser avec l'API. Il fait faire un effort, mais pas plus grand que pour s'habituer aux bizarreries des produits Microsoft.

Ta démarche ne manque pas de logique, mais elle va te donner des contraintes énormes. Et tu te prives de la compatibilité de ton code avec les technos web, de la modularité de Drupal, et de tout un tas d'autres choses passionnantes et utiles.

Ceci étant pour le moment, et nous manquons peut être un peu d'informations sur le contenu global du projet, mais je ne vois pas trop l'intérêt d'utiliser Drupal pour le projet pour le moment.

Un bon vieux site développé directement en php me semble plus efficace non ?