l'asile.fr


Auto-formation: bons plans

Comme mon job du moment consiste à apprendre à des clampins à coder pour les aider à trouver du boulot, j'en profite pour me former moi-même à des technos que me manquent.

Comme ma formation et mon expérience sont essentiellement sur du client-lourd (RCP 4) et du back-end (JEE), je voulais me former un peu sur les aspects plus front-end (même si mes goûts personnels font que je ne deviendrais probablement jamais un spécialiste, mes connaissances en HTML/CSS étaient poussiéreuses et je n'avais aucune connaissance en javascript/jquery/ajax/etc).

Je suis tombé sur le site Codecademy que je trouve assez bon.
J'ai pas encore suivi la totalité de leurs cours (j'ai suivi uniquement HTML/CSS, Javascript de base et JQuery pour le moment, il me reste à voir Ruby/Ruby on Rails pour le back-end, ça tombe bien je ne connaissais pas non plus, et Angulars JS pour aller plus loin côté front-end), donc peut-être que ça se dégrade par la suite, mais pour le moment je trouve le contenu suffisamment bien fichu pour le recommander à toute personne qui souhaiterait s'initier aux joies de la programmation.

Et du coup, je me suis dit que j'allais en profiter pour faire un nouveau sujet où on se refile des bons plans de ce genre!

Donc je débute avec Codecademy:
Sujets: développement web, front-end (HTML/CSS, Javascript, JQuery, AngularJS) et back-end (Ruby, Ruby on Rails, Ruby Authentication)
Cible: débutant complets (aucune connaissance à part avoir déjà ouvert un site web)
Format: Leçons interactives courtes (chaque "leçon" ne prend pas plus d'un quart d'heure) avec un sujet d'exercice/mise en pratique, un éditeur intégré (coloration syntaxique, indentation automatique, c'est tout, pas d'autocomplétion) et le résultat "en live" tout ça sur une seule page et en ligne

Positif:
* idéal débutants complets, pas à pas tout en douceur
* pas d'outils à télécharger/installer/configurer, tout se fait en ligne sur la page
* système de progression facile à identifier, on sait "où" on en est de sa progression sur un sujet
* possibilité de parcours variés (à l'inscription): introduction à la programmation, bases de la programmation, parcours développeur front-end, parcours développeur full-stack
* possibilité de contrôler son parcours (on peut sauter une leçon, attaquer plusieurs sujets en parallèle, etc)

Négatif:
* vraiment orienté débutants complets, les développeurs ayant déjà quelques connaissances vont s'ennuyer (surtout au début) et devoir rester motivés pour aller jusqu'aux leçons plus intéressantes
* pas d’auto-complétion dans l'éditeur (pour l'habitué d'Eclipse que je suis, c'est dur... d'ailleurs si quelqu'un a un outils/éditeur à me recommander pour le javascript?)
* pas de correction de syntaxe ou autre détection dynamique d'erreur dans l'éditeur (je suis trop habitué au java et à Eclipse? ça se pourrait bien...), faut lancer pour voir qu'on a oublié un point virgule ou une accolade...
* peut-être pas assez poussé (j'ai pas encore été jusqu'au bout, peut-être que je corrigerai ce point plus tard...): par exemple en HTML/CSS, on a vraiment vu juste les bases, absolument pas les fonctions avancées de l'HTML 5/CSS 3 par exemple.
* obligation de s'inscrire sur le site pour avoir accès aux ressources (contrairement à d'autres site comme openclassrooms), ce qui est logique vu la notion de parcours et d'enregistrement de la progression... Moi ça m'a pas gêné, mais je sais que ça bloque certaines personnes.

Et vous, vous avez des bons plans dans ce genre? Quelque soit le sujet: programmation, outillage, bonnes pratiques, photoshop & illustrator (ou leur équivalents open-source), blender, etc

Vous pouvez aussi poster vos demandes/recherches, des fois que quelqu'un ait une réponse à vous donner.
Par exemple moi j'aimerai apprendre à utiliser correctement et un peu efficacement un logiciel de dessin vectoriel genre illustrator (pour avoir de beaux graphiques à mettre dans mes appli android par exemple), mais les ressources que je trouve sont soit trop complexes pour moi, soit beaucoup trop basiques... et puis illustrator c'est payant et j'ai pas les moyens d'acheter un logiciel que je vais assez peu utiliser...

