David Carlisle makes a good point about keeping the indentation constant, but if you don't want to do that for whatever reason, this macro does measure the width of the alignment.
This solution gives you a macro \inindent
which when given material with \cr
s properly placed, automatically does the indentation for you.
The material is placed right below the first baseline, and it is probably not actually be centered with respect to the first lines in the paragraph. The macro will also break if the height of the lines don't match up.

\font\rm=ecrm10 \font\bf=ecbx10
\rm
\def\hangpad{.25cm}
\newcount\hangcount
\def\inindent#1{%
\hangcount=0\relax%
\setbox0=\vbox to 0pt{%
\tabskip=0pt plus 1fil\relax%
\everycr={\noalign{\global\advance\hangcount by -1\relax}}%
\halign{\hfil\bf##\hfil\crcr%
#1\crcr
}%
\vss%
}%
\hangindent=\dimexpr\wd0 + \hangpad * 2\relax%
\hangafter=\hangcount%
\noindent\kern-\hangindent\hbox{\kern\hangpad\relax\box0\kern\hangpad\relax}%
}
\inindent{La premiére partie\cr (chap.~1--29)}%
Après avoir donné une brève définition du monde (1,1), Ampélius utilise le rappel de la
théorie des quatre éléments (1,2) comme schéma directeur de l'exposé d'astronomie et de
géographie qui forme la première section de cette première partie\thinspace:
Après avoir donné une brève définition du monde (1,1), Ampélius utilise le rappel de la
théorie des quatre éléments (1,2) comme schéma directeur de l'exposé d'astronomie et de
géographie qui forme la première section de cette première partie\thinspace:
\bye
You can change the amount of padding around the material in the indent with \hangpad
.