Pour le premier cas on peut redéfinir `\maketitle`. Avec `\rule` qui dessine en fait un rectangle dont on peut définir l'épaisseur (1pt), la largeur (de la taille de la largeur du texte `\textwidth`) et caler la position verticalement avec l'option si on le désire. On peut aussi prendre pour les ligne une fraction de la largeur du texte en multipliant `\textwidth` par un nombre plus petit que 1 (`\rule[0pt]{0.5\textwidth}{1pt}\par`)
\documentclass{article}
\usepackage{lipsum}
\makeatletter
\def\maketitle{%
\begin{center}\leavevmode
\normalfont
\rule[0pt]{\textwidth}{1pt}\par
{\LARGE \@title\par}%
{\Large \@author\par}%
{\Large \@date\par}%
\rule[0pt]{\textwidth}{1pt}\par
\end{center}%
}
\makeatother
\title{Création de page web}
\author{}
\date{}
\begin{document}
\maketitle
\lipsum[1-2]
\end{document}
<img src="/upfiles/Titre_avec_lignes.png" style="width: 70%;"/><br><br>
85%;"/><br><br>
[1]: https://texnique.fr/osqa/upfiles/Titre_avec_lignes.png