C'est (en tout cas jusque là) dédié aux débutants complets, donc c'est souvent un peu trop lent dans la progression à mon goût, mais ça a le mérite d'être une bonne première approche, y compris à des principes de programmation un peu plus complexes comme la programmation orientée objet.


vendredi
03 juillet 2015 à 14:28
 
 

JiHeM
#2 chouchou de Bruxelles

Je ne sais pas si ça correspond exactement à ce que tu cherches, mais le seul truc du genre que je connaisse est Open Classrooms, l'ex Site du Zer0, qui a fait beaucoup de chemin depuis que j'y lisais des tutos Hammer en 2001 ou un truc du genre... Ça a l'air d'être devenu la référence française des MOOC si j'en crois François Hollande !


vendredi
03 juillet 2015 à 15:42
 
 

url : https://www.coursera.org/ des cours en vidéos par des profs d'universités américaines.
J'ai commencé deux cursus dessus: Apprentissage automatique (Machine Learning) degré d'avancement 32% et Calcul 1 (Calculus 1) 29%.

Machine Learning: Le premier, c'est parce que j'en ai besoin dans mon job, je suis déjà censé en faire mais... à chaque fois c'est interrompu par une autre tâche urgente du coup j'ai plein de sujet en cours jamais terminé... data mining (évaluer la qualité d'une offre d'un site e-commerce, ou la présence d'intrus dans un regroupement), reconnaissance d'image (pour virer des placeholders).

C'est assez bien fait, ça fonctionne sur le principe de courtes vidéos, 4 à 12 min, puis de QCM, et enfin d'exercices, on a une licence gratuite temporaire pour Mathlab (pour les linuxiens on peut utiliser Octave). Le tout regroupé en chapitre de ~2 heures puis en semaines de ~8h et en 16~19 semaines. Ca ne demande pas de réelles connaissances math / info particulières mais on va dire niveau bac.

Ça met un peu de coté certains aspects mathématique mais ça permet d'en comprendre le principe et d'en avoir une expérience pratique. Le cours est fait par Andrew Ng, qui est le fondateur du site, de Google Brain, et maintenant responsable d'un centre de recherche pour Baidu. Et comme c'est à la mode c'est le cours le plus populaire.

Le défaut: la qualité des vidéos, le son est souvent médiocre et les sous-titres aléatoires, les QCM parfois un peu con, genre sur les réseaux de neurones, savoir dans quel sens est la matrice de transformation 3x4 ou 4x3 ou sur la notation des indices de cette matrice. C'est vraiment pour forcer les gens à l'avoir vu. Pas de PDF ! L'absence de support de cours pour revenir en arrière est un vrai problème pour revoir les notations, formules, etc. là c'est le pire j'ai pas encore de solution pour ça, sans doute explorer les forums pour voir si d'autres gentils membres l'ont fait.

Calculus 1: alors là on est niveau bac: fonctions, limites, dérivés, etc. C'est seulement pour me détendre de l'autre, et pour voir ce que peuvent donner les autres cours. même format que le précédent, vidéo et QCM, le type est un peu plus excité mais reste compréhensible. Le gros défaut, les exercices qui remplacent les QCM posent souvent des questions qui seront abordé dans le chapitre suivant, donc souvent obligé d'aller voir sur Wikipedia pour avoir la formule. super... Mais ça reste bien fait.

Par contre j'ai pris deux cursus en accès libre, donc sans contrainte de début / fin / temps / respect des semaines.
Ce serait plus compliqué avec ceux qui doivent être synchrones. Surtout que j'ai commencé il y 2 moins 1/2 avant de partir au Japon et que je viens seulement de reprendre cette semaine.


pour des sujets pure infos, certaines boites offres des cursus pour leur produit : admin mongodb, prog hadoop cloudera, mapr, etc.


Dernière modification le 03/07/15 à 15:46 par Akshell
vendredi
03 juillet 2015 à 15:45
 
 

Gingembre
#4 Affreudisiaque
[afficher ce commentaire]
[afficher ce commentaire]
Gingembre
#6 Affreudisiaque
[afficher ce commentaire]

Akshell a écrit
Le cours est fait par Andrew Ng,


Je recommande aussi, Ng (ça se prononce "Nègue", mon directeur lui a demandé quand il l'a croisé en conf^^) est une bonne grosse huile du domaine, et son cours est plutôt bien foutu et surtout à jour ce qui est important dans ce champ qui bouge beaucoup.

Sinon, j'apprends l'espagnol sur DuoLingo et l'harmonica sur Youtube. Sans grand succès.


vendredi
03 juillet 2015 à 22:26
 
 

Alors pour ce qui est des langues, si vous voulez choper la base rapidement et sans trop d efforts , je recommande les cours audio (chopables en mp3) de Michel Thomas.
C'est sous forme de dialogue entre interlocuteurs et c'est vraiment pas mal.
l'avantage est de pouvoir écouter ça un peu partout sur son téléphone ou lecteur mp3 (en allant au boulot dans ,les transports, dans un Park en promenant le varan , dans la cave sécurisée quand tu vas donner à manger aux petites nouvelles que tu as capturé la veille...)

Toutes les langues ne sont malheureusement pas disponibles.
A défaut, Pimsleur est pas mal du tout aussi (mais moins bien que Michel Thomas).
Plus spécifiquement pour le mandarin, les cours Chinese Pod sont très bien.


samedi
04 juillet 2015 à 01:52
 
 

Ah ou, j'avais commencé les cours Pimsleur de chinois il y a quelques années, mais faute d'occasions de pratiquer j'avais laissé tombé (je sais encore dire "je ne parle pas le chinois" et "parlez vous anglais?" et c'est à peu près tout...), mais c'est vrai que le côté audio était bien pratique. Cela dit moi qui ait plutôt une mémoire visuelle, l'absence totale de support visuel me manquait un peu.

Open Classrooms je ne recommande pas: les cours sont rarement tenus à jour (en tout cas tout ceux que j'ai eu l'occasion de survoler, ne serait-ce qu'avec des références au site du zéro et même des liens vers ce dernier, qui du coup ne fonctionnent plus) et le ton est trop léger à mon goût (manque de sérieux et les blagues à 2 sous on s'en passerait bien).
Accessoirement, il me semble que la transition site du zéro => open classrooms s'est faites dans la douleur, sans l'accord préalable des auteurs des cours (qui avaient rédigé gracieusement pour un site communautaire 100% gratuit et ont vu leur travail exploité sur un site privé à modèle commercial [même si l'essentiel des ressources restent accessibles gratuitement] sans toucher un centimes).

Coursera j'en avais déjà entendu du bien, donc j'y jetterai un oeil, merci à vous!

[Edit: j'ai pas précisé, mais effectivement comme Akshell j'ai besoin de cours en accès libre, sans contraintes horaires ou de début/fin car mon rythme est très variable selon mes dispos du moment...]


Dernière modification le 04/07/15 à 11:05 par plantmann
samedi
04 juillet 2015 à 11:04
 
 

plantmann a écrit
Ah ou, j'avais commencé les cours Pimsleur de chinois il y a quelques années, mais faute d'occasions de pratiquer j'avais laissé tombé (je sais encore dire "je ne parle pas le chinois" et "parlez vous anglais?" et c'est à peu près tout...), mais c'est vrai que le côté audio était bien pratique. Cela dit moi qui ait plutôt une mémoire visuelle, l'absence totale de support visuel me manquait un peu.


Si tu avais accroché avec le principe essaie Michel Thomas alors. Ils ont un cours de mandarin et c'est vraiment mieux que Pimsleur.


samedi
04 juillet 2015 à 13:12
 
 

Nouvelle info tout fraîche d'hier soir ce matin 3h du mat: un très bon cours en PDF pour découvrir toutes les bases (et même plus que la bases, ça va assez loin en fait) de Spring (framework d'application Java) :
url : http://oledru.free.fr/jee/formationspring-140903022758-phpapp02.pdf
Slides fournis gracieusement par l'entreprise Ippon Technologies qui est super sur ce point là: ils font beaucoup de formations techniques et mettent presque systématiquement les slides sur slideshare.net. Là c'est juste lesdits slides en PDF (plus pratique pour consultation offline).

Sujet abordés:
- Spring, c'est quoi?
- Inversion de Contrôle dans Spring: Injection de dépendance
- tout ce qui a trait à la gestion des beans dans Spring (cycle de vie, configuration, gestion des dépendances, etc)
- configuration par fichiers XML, par annotations, par code
- Spring AOP, programmation par aspects
- JDBC, Transaction, JPA, Hibernate
- bean validation
- JMS
- JMX
- Spring MVC, MVC REST
- Spring Web Flow
- Spring Security

Donc y a pas tout (en même temps c'est le framework de l'infini spring, y a pas moyen d'en faire le tour en moins d'un mois) mais c'est déjà très complet et surtout les slides sont très bien foutus, à jour et en français. La combinaison des 3 étant très rare dans mon expérience... quand c'est en français, c'est en général obsolète (très) ou (non exclusif) mal foutu/pas clair.

Leur autres slides sont sur slideshare, par exemple pour git: url : http://fr.slideshare.net/ippontech/formation-git-gratuite-par-ippon-2014


dimanche
06 septembre 2015 à 11:46
 
 

Spring 3.2, ça date de décembre 2012, la version actuelle est la 4.2.2, depuis ils sont passé du tout xml au tout objet de configuration.
ça change pas mal l'architecture des projets.
surtout spring mvc qui est "quasiment" absolète au profit de spring boot, en fait MVC devient une sous couche transparente.
jpa/hibernate au profit de spring data et des bases noSQL, (de toute façon hibernate c'est tellement pourri qui personne n'utilisait les contraintes d'intégrité des SGBDR).


dimanche
06 septembre 2015 à 14:07
 
 

Selune
#13 Budmo !
[afficher ce commentaire]
[afficher ce commentaire]
[afficher ce commentaire]
[afficher ce commentaire]
[afficher ce commentaire]
Selune
#18 Budmo !

Akshell a écrit
est ce que je viens vous emmerder quand vous vous tripotez sur vos potentiomètres de guitares hein ?


T'as raison, il faut parler des choses importantes !

Akshell a écrit
surtout spring mvc qui est "quasiment" absolète au profit de spring boot, en fait MVC devient une sous couche transparente.


Mais c'est clair, comment c'était trop lourd la configuration XML volumineuse. Et la gestion des dépendances complexes ! Un cauchemar ! Et heureusement que Groovy a été adopté : avec son puissant protocole MetaObject, son processus de transformation AST pluggable, et son moteur de résolution de dépendances embarqué, on peut dire que ça facilite beaucoup des raccourcis que Boot offre !

Et sinon, tu penses quoi du débat "Semi-hollow : Epiphone Dot vs Casino Signature" ? Et le fameux "sabots sous solives vs isolation à l'EPDM en bandes" ? Je pense que ce sont des sujets que n'avons fait qu'effleurer, alors qu'ils mériteraient une approche bien plus détaillé... Le bon peuple de l'Asile doit savoir ! I want to believe !


lundi
07 septembre 2015 à 10:39
 
 

[afficher ce commentaire]
[afficher ce commentaire]

Akshell a écrit
Spring 3.2, ça date de décembre 2012, la version actuelle est la 4.2.2, depuis ils sont passé du tout xml au tout objet de configuration.
ça change pas mal l'architecture des projets.
surtout spring mvc qui est "quasiment" absolète au profit de spring boot, en fait MVC devient une sous couche transparente.
jpa/hibernate au profit de spring data et des bases noSQL, (de toute façon hibernate c'est tellement pourri qui personne n'utilisait les contraintes d'intégrité des SGBDR).

Alors:
1) sur les bases fondamentales (Inversion de Contrôle/Injection de dépendance et Programmation par Aspect) à peu près rien n'a changé depuis spring 3.0, donc ça reste très utile pour comprendre comment marche Spring dans l'ensemble
2) XML Vs Annotations: perso j'utlise les 2, comme beaucoup de monde, car différentes utilisations : Annotations pour tout ce qui est configuration "métier" (exemple: quel service a besoin de quel DAO) qui change pas/peu au cours de la vie d'un produit, mais XML pour la configuration "infrastructure" (ex: url/login/pass du serveur de base de données) qui change dans chaque contexte (dev/test/recette/prod) et à chaque déploiement (= pour chaque client)
3) XML ou annotations, franchement ça change rien à l'architecture du projet (ou alors faut m'expliquer?)
4) Spring MVC obsolète: d'accord avec toi, surtout que le front end devrait maintenant toujours etre codé en JS et spring servir uniquement pour le back-end à coup de web services REST (ou SOAP au pire), mais hélas encore très demandé par beaucoup d'entreprises, et comme je suis formateur pour des gens en recherche d'emploi, je favorise des compétences demandées
5) Spring boot: j'aime. Mais des fois j'ai l'impression d'être le seul. La faute aux admins sys / intégrateurs qui se plaignent d'avoir du mal à le configurer par rapport à un serveur d'application classique qu'ils déploient et configurent 1 seule fois et après c'est au dév de se débrouiller avec la conf existante.
6) JPA/Hibernate: j'utilise encore beaucoup (largement plus que Spring Data) car presque aucun client n'est encore passé au NoSQL (trouillards, le "eventual consistency" les fait flipper car ils bossent avec des banques et des assureurs, donc cohérence est reine... du moins ils le pensent), par contre les contrainte d'intégrité, hormis clé primaire, clé étrangère, et éventuellement unicité et possibilité de mettre une valeur nulle, j'ai jamais utilisé quoi qu'il en soit. Pour moi c'est au logiciel de faire ces contrôles, pas à la base. La base elle doit stocker et relire, le tout de façon fiable et surtout efficace.

