Bonjour Charles !
La solution la plus facile à utiliser est de le faire avec flexbox.
<div id="page">
<div id="header"></div>
<div id="content"></div>
<div id="footer"></div>
</div>
#page {
min-height:100vh; /* 1 */
display:flex; /* 2 */
flex-direction:column; /* 3 */
}
#content {
flex-grow:1; /* 4 */
}