With your modification the error still there but you lead me to right direction !
My error was crazy… In the loop over the convs in the forward :
for c in self.convs_mod:
            nf = c(data.x, data.edge_index, data.edge_attr)
            convs.append(nf)

I’m using data.XXX instead of the result (nf in my case). And you have to know that the first conv take 1 feature in input per node, but there 4 features in output. And the second conv take obviously 4 inputs.
Here is my modification :
def forward(self, data):
        convs = []
        nf = data.x
        edge_attr = data.edge_attr
        edge_index = data.edge_index
        for c in self.convs_mod:
            nf = c(nf, edge_index, edge_attr)
            convs.append(nf)

And now the forward works well !
Thanks a lot to lead me to my mistake.