Comme je sais pas si Selune troll (au début) je dirais juste que j'ai pas eu le temps d'apprendre Groovy, et qu'à choisir si j'ai le temps je vais plutôt me pencher vers Scala.

@les autres: je vous sodomise aimablement avec vos guitares (le manche en dernier) et vos poutres de charpente. Et je continuerai à poster ici si je veux, on ne fera pas taire, VIVA LA REVOLUCION!!


jeudi
10 septembre 2015 à 09:48
 
 

Gingembre
#22 Affreudisiaque
[afficher ce commentaire]

2) pour créer un contexte spring tu n'as pas vraiment de choix, c'est l'un ou l'autre, l'avantage est que la création des objets étant explicite les problèmes de dépendances apparaissent dès le dev et non plus à l'exécution.
dans les deux cas j'externalise les infos dans des fichiers de propriétés, voir dans la ligne de commande ou dans les variables d’environnement.


jeudi
10 septembre 2015 à 10:04
 
 

Ah bah si, bien sûr que tu as le choix, et que tu peux utiliser les deux. Faut juste utiliser le fait que les contexts sont hiérarchiques: tu en crées un basé sur les annotations, un autre basé sur le ou les fichiers XML et tu déclares l'un parent de l'autre. C'est exactement ce que fait Spring MVC justement: il commence par créer un context "applicatif" qui instancie toute la couche de service et de persistance, puis un second context "web" qui contient tous les contrôleurs web, et met le premier parent du second pour que les contrôleurs puissent profiter de l'injection des services.

