- Orienté objet
- Avec une gestion des exceptions. C'est plus pratique
- Facile de faire des callback dans les méthodes d'une classe
- Facile de lui donner une bibliothèque écrite en C pour l'utiliser dans le script
- Sécurisé: on doit pouvoir limiter les fonctionnalités (écriture dans un fichier par exemple). Les scripts seront téléchargés depuis Internet.
Le problème avec python c'est au niveau sécurité: rexec est désactivé. PHP n'est pas adapté car concu pour des pages web et pas de gestion des exceptions.
Merci
Mildred
PS: pourquoi ni [p] ni [br /] ni les entitées ne sont autorisées ?
# Re:
Posté par kd . Évalué à 3.
De plus, il me semble bien que la dernière mouture PHP 5 supporte les exceptions.
- Du shell-scripting. Puissant mais c'est de la bidouille, et je ne pense pas que ça réponde à tes besoind de programmation objet et de sécurité.
Je ne connais personnellement que ces deux langages de scripts.
Mais as-tu pensé à Perl ou encore à Tcl ?
Sinon, je ne t'encouragerai que trop à jeter un coup d'oeil à la puissance d'un langage tel que OCaml, même si ce n'est pas vraiment un langage de script, bien qu'il puisse un peu s'utiliser comme tel.
Sinon, je pense que la contrainte la plus difficile est la sécurité. Je ne crois pas qu'il existe un langage permettant de supprimer facilement certaines commandes.
PHP, lui permet de supprimer l'accès à certaines fonctions, parce que c'est justement à la base conçu pour les serveurs web, et donc c'est un minimum sécurisé. Mais ces limitations restent limités à justement la lecture ou l'écriture de fichiers.
[^] # Re: Re:
Posté par Cali_Mero . Évalué à 4.
http://fr2.php.net/manual/fr/language.exceptions.php(...)
[^] # Re: Re:
Posté par Mildred (site web personnel) . Évalué à 1.
Je vais peut être me réconcilier avec le PHP. Surtout que je connaît très bien ce language.
Dans mes fonctions par exemple, j'utilise trigger_error() mais pas moyen alors de savoir où la fonction a été appelée.
Donc re-merci
# Et pourtant...
Posté par Thomas Hervé . Évalué à 4.
La solution vers laquelle je tendrais serait une solution système : utilisation d'une prison type chroot, d'un utilisateur sans privilège. Eventuellement tu peux réduire à la main l'utilisation de commande dans le script (avec un peu de parsage par exemple). Si tu veux aller plus loin, il faut voir du côté de l'interpréteur (pourquoi pas jython avec une machine virtuelle bridée ?).
Même si tu trouves un langage qui offre une solution de "restricted environnement", je te conseille d'avoir une solution système fiable derrière. SI ta solution est stable n'importe quel langage fera l'affaire.
--
Thomas
[^] # Re: Et pourtant...
Posté par Pinaraf . Évalué à 2.
Exemple (dans ipython :)
In [1]: open = None
In [2]: fic = open("test.txt")
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/home/suse/<console>
TypeError: 'NoneType' object is not callable
Bref, tu peux supprimer l'accès à n'importe quelle fonction !
Tu peux aussi brider la librairie de modules (sys.path...) et plein d'autres trucs !
[^] # Re: Et pourtant...
Posté par Mildred (site web personnel) . Évalué à 1.
Mais je vais peut être fouiller un peu plus loin dans cette direction. Surtout que j'aimme bien python, c'est joli, facile a utiliser, orienté objet comme il faut ...
# et ruby ?
Posté par Paul . Évalué à 5.
http://www.ruby-lang.org/en/(...)
[^] # Re: et ruby ?
Posté par Mildred (site web personnel) . Évalué à 1.
Je dois dire que j'ai un peu regardé mais la syntaxe ne me plaisait pas trop. Je préfère l'indentation style python ou les acilades plutot que les mots-clefs "end".
Mais je regarderait peut être un peu plus si j'ai le temps
[^] # Re: et ruby ?
Posté par Bruno Michel (site web personnel) . Évalué à 3.
http://www.rubycentral.com/book/taint.html(...)
http://www.rubygarden.org/ruby?UsingRubyWithOtherLanguages(...)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.