Bonjour à tous
Il revient autant qu'il est critiqué, le SDZ n'a pas fini de faire couler de l'ancre sur ce forum.
Certains, et parmi même les plus éminents forumeurs, parlent des tutos C et C++ comme étant bourrés de fautes. Et pourtant les exemples manquent toujours au rendez-vous
Je n'ai malheureusement pas pris le temps de le lire vraiment en profondeur mais le peu que j'ai pu parcourir ne m'a jamais plus choqué que ça. Le seul reproche qu'on puisse lui faire est d'effectivement trop assister le lecteur qui se croiera alors dans la majorité des cas apte à continuer seul l'apprentissage de programmation et digne d'inscire la ligne C++ sur son CV. Sur le reste je n'ai pas plus d'avis tranché que ça.
Je n'ai pas d'actions chez le SDZ, et bien que mateo ait été mon professeur le temps de quelques rapides TP de C je ne suis pas pour autant chauvin.
J'aimerais juste créer un forum pour mettre au clair les bonnes et mauvaises choses du SDZ, preuve à l'appui cette fois.
Je vais tenter moi aussi de mon côté de relire plus amplement les deux tutos phares avec mon oeil averti de développeur.
"Certains, et parmi même les plus éminents forumeurs, " là je veux des noms !
Parce que bon, même moi qui suis un gros chieur de service, très gros raleur, et jamais content, je dis que la partie sur le C est correcte (pour le C++ j'en sais rien, je n'ai pas lu).
Moi le plus gros reproche que je fais, c'est qu'on nous vend des cours alors que très souvent c'est plus un compte rendu de le la façon dont l'auteur a découvert les choses (ce qui est très intéressant, mais pas forcément à conseiller au même public). D'un certain sens, ça rejoint un peu ce que tu dis, il y a des phrases qui n'ont pas lieu d'être présente dans un cours.
En même temps c'est une pédagogie à la SDZ, ce n'est pas ce qu'on a l'habitude de lire mais ça a l'air de plaire aux utilisateurs, donc pourquoi pas ?
Moi ce que je leur repproche c'est leur sourde oreille, ça fait je sais pas combien de semaine je dis qu'il y a une faute dans un tuto OFFICIEL freebsd et je n'ai reçu ni de réponse de l'auteur, ni par ceux qui gèrent les alertes. Dans la partie wifi il affirme qu'on peut faire fonctionner le wifi avec un driver linux + couche d'émulation.
Enfin si, il a modifié le "fonctionnera sans problème" en "fonctionna."
Le tuto freebsd est fait par un internaute, c'est à l'auteur de s'occuper de son tuto, la faute n'est pas vraiment imputable au site: une fois j'ai fait une ramarque sur un tuto officiel, l'auteur m'a répondu le l'en demain et a corrigé .
Le seul reproche que je leur fait c'est d'officialiser des tutos fait par des internautes à tour de bras alors qu'ils sont parfois à peine entamés et qu'au final leur qualité laisse à désirer =/ ...
Oli-: C'est un peu facile de se dégager de la responsabilité sur le contenu qu'on héberge.
Par ailleurs, un tuto pour FreeBSD n'a rien à faire sur le SDZ. FreeBSD, ça s'apprend par le handbook et les discussions avec les gens de #freebsd-fr sur freenode.
Justement non, il me semblait que Matteo ne voulait pas de tuto d'internaute non vérifié par ses soins/son équipe. C'est pour ça qu'il y a une partie officieuse de tutos.
Oui les tutos officiels sont clairement distingués des non-officiels normalement.
Mes critiques en ce qui concerne les cours de PHP/MySQL.
1- parler du logiciel Mampp sous GNU/Linux. C'est une hérésie d'utiliser ça alors qu'ona des systèmes qui permettent d'installer un serveur web, php et MySql en quelques secondes (cf aptitude).
2- Parler d'include (l'insertion de contenus d'autres pages) sans avoir attaquer la base
3- Dans la partie variables & conditions, ne pas accès les utilisateurs à respecter autant que faire ce peu le typage. Typiquement, ne pas utiliser ce type de codes :
$foo = 5;
$bar = "5";
if($foo == $bar) { ... }
Mais
if($foo === $bar) { ... }
Ce qui implique de passer $bar en un vrai int.
Je parle de ça car bon nombre de bug que j'ai pu voir venaient de bout de code où c'étaient mal utilisé et souvent même sources de failles de sécurités.
4- mauvaise utilisation de certaines fonctions (typiquement : isset).
Je cite :
if (isset($_GET['prenom']) AND isset($_GET['nom']) AND isset($_GET['repeter']))
Devrait être :
if (isset($_GET['prenom'], $_GET['nom'], $_GET['repeter']))
5- injection XSS : il n'en parle même pas dans ma partie ou l'url est utilisée avec des variables passées en paramètres.
6- il ne parle jamais de l'intéret de séparer les traitements et l'affichage. Conclusion : des requêtes au mileu de page web, avec du bordel d'html autour et c'est une très mauvaise pratique pour moi.
7- Php à des fonctions pour tout. Il faut savoir les utiliser. Je cite :
<?php
$monfichier = fopen('fichier.txt', 'r+');
for ($ligne = 1 ; $ligne <= 3 ; $ligne++)
{
$texte = fgets($monfichier);
echo $texte . '<br />';
}
fclose($monfichier);
?>
Basiquement :
$texte = file_get_contents('fichier.txt');
echo nl2br($texte);
8- Encore des trucs débiles, je cite :
"Si vous avez oublié de mettre un CHMOD à 777 sur le fichier compteur.txt, vous aurez l'erreur suivante :
Warning: fopen(compteur.txt): failed to open stream: Permission denied
Ici, PHP essaie de vous dire qu'il n'a pas réussi à ouvrir le fichier car il n'a pas le droit d'écrire dedans. Il faut donc absolument faire ce CHMOD si vous voulez pouvoir toucher au fichier !"
9- MySQL : il attaque sans faire un peu de modélisation. Utilisation de PDO avec les Exception que les mecs utilisent sans savoir comme ça fonctionne.
10- Les classes : il parle d'héritage avant d'aborder les interfaces. Il ne parle même pas des abstract class. Qui plus est, toujours aucune modélisation avant de faire du code.
11- Il n'explique pas comment lire et comprendre les erreurs....Enfin si, à la fin en annexe.
11- Il ne s'appuie pas sur la doc officielle....Enfin si, à la fin en annexe.
Pour finir : il est toujours assez vague, le lecture n'est pas amené à vraiment se creuser la tête (le tp à toujours une solution) et il suffit de voir les forums pour admirer l'impact que ça a : les gens ne savent pas coder.
Selon moi :
Problème tuto JAVA. Attaquer le langage, le décrire, faire joujou avec ET ENSUITE attaquer le paradigme objet.
Pour moi, c'est la théorie objet d'abord, le langage ensuite. Ca permet de se détacher totalement du langage, et de comprendre directement le paradigme objet (au moins dans les grandes lignes), donc tout les langages se greffant plus ou moins dessus seront plus simple à appréhender.
Je reparcours le tuto de C++ du sdz pour repondre a la question.
1/ Pourquoi on melange qt et le c++ ? Je considererais donc que le C++ est seulement la premiere partie du tuto.
2/Ca ne parle que de programmation objet. On parle de C++, pas de C with classes. Ou sont les exceptions et les templates ?
3/La POO est presente comme un remede a l'ecriture de code C non clair ou non documente.
4/Le tuto ne parle pas de namespace, mais dit d'utiliser "using namespace std;" ce qui va probablement foutre un bordel monstre a un moment.
5/certains questionnaire sont faux. On trouve par exemple "Que remplace le symbole endl ?" qui a pour reponse "\n". Alors que ce n'est pas vrai. endl est garanti de faire un retour a la ligne quelquesoit le type de fichier utiliser (donc c'est \r\n sous windows et \r sous mac). Deplus, il flush les flux qui disposent d'un buffer.
6/les references sont introduite sans presenter le probleme des fonctions qui retourne des references. Deplus, les references constante ne sont jamais presentees alors que c'est le cas le plus typique d'utilisation des references.
7/je m'arrete la et j'en suis qu'a la page 3.
Je ne peux que plussoyer godrik et bunyan.
"Certains, et parmi même les plus éminents forumeurs, parlent des tutos C et C++ comme étant bourrés de fautes. Et pourtant les exemples manquent toujours au rendez-vous "
On va dire que je prends pour moi (entre autre) cette attaque. Au moins pour la première partie. Parce que lorsque les cours du sdz sont sortie (ceux de C et de C++) je les ais lu intégralement, j'ai trouvé celui de C correcte mais sans plus et celui de C++ catastrophique, écrit par quelqu'un qui n'avait aucun recule sur ce qu'il enseignait et risquait de _ralentir_ considérablement l'apprentissage de la programmation de quelqu'un qui suivrait ce cours.
Cependant, je m'inscris en faux pour la seconde partie de ta phrase : à l'époque j'ai donné plein d'exemple (quelque part sur le forum). Il est certain que je ne vais pas recommencer à chaque fois que je peste contre ce site (d'ailleurs, même si je me souviens de l'esprit de ce qui m'ennuyait, j'en ai oublié le détail évidemment).
Mais... ce n'était aucunement une attaque.
Ça tombe bien, mon message n'était pas une défense.
Quiproquo pour quiproquo
Le problème avec le Site du zéro c'est qu'au début c'était vraiment communautaire et le créateur du site parlé facilement et directement aux lecteurs via les forum et tout...
Alors que maintenant il y a beaucoup d'étudiant en informatique et les divers tuto et forums sur le mapping on été complètement viré alors que c'est ce qui à lancer le site.
En gros c'est devenus trop "Entreprise" comme site.
Mais tant mieux pour eux
Le tuto JAVA du SDZ laisse vraiment à désirer, mais vraiment ...
Je l'ai lu je crois il y a de ca 2 ans, j'ai vraiment la flemme de refaire un tour pour dire ce qui cloche, mais ceux qui l'ont fait pourront vous dire que, pour un paradigme de programmation assez complexe au premier abord ( la POO), les explications sont superficielle et les exemples donnés très vague.
Par contre le tuto C est assez bon de ce que j'ai pu voir.
Bon le seul point négatif que je lui donne, c'est de donner des espoirs énormes aux débutants concernant ce qu'ils pourront faire lorsqu'ils auront finis le tutoriel, alors qu'il pose seulement les bases de la programmation en C en apportant cependant une subtilité avec l'enseignement de la lib SDL.
@deepblue : Évidemment ce n'est pas parfait, mais avouez tout de même que pour un débutant, ce tutoriel PHP/MySQL est d'une aide considérable. Bien sûr, après, il faut creuser seul pour optimiser son code et comprendre les quelques subtilités... Mais c'est propre à tous les langages et même tous les apprentissages, ça. Et on se bonifie toujours avec le temps.
La question est plutot de savoir si il n'est pas mieux de lire ces cours ci:
http://php.developpez.com/cours/