I come from small Bitcoin developments.
In Bitcoin, with some libraries (For example BitcoinJS), it's possible create a bitcoin address with a code like this:
var ecKey = bitcoin.ECKey.makeRandom();
var privateKeyWIF = ecKey.toWIF();
var publicKey = ecKey.pub.getAddress(network).toString();
There are a seed (in this case random) that create an Elliptic Curve object. This can provide a private key and a public key.
This private key can be stored, and later can be possible use it again with something like this:
ecKey = bitcoin.ECKey.fromWIF(privateKeyWIF);
This it's reallly cool because a backend APP can provide to each user a unique address and later use it.
But... How I can do something like this in Ethereum?
I'm studing this link: https://github.com/ethereum/go-ethereum/wiki/Managing-your-accounts
Here only there are the idea of accounts, with a passprasse and addresses ( like my old "publicKey")
Where is the private key? How I can reuse this account if I want use in the backend of server application with Web3.js library? Can I export the private key?
An a passphrase it's like a password, or it's like a seed?
There are something like wallets HD?
If I use a simple passphrase, for example "hi", and other person in the world put the same, Both will be obtained the same address?
A custom network id generate different addresses of default network id? For example the same passphrase in two differents networks.
I'm really newbie in Ethereum project, I'm really lost, I have a ton of questions, I don't find clear information and I don't know if my question is stupid, if is it please sorry.