Bonjour,
En un mot comme en cent : nativement ça n'est pas possible !
Par nativement, j'entends sans rien installer sur l'ordinateur hôte (enfin, pour séparer le logiciel et le matériel je devrais dire sans rien installer dans le système d'exploitation de l'ordinateur hôte).
Après en faisant appel à des technologies intermédiaires, il est possible de faire fonctionner le même logiciel sur plusieurs systèmes. Mais pas n'importe quel logiciel !
Premier exemple, la technologie WORA "Write Once, Run Anywhere" autrement dit Java.
Le code est écrit une seule fois, compilé, puis transmis à la machine virtuelle Java pour exécution. Mais ça implique que Java soit installé sur l'hôte ... ou d'inclure des versions portables de Java pour chacun des systèmes cibles, bon courage !
Exemples de logiciels : GeoGebra, PDFSaM
Deuxième exemple, les langages interprétés en choisissant un langage qui existe pour chacun des OS. Au hasard, Python. Mais là aussi il faut que l'interpréteur soit installé ... ou qu'il puisse être distribué en version portable, bon courage encore.
Exemple de logiciel : SynApps le moteur de mises à jour de la Framakey, il est développé sous GNU/Linux par Roromis en utilisant les bibliothèques multi-plateformes GTK+.
Et il tourne sans souci sous Windows.
Troisième exemple, développer le logiciel pour un des 3 OS cités et passer par une surcouche sur les 2 autres OS. Là pour les versions portables de la surcouche j'ai bien peur que ce soit illusoire
C'est le principe décrit par lanpower plus haut : portabiliser des jeux windows et les faire tourner via Wine sous GNU/Linux.
C'est également le principe retenu par Google pour faire tourner Picasa sous Linux. Cette version intègre un moteur wine mais elle nécessite une installation.
L'article wikipédia sur le multiplateforme :
https://fr.wikipedia.org/wiki/Multiplate-forme
Vécu : "J'ai une version crackée d'OpenOffice, c'est pour ça qu'elle est en anglais"