Once I've heard a teacher saying never to pronounce the letter "T" with the sound "T", start with the sound "D" [in English]. So she said we should say [di], but not [ti].
But when I listen to the books, I've heard the French people start with "T", so I wonder, who is right?
The same as above. Which sound should I start with? Sound "P" or sound "B"?
But right out of the box, I'd say there is some missing information because T should be pronounced as "Tay", and P as "Pay".
It makes sense from a Chinese teacher. The pinyin t is stronger than the French t.
But the pinyin d is somewhere between the French t and French d. I often hear the Chinese render the French t too softly.
The difference between French t and d is less in the mouth than in the throat. The d sound makes use of the vocal folds, whilst the t sound does not.
Neither of them have a strongly aspirated h like the pinyin t (or even the English t, hence the remark from your teacher I guess).
So it's not as simple as making a one-to-one map with Chinese sounds. What you hear as a Chinese native speaker is something between your pinyin t and d sounds in both cases, and it's hard for you to make the difference. I used to teach Chinese people to make the difference by placing a finger along your throat, and try to pronounce t and d. When you feel the vocal folds vibrating a lot, that's a French d. When you don't, that's a French t.
As a side note, it's better to make a strong difference between your t's and d's in French, because the understanding is less easy when t's and d's all sound like d's. :) I'd advise to make the French t's as a gentle and soft pinyin t (with lower aspiration than usual), and pronounce French d's like a pinyin d while paying attention to make the vocal folds vibrate.
The same distinction applies to the difference between p and b.
To supplement Subtenante's answer, read about voice onset time.
To summarize: Humans can pronounce a wide spectrum of (dental or alveolar stop) consonants, ranging from points with strong voicing (French "di") to points with strong aspiration (English "tea", or perhaps Korean is stronger). Most languages only contrast 2 points on this spectrum, usually called d and t, but the d and t in one language are different than in another.
"Who is right?"
I would say the French people are right... :-P
Right now, out of the blue, I fail to see examples of pronouncing T as DT or P as B.
In some cases, often when pronouncing foreign words, we can change sounds from what seems to be natural to a French.
I am thinking of "chat" in the sense of chatting, pronounced (and sometime written) tchat, to distinguish from the "cat" sense.
Another example is "Magick", pronounced "madjick".