Disclosed is a method for encoding a source message via a symbol frame, the source message containing a first number (l) of initial variables (x0, x1,…,xl-1), each initial variable being discrete and taking values among a finite set (F), the method comprising the steps of: - determining a second number (k) of relative variables (y0, y1,…, yk-1) expressed by a change of variable using the initial variables (x0, x1,…,xl-1), - encoding the relative variables (y0, y1,…, yk-1) using a predefined coding matrix (G), said encoding resulting in a third number (n) of coded relative variables (z0, z1,…, zn-1), the third number (n) being greater than the second number (k), - determining a fourth number (m) of coded absolute variables (c0, c1,…, cm-1) expressed by the change of variable using the coded relative variables (z0, z1,…, zn-1), and in which the symbol frame contains said coded absolute variables (c0, c1,…, cm-1).