Mais je suis d'accord: j'ai découvert il y a peu le coup des variables d'environnement (j'y avais jamais pensé, pourtant c'est tout con) et c'est vraiment génial.
Configuration par variables d'environnement, un des facteurs du 12-factor app: url : http://12factor.net/config (d'ailleurs en relisant cet article, je vois qu'ils parlent de Spring et indiquent justement que la configuration de "branchement" des beans n'est pas considéré comme un point de config et a plus sa place en code)


jeudi
10 septembre 2015 à 10:18
 
 

[afficher ce commentaire]

Non mais faut arrêter de venir sur des topics où vous savez d'avance que vous n'allez rien piger maintenant, hein?
Je réclame le droit d'être admin sur mon sujet, pour pouvoir virer/masquer tous ces posts de pollueurs!


jeudi
10 septembre 2015 à 11:46
 
 

Gingembre
#27 Affreudisiaque

Tu dis ça parce que je suis juif hein ?
NAZI §§§


jeudi
10 septembre 2015 à 11:58
 
 


jeudi
10 septembre 2015 à 12:15
 
 

Il parait que les nazis étaient des gros utilisateurs d'hibernate .
CQFD...


jeudi
10 septembre 2015 à 13:29
 
 

Han mais plantmann t'étais pas comme ça avant de venir habiter dans le sud.
FACHO DE NAZI §


jeudi
10 septembre 2015 à 21:02
 
 


Répondre au sujet

Vous devez être identifié pour participer à ce topic.