Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

C'est quoi, un programme ?

19 réponses
Avatar
MCI \(ex do ré Mi chel la si do\) [MVP]
*** Copie d'un message d'un autre newsgroup, mais qui me semble
intéressant ***
--------------------------------------------------------------------------------



Re !

Tout ça (message précédent) m'a amené à réfléchir à la question
(essentielle) : qu'est-ce qu'un programme ?

Et la réponse est tout, sauf simple.

Au départ, c'est un ensemble d'instructions. Que l'on peut enregistrer
dans un fichier. Mais, cela peut être, aussi, plusieurs ensembles
d'instructions, qui peuvent être enregistrés dans plusieurs fichiers.

De plus, qu'est-ce qu'une instruction ? C'est un ordre, envoyé à ... à
un équipement (OS, ou matériel, par exemple), ou à un autre programme,
ou à une autre couche de programmation. Par exemple, l'instruction
VBscript wscript.echo va envoyer un ordre à wscript, qui est un autre
programme, le moteur de script, composant additionnel (facultatif mais
utile) de Windows.

Si on en revient au fil, on se rend compte de la difficulté à identifier
un programme, tel que Internet-Explorer.

En effet, qu'est "Internet-Explorer" ? Certes, c'est le nom d'un
programme. Mais, comment l'identifier ? Le premier réflexe est
d'utiliser le processus qui permet de le lancer (iexplore.exe). Mais, il
y en a d'autres ; par exemple mshta.exe. Et, rien n'empêche de le
renommer (en réalité, c'est difficile).

Le cas mshta.exe est intéressant. Si on lance: %WINDIR%\mshta.exe
http://google.fr
On va bien naviguer sur Google, de manière pleinement fonctionnelle. Et
pourtant, pas de trace du processus iexplore.exe, dans le gestionnaire
de taches. Il n'est d'ailleurs pas identifié par les scripts pistant
shell.application.
Or, nul doute que les composants d'Internet-Explorer, nécessaires à la
navigation, sont bien en cours d'exécution ; y compris un interface
actif.

Alors, Internet-Explorer ou non ? Cette question devrait titiller
beaucoup d'administrateurs.

Mais, je n'ai pas la réponse, car, finalement, après ces réflexions, hé
bien... je ne sais plus ce qu'est un programme ;-)

@-salutations
--
Michel Claveau

10 réponses

1 2
Avatar
MCI \(ex do ré Mi chel la si do\) [MVP]
Oups !
C'est %WINDIR%system32mshta.exe
Désolé.
Avatar
Le Claude
Salut,

Qui a écrit tout ça ? Il serait bon en tous cas dans une campagne
électorale pour écrire des tracts, des programmes, des professions de foi,
etc... où le but de la manouvre est de parler (ou d'écrire) pour ne rien
dire en sachant que personne ne croira ce qui dit et écrit.
--
Amicalement, Claude.

Claude CHARNEAU MVP-Shell/User.

La fé sens òbras, mòrta es.


"MCI (ex do ré Mi chel la si do) [MVP]" a
écrit dans le message de groupe de discussion :
ee3#
*** Copie d'un message d'un autre newsgroup, mais qui me semble
intéressant ***
--------------------------------------------------------------------------------



Re !

Tout ça (message précédent) m'a amené à réfléchir à la question
(essentielle) : qu'est-ce qu'un programme ?

Et la réponse est tout, sauf simple.

Au départ, c'est un ensemble d'instructions. Que l'on peut enregistrer
dans un fichier. Mais, cela peut être, aussi, plusieurs ensembles
d'instructions, qui peuvent être enregistrés dans plusieurs fichiers.

De plus, qu'est-ce qu'une instruction ? C'est un ordre, envoyé à ... à
un équipement (OS, ou matériel, par exemple), ou à un autre programme, ou
à une autre couche de programmation. Par exemple, l'instruction VBscript
wscript.echo va envoyer un ordre à wscript, qui est un autre programme, le
moteur de script, composant additionnel (facultatif mais utile) de
Windows.

Si on en revient au fil, on se rend compte de la difficulté à identifier
un programme, tel que Internet-Explorer.

En effet, qu'est "Internet-Explorer" ? Certes, c'est le nom d'un
programme. Mais, comment l'identifier ? Le premier réflexe est d'utiliser
le processus qui permet de le lancer (iexplore.exe). Mais, il y en a
d'autres ; par exemple mshta.exe. Et, rien n'empêche de le renommer (en
réalité, c'est difficile).

Le cas mshta.exe est intéressant. Si on lance: %WINDIR%mshta.exe
http://google.fr
On va bien naviguer sur Google, de manière pleinement fonctionnelle. Et
pourtant, pas de trace du processus iexplore.exe, dans le gestionnaire de
taches. Il n'est d'ailleurs pas identifié par les scripts pistant
shell.application.
Or, nul doute que les composants d'Internet-Explorer, nécessaires à la
navigation, sont bien en cours d'exécution ; y compris un interface actif.

Alors, Internet-Explorer ou non ? Cette question devrait titiller
beaucoup d'administrateurs.

Mais, je n'ai pas la réponse, car, finalement, après ces réflexions, hé
bien... je ne sais plus ce qu'est un programme ;-)

@-salutations
--
Michel Claveau




Avatar
MCI \(ex do ré Mi chel la si do\) [MVP]
Salut !

Qui a écrit tout ça ?


Ben, c'est moi.
C'était dans le fil d'un newsgroup, où quelqu'un cherchait à savoir
quelles sont les instances d'Internet-Explorer en fonctionnement, et sur
quels sites Internet.
Plusieurs réponses ont été proposées, en PowerShell, VBscript, et
Python. Mais chacune avec des limites, ou des manques. ces limites et
ces manques proviennent de la difficulté à identifier Internet-Explorer
par script.

Voilà, pour te re-situer le message.

@+
--
MCI

Avatar
Christele
Il suffit d' étre vrais programmeur pour répondre a cette question,
chaque chose a un nom précis, et a ce sujet il faut distinguer en
permanence:

1) le code est l'élément d'ordre élémentaire il est binaire 1/0 c' est un
morceau d' assembleur
plus ou moins élaboré

2) le programme est le code de départ de toute application.

3) comme le dit (mal) ce message, ce code de lancement "programme" peut
appeler des
morceaux de code communs a plusieurs applications comme ceux de
comctl32.dll etc ...

