Point me to the right direction please

The EEPROM that you are referring to can hold up to 512 bytes of data. Each byte can have a values between 0 and 255 but a combination of bytes can be used to represent any value that you want

Forget the EEPROM for now. On an AVR processor such as the 328 used on a Uno, an int variable (signed or unsigned) uses 2 bytes, a long (signed or unsigned) uses 4 bytes as does a float.

So, when you save the values to EEPROM you need to take that into account

512 bytes of EEPROM can hold 512 byte variables (of course), or 256 int variables or 128 long or float variables. A single character fits in a single byte so you can store 512 characters in a 512 byte EEPROM

The easiest functions to use to save and retrieve values when working with EEPROM are put() and get() as they handle all the nasty complications of putting the bytes that represent larger values into EEPROM and getting them back again

It is still your responsibility to allow for the space needed for the storage. For instance, you cannot put() an int variable into EEPROM positions 0 and 1 because the byte values that they are made up of will overlap at position 1

As AWOL has pointed out an AVR actually has 1024 bytes of EEPROM available so twice as many variables of any type can be held compared to your example 512 byte EEPROM