user51005: From my understanding, you simply need to use a SHA256 function to hash the block's header (Block hash and merkle root) then add the nonce at the end like this article explains. 
However, I can't manage to get the correct next block hash.
By using the block #505400 :
Hash : 00000000000000000023b89dd18f6be5a6c03a71cd864ccbdf024683114b9ce3
Merkle root :  a3defcaa713d267eacab786c4cc9c0df895d8ac02066df6c84c7aec437ae17ae
Nonce : 2816816696
Next block hash : 0000000000000000007625ff74171cf53e301c3e5013bf2184e2629a2da0fc8d
What I am expecting : sha256(Hash + Merkle Root + Nonce) = Next Block Hash
However I get this : 10345cb85ffed406a47e1faf31eb8ba1160aac0fbaae3cae0cd66889f9c9f49e
What did I do wrong?

user51948: That isn't the way a block header is created. The block header is constructed as 

the version
the hash of the previous block
the merkle root
the timestamp
the nBits field
and the nonce.

Once serialized in bytes, the header is hashed twice with SHA256 not just once.
A common mistake is to hash the string of hex representation of the bytes, you must hash the bytes themselves.
See here for more info: https://en.bitcoin.it/wiki/Block_hashing_algorithm
The hash is the hash of that block. It does not give the hash of the next block following it, there is no way to know what the next block hash will be and there are many possible hashes it could be.

51005: <p>From my understanding, you simply need to use a SHA256 function to hash the block's header (Block hash and merkle root) then add the nonce at the end like <a href="https://chrispacia.wordpress.com/2013/09/02/bitcoin-mining-explained-like-youre-five-part-2-mechanics/" rel="nofollow noreferrer">this article explains</a>. </p>

<p>However, I can't manage to get the correct next block hash.
By using the block <a href="https://blockchain.info/block-height/505400" rel="nofollow noreferrer">#505400</a> :</p>

<p><code>Hash : 00000000000000000023b89dd18f6be5a6c03a71cd864ccbdf024683114b9ce3</code></p>

<p><code>Merkle root :  a3defcaa713d267eacab786c4cc9c0df895d8ac02066df6c84c7aec437ae17ae</code></p>

<p><code>Nonce : 2816816696</code></p>

<p><code>Next block hash : 0000000000000000007625ff74171cf53e301c3e5013bf2184e2629a2da0fc8d</code></p>

<p>What I am expecting : sha256(Hash + Merkle Root + Nonce) = Next Block Hash</p>

<p>However I get this : <code>10345cb85ffed406a47e1faf31eb8ba1160aac0fbaae3cae0cd66889f9c9f49e</code></p>

<p>What did I do wrong?</p>
 51948: <p>That isn't the way a block header is created. The block header is constructed as </p>

<ol>
<li>the version</li>
<li>the hash of the previous block</li>
<li>the merkle root</li>
<li>the timestamp</li>
<li>the nBits field</li>
<li>and the nonce.</li>
</ol>

<p>Once serialized in bytes, <strong>the header is hashed twice</strong> with SHA256 not just once.</p>

<p>A common mistake is to hash the string of hex representation of the bytes, <strong>you must hash the bytes themselves</strong>.</p>

<p>See here for more info: <a href="https://en.bitcoin.it/wiki/Block_hashing_algorithm" rel="nofollow noreferrer">https://en.bitcoin.it/wiki/Block_hashing_algorithm</a></p>

<p>The hash is the hash of <em>that block</em>. It does <em>not</em> give the hash of the next block following it, <strong>there is no way to know what the next block hash will be</strong> and there are many possible hashes it could be.</p>