4) le code de départ peut étre caché dans un autre programme qui le lance a
son insus,
c' est par exemple le cas des virus !

Voila pour éclairer le débat !
Avatar
Christele
Si tu édites en assembleur (hexadécimal) iexploreur tu y trouvera en clair
toutes les DLL's appelées ....

Du reste bien des modules remplaçant internet exploreur, font appelles aux
API des dll's de internet ;-)
Avatar
Le Claude
Re

Alors là tu m'épates...-:))) (Comme disait De Funès dans le Corniaud)

--
Amicalement, Claude.

Claude CHARNEAU MVP-Shell/User.

La fé sens òbras, mòrta es.


"MCI (ex do ré Mi chel la si do) [MVP]" a
écrit dans le message de groupe de discussion :

Salut !

Qui a écrit tout ça ?


Ben, c'est moi.
C'était dans le fil d'un newsgroup, où quelqu'un cherchait à savoir
quelles sont les instances d'Internet-Explorer en fonctionnement, et sur
quels sites Internet.
Plusieurs réponses ont été proposées, en PowerShell, VBscript, et Python.
Mais chacune avec des limites, ou des manques. ces limites et ces manques
proviennent de la difficulté à identifier Internet-Explorer par script.

Voilà, pour te re-situer le message.

@+
--
MCI




Avatar
Gauloisir
Salut,

Compliqué ton explication

Gauloisir

"MCI (ex do ré Mi chel la si do) [MVP]" a
écrit dans le message de news:ee3%
*** Copie d'un message d'un autre newsgroup, mais qui me semble
intéressant ***
--------------------------------------------------------------------------------



Re !

Tout ça (message précédent) m'a amené à réfléchir à la question
(essentielle) : qu'est-ce qu'un programme ?

Et la réponse est tout, sauf simple.

Au départ, c'est un ensemble d'instructions. Que l'on peut enregistrer
dans un fichier. Mais, cela peut être, aussi, plusieurs ensembles
d'instructions, qui peuvent être enregistrés dans plusieurs fichiers.

De plus, qu'est-ce qu'une instruction ? C'est un ordre, envoyé à ... à
un équipement (OS, ou matériel, par exemple), ou à un autre programme, ou
à une autre couche de programmation. Par exemple, l'instruction VBscript
wscript.echo va envoyer un ordre à wscript, qui est un autre programme, le
moteur de script, composant additionnel (facultatif mais utile) de
Windows.

Si on en revient au fil, on se rend compte de la difficulté à identifier
un programme, tel que Internet-Explorer.

