C'est pas ultra évident comme exercice, il y a plusieurs méthodes.
Tu peux par exemple obtenir le document de ta page dans une <iframe id="iframe" src="index.html"></iframe> en récupérant son contenu HTML puis en le convertissant en texte brut comme ceci :
const iframe = document.getElementById('iframe');
iframe.addEventListener('load', function() {
const documentElement = this.contentWindow.document.documentElement;
const html = documentElement.outerHTML;
documentElement.innerHTML = '';
documentElement.appendChild(document.createTextNode(html));
});
Néanmoins avec ça tu auras juste le contenu de la balise html et non le code source en entier (il manque le <!DOCTYPE html> notamment).
Une autre méthode consisterait à utiliser l'API Fetch afin d'accéder directement au fichier via :
const iframe = document.getElementById('iframe');
fetch('index.html')
.then(response => response.text())
.then(data => iframe.contentWindow.document.body.appendChild(document.createTextNode(data)));
Par contre cette fois il ne faut pas spécifier d'attribut src dans l'iframe