Это зависит полностью от Вас, как от главного проектировщика приложения и от программиста.
Можно и в одном файле всё разместить, можно три или четыре - как запланируете, так и будет.
Вот пример с использованием Вашей схемы (хотя я бы сделал немного по другому - подробнее расскажу ниже)
файл page1.html (расширение файла ЛЮБОЕ, какое ваш сервер скушает и отдаст клиенту (хоть HTML, хоть PHP)
<!DOCTYPE html>
<html lang="en">
<head>
<title>AJAX Simple Example</title>
<meta charset="utf-8">
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>
<div id="test"></div>
</body>
<script>
function test(){
$.post( "index1.php", function( data ) {
$( "#test" ).html( data );
});
}
test();
setInterval(test,2000);
</script>
</html>
файл index1.php
<?php
$username = date('Y-m-d H:i:s:ms', time()); // "Пётр"; //Будем считать что это взято и БД
$user_panel = file_get_contents("index1.tpl");
$user_panel = str_replace("{username}", $username, $user_panel);
echo $user_panel;
?>
файл index1.tpl
<div>
<p>Здравствуйте, <b>{username}</b>!</p>
</div>
P.S. я бы сделал отдельный PHP файл, который возвращал исключительно ту информацию, которую на странице нужно обновить (нам совсем не нужны все эти элементы разметки, < div >, "Здравствуйте, теги < b > и прочее, если у нас меняется только имя пользователя, например, как в данном примере.
Но для этого, конечно, нужно изменить разметку - тому элементу, который нужно менять, нужно дать какой-нибудь аттрибут, по которому его можно найти в DOM и изменить. Проще всего, конечно, ID
Думаю, что это очевидно и просто, но если есть вопросы - покажу на примере.