...not sure i got it
the sender is responsible to make the signature? if so, is it "his" responsibility to generate the signature?
The PubKeyHash is the pubkeyhash of the receiver. You don't need to know or care about if they used a compressed or uncompressed pubkey because you aren't "sending" coins to the PubKey you are sending it to the PubKeyHash. The output of the transaction will contain the receiver's pubkeyhash, you don't need to know more than that.
As for the question of if your PubKey(s) for a particular transactions are compressed or uncompressed, that depends on the wallet which originally created them and which form it used. The wallet should store the PubKey in the correct format. When importing a private key you create the correct PubKey format depending on the flag in the private key. The WIF for private keys has a "flag" to allow you to identify if the PubKey should be compressed or uncompressed. If they key was originally a compressed PubKey then you will recreate a compressed PubKey and if it was originally an uncompressed one, you will recreate an uncompressed one.
As pointed out above originally uncompressed pubkeys were used. There is absolutely no reason that was done other than Satoshi probably was not aware of compressed pubkeys. There is no advantage to Uncompressed PubKeys and they make the wallet, transactions, blocks, and logs larger for no benefit. Today any competent wallet designer should make all
NEW keypairs compressed. A competent wallet designer however needs to consider that a user may important EXISTING key and that key may use an uncompressed PubKey so it needs to handle both formats. Any wallet today creating new uncompressed pubkeys has a developer who is either uninformed or lazy.
All of this is far below the level of an end users. Unless you are designing a wallet/client you should never need to make this determination. If you are designing a wallet your line of questions would indicate you need to stop NOW and do more research.