Is there a documentation somewhere to understand the C++ code of Bitcoin Core (available on Github) "from a to z" and being able to recreate it ?
To understand Bitcoin Core, the best resource is probably the source code itself:
To help understand what is going on in the code, try the developer documentation and the Princeton Bitcoin Book. Keep in mind that the code gets updated faster than the documentation, so the code should be your source of truth.
Some interesting places to start:
https://github.com/bitcoin/bitcoin/blob/master/src/script/interpreter.cpp - this is the source file that contains the code for interpretting script, and therefore checks for transaction validity
https://en.bitcoin.it/wiki/Protocol_documentation - the docs for the network protocol, such as message definitions and data structures
https://bitcoin.org/en/developer-reference#transactions - transaction reference describing the content and construction of transactions
For any clarifications and questions, I highly recommend this very StackExchange site :)
Couple of years ago, i created a few articles on bitcoin core code analysis. It is here: http://embedded-design-vic.blogspot.com/2017/07/bitcoin-core-tutorial-and-source-code.html