En effet, qu'est "Internet-Explorer" ? Certes, c'est le nom d'un
programme. Mais, comment l'identifier ? Le premier réflexe est d'utiliser
le processus qui permet de le lancer (iexplore.exe). Mais, il y en a
d'autres ; par exemple mshta.exe. Et, rien n'empêche de le renommer (en
réalité, c'est difficile).

Le cas mshta.exe est intéressant. Si on lance: %WINDIR%mshta.exe
http://google.fr
On va bien naviguer sur Google, de manière pleinement fonctionnelle. Et
pourtant, pas de trace du processus iexplore.exe, dans le gestionnaire de
taches. Il n'est d'ailleurs pas identifié par les scripts pistant
shell.application.
Or, nul doute que les composants d'Internet-Explorer, nécessaires à la
navigation, sont bien en cours d'exécution ; y compris un interface actif.

Alors, Internet-Explorer ou non ? Cette question devrait titiller
beaucoup d'administrateurs.

Mais, je n'ai pas la réponse, car, finalement, après ces réflexions, hé
bien... je ne sais plus ce qu'est un programme ;-)

@-salutations
--
Michel Claveau




Avatar
MCI \(ex do ré Mi chel la si do\) [MVP]
Salut !

J'ai des avis plus nuancés, et qui diffèrent quelque peu.

1) le code est l'élément d'ordre élémentaire il est binaire 1/0 c' est
un morceau d' assembleur plus ou moins élaboré


D'abord, un aparté : "élément d'ordre élémentaire" ; ne serait pas un
petit pléonasme ?

Ensuite, la partie la plus élémentaire n'est pas codée ; c'est la seule
qui est en binaire, et c'est sur elle que l'on travaille, lorsqu'on
programme "aux clefs".
Un assembleur c'est essentiellement un traducteur, du code vers le
binaire. Dès lors, le code n'est pas le niveau le plus élémentaire, mais
une couche d'abstraction supplémentaire.


2) le programme est le code de départ de toute application.


Je reste très dubitatif sur cette phrase. Elle pose plein de questions

Car, qu'est-ce que le "code de départ d'une application" ? Si je prend
le cas d'une comptabilité (application courante). On peut démarrer par
la gestion des comptes, ou par la saisie d'une écriture, ou par le
calcul d'une balance, ou par un menu permettant de choisir une
fonctionnalité.

Dans ce cas, on a plusieurs "codes de départ" différents, pour la même
application. Pourtant, c'est le même programme.

Autre chose ; dans la cas d'un langage compilé, le "code" a été traduit
en binaire. Le programme ne correspond donc plus à du code.

Et encore, dans le cas de langages utilisant des "machines" ou de
"run-time", le programme peut effectivement être assimilé au
code-source. Mais peut alors être non-identifiable dans l'OS (dans
Windows). Par exemple, plusieurs programmes en Ruby ne seront identifiés
que par le processus "ruby.exe". C'est pareil pour Python, pour un
programme en VBA dans Excel.
Pire, un programme en Jscript peut tourner aussi bien dans
Interne-Explorer que dans MSHTA, ou encore cscript. Le même programme
pouvant avoir trois identités différentes !
Et, on oublie les programmes auto-modifiables. Si un programme est
identifié par son code, lorsque le code change durant l'exécution,
est-ce toujours le même programme ? (autre aparté : si ça
t'intéresse, je présente, le 17 mai au PyCon, PLUIE, un GUI
automodifiable, basé sur IE+Python+JScript).


@+

Michel Claveau

Avatar
MCI \(ex do ré Mi chel la si do\) [MVP]
Alors là tu m'épates


...de lapin ?

Mon métier de base, c'est quand même développeur. Je passe mon temps à
écrire des programmes et des scripts. Dans trois domaines : la gestion
(ce qui me fait vivre), l'administration (utile chez beaucoup de
clients), des outils de développement "spéciaux" (mon préféré).

@+

Michel Claveau

Avatar
Gauloisir
Salut,

Tu es informaticien, c'est bien là le problème pour expliquer ce qu'est un
programme.

Gauloisir

"MCI (ex do ré Mi chel la si do) [MVP]" a
écrit dans le message de news:

Alors là tu m'épates


...de lapin ?

Mon métier de base, c'est quand même développeur. Je passe mon temps à
écrire des programmes et des scripts. Dans trois domaines : la gestion
(ce qui me fait vivre), l'administration (utile chez beaucoup de clients),
des outils de développement "spéciaux" (mon préféré).

@+

Michel Claveau





1 2