echo "Hello World !" đŸ’»

Un petit fourre-tout pour toutes les personnes qui codent. Vous pouvez y laisser vos doutes, vos anecdotes, vos questions.

###VoilĂ , donc vraiment tous les langages sont les bienvenus ! MĂȘme les lignes de commande :sleepy:


Donc pour ma part je dĂ©veloppe pour le web seulement, j’ai eu affaire Ă  plusieurs projets mais rien de trĂšs concret. Je m’y mets quand j’en ai besoin. CĂŽtĂ© serveur j’ai toujours travaillĂ© avec du PHP; je suis pas un expert mais Ă  force d’en toucher je suis pas perdu.

Un moment donnĂ© je me suis intĂ©ressĂ© au langage Ruby, pour la beautĂ© du geste. Mais Ă  vrai dire j’y vois pas trop d’applications possible. J’aimerais bien utiliser par la suite Ruby on Rails, mais y a pas de mutu avec Rails sur Kimsufi. Et j’ai la flemme (et pas les deniers) pour un VPS.

Bref, je suis en train de coder le site de mon auto-entreprise. Un bĂȘte site vitrine avec un pauvre formulaire de contact. Mais j’ai voulu enhance un peu mes compĂ©tences, du coup cette annĂ©e bonne rĂ©solution : je me mets Ă  l’OO et aux framework.

J’utilise donc Slim3 (pour avoir un squelette sympa) et j’essaie au possible de suivre le paradigme MVC. Voilà, donc je tñtonne un peu et tout ça va bien rentrer dans ma caboche au deuxiùme (ou troisiùme) projet je pense.
Ma tĂąche en ce moment c’est de finaliser le formulaire. J’ai choisi d’avoir un site qui n’est pas dĂ©pendant de Javascript. J’ai fini de coder la logique “noscript”, me reste Ă  finaliser la logique Ajax; le tout avec validation & gestion des erreurs.

Une fois la partie technique terminée je pourrais me lancer dans la mise en page


Pour le fun, un comic strip sur les langages de programmation personnifiés : http://leftoversalad.com/c/015_programmingpeople/

2 J'aimes

Je viendrai vous lire quand j’aurai envie de me faire du mal.
Le code c’est ma kryptonite.
:_bubbles:

Ouh un sujet programmation :3

Du coup, je suis actuellement en premiÚre année de Master en info, plus orienté gestion de projet/risque, management etc 

Mais on fait aussi des trucs sympa, Big data, Android, Arduino 
 Et j’ai beaucoup de temps libre Ă  cotĂ©, et des projets pour exploiter ce temps.

Du coup j’ai visitĂ© pas mal de langage, commencĂ© avec du C et python, rapidement fait du C++/C# pris le temps de dĂ©tester le Java, beaucoup de PhP (j’en faisais dĂ©jĂ  pas mal avant d’arriver en Ă©cole sup) et rĂ©cement du Ruby (on Rails)

J’ai fait une 10aine de projet au total, quelques petits jeux Ă  la con, mais aussi (surtout) des applications de gestion, une plateforme d’échange de fichier pour mon Ă©cole (gestion de cours, classe, calendrier, document 
) et maintenant je suis sur une application de facturation pour consultant.

Du coup, je suis plus dĂ©veloppeur Full stack, je gĂšre aussi bien le front que le back, mais je m’occupe aussi de toute mon infra systĂšme, j’ai commencĂ© Ă  travailler sur les services AWS et ElasticBeanstalk (scalability des ressources), et si t’a besoin d’aide pour config un Linux/VPS autre, fais moi signe :wink:

CotĂ© framework, je travaille en ce moment sur Laravel qui est une tuerie, je suis passĂ© par symfony et CakePhP (micro framework de symfony) j’avais moyen kiffĂ©, mais laravel est extrĂ©mement propre et bien pensĂ©, c’est de la POO pur, avec une architecture MVC intĂ©grĂ©, et surtout un ORM (Object Relationship Manager)

Example ORM :

J’ai ça en Php

$missions = request()->user()->missions()->orderBy('date')->get();

Qui fait ça en SQL

SELECT * 
FROM User U
INNER JOIN Mission M ON U.user_id = M.user_id
WHERE U.user_id = 1
ORDER BY M.date

Du coup je fais plus aucune requĂȘte SQL, et tout passe par l’ORM qui s’en occupe, ça marche aussi pour la crĂ©ation de ma base, qui se fait par simple fichier detaillĂ© comme suit

public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('nom');
            $table->string('prenom');
            $table->string('email')->unique();
            $table->string('adresse');
            $table->string('code_p');
            $table->string('ville');
            $table->string('password');
            $table->integer('mission_count')->default(0);
            $table->rememberToken();
            $table->timestamps();
        });
    }
```

Bref, j'ai taffĂ© pendant 1an en entreprise, uniquement avec MVC, et un moteur de Template (Twig) j'ai travaillĂ© sur le mĂȘme projet pendant plus de 8 mois, si j'avais eu Laravel Ă  ce moment, je l'aurais finit en 3 mois ><

J'ai un projet d'étude qui est de créer une documentation de base complÚte (déploiement de l'environnement de dev et réalisation d'une application avec authentification CRUD)
3 J'aimes

J’utilise Twig aussi avec Slim3, tu l’aurais dĂ©conseillĂ© ?

Laravel ça me semblait un peu bazooka pour mon projet. :neutral_face:

Twig est un bon gestionnaire de Template, sous Laravel c’est Blade, il font sensiblement la mĂȘme chose.

Slim3, je connais pas, j’ai rapidement regardĂ© la docs, ça Ă  l’air trĂšs minimaliste, personnellement je ne retournerais plus sur ce genre de framework, ça demande beaucoup trop de travail qui peut ĂȘtre automatisĂ©, et la rigueur qu’il demande n’est pas suffisante, qui plus la gestion d’erreur, la sĂ©curisation sont de la responsabilitĂ© du dĂ©veloppeur.

HonnĂȘtement, je n’envisage plus de dev sans un ORM, un moteur de template, et un systĂšme de gestion d’erreur complet, ça me permet de me concentrer sur les deux choses qui sont les plus importante dans mon projet, mon interface, et mes algo de traitement de donnĂ©e

Mon sujet de mĂ©moire de cette annĂ©e est sur les diffĂ©rences entre un dev classique avec des librairies importĂ©, et l’utilisation de framework complet. Je fais un comparatif notamment sur les performances, le niveau de sĂ©curitĂ©, mais surtout les connaissances dĂ©veloppeur nĂ©cessaire pour faire une application de qualitĂ© (respect des standard etc 
)
Si ça t’intĂ©resse je t’envoie une copie dĂšs que j’ai finit :wink:

Ta
 KRYPTOUnite ! Mninhin !

1 J'aime

Ca pourrait ĂȘtre intĂ©ressant ce topic, surtout si on est plus que @valsou, @Guiwy et moi Ă  y rĂ©agir !

De mon cÎté, ça fait plus de 15 ans maintenant que je bosse dans le développement, en tant que full-stack developper, mais ces derniÚres années ont plutÎt été axées architecture, sécurité, et devops.

J’ai commencĂ© par du .Net (VB.net puis C#) dans lequel je me suis certifiĂ© Ă  l’époque, mais depuis 5 ou 6 ans, je n’ai pratiquement plus eu d’occasion d’en faire. Chez mon employeur actuel, c’est surtout du Java/Scala avec le framework Play que l’on utilise pour les back-ends. Parfois du SpringBoot.

CĂŽtĂ© front, j’ai fait du ASP.net Webforms et MVC, du Struts (je prĂ©fĂšrerai oublier cette expĂ©rience), du SpringMVC, j’ai touchĂ© un peu du Symfony aussi, mais Ă  l’heure actuelle, c’est que de l’AngularJS 1 (on commence Ă  migrer vers le 2 maintenant que ça s’est bien stabilisĂ©).

CĂŽtĂ© mobile j’ai fait beaucoup de Windows Mobile Ă  l’époque, mais assez peu de Windows Phone/Android/iPhone/BlackBerry. Ca va reprendre cette annĂ©e pour ce qui est iOs et Android. :slight_smile:
CĂŽtĂ© embarquĂ© j’ai eu plusieurs projets aussi, certains en C ou C++, d’autres en J2ME, une approche et des contraintes bien diffĂ©rentes encore du dĂ©veloppement plus classique.

Actuellement, je ne dĂ©veloppe plus autant qu’avant, mais je suis plutĂŽt chargĂ© de la mise en place d’architectures destinĂ©es Ă  s’appliquer Ă  l’ensemble des apps et api’s dĂ©veloppĂ©es chez nous, et de mettre en place des outils d’amĂ©lioration de productivitĂ©/qualitĂ©.

On a rĂ©cemment mis en place tout un environnement basĂ© sur des middlewares IBM (Datapower / API Connect / Security Access Manager) qui permet aux dĂ©veloppeurs de ne plus devoir du tout se soucier tout ce qui concerne l’authentification et la façon dont les services sont exposĂ©es (que ce soit intranet, intra-groupe, avec les autres opĂ©rateurs tĂ©lĂ©coms, ou apps publiques web/mobile).
Toute la partie sĂ©curitĂ© est abstraite et gĂ©rĂ©e centralement, et tout ça couplĂ© Ă  l’utilisation massive de Docker (qui facilite trĂšs fortement les dĂ©ploiements, le clustering et la haute dispo), et d’outils permettant de faire du dĂ©ploiement continu (je pourrais vous en parler durant des heures de ça :smiley:) , c’est que du bonheur pour dĂ©velopper en pouvant juste se concentrer sur la problĂ©matique “business” Ă  rĂ©soudre!

Je suis d’ailleurs invitĂ© par IBM avec un collĂšgue la semaine prochaine pour aller prĂ©senter cette archi Ă  Las Vegas :sunglasses:
Il semblerait que trĂšs peu de boites dans le monde aient combinĂ© ces produits de cette façon pour crĂ©er ce genre de plateforme destinĂ©e Ă  hĂ©berger toutes les apps et api’s. (tu m’étonnes, vu le prix astronomique que coĂ»tent les licences annuelles de ces produits
)

Sinon pour rebondir sur les dires de @Vernam, c’est clair et net qu’une fois qu’on a goĂ»tĂ© aux ORM et qu’on les maĂźtrise un peu, il n’est plus envisageable de s’en passer, et de devoir Ă©crire ce genre de code Ă  la main. Que ce soit Entity, Hibernate, EBean ou des tonnes d’autres, ça vaut la peine de s’y investir un peu dĂšs qu’on commence Ă  faire des apps avec un minimum de complexitĂ© au niveau du modĂšle de donnĂ©es.

@valsou Je me suis posĂ© une question en lisant la description de ton projet actuel : pourquoi t’es-tu fait chier Ă  gĂ©rer le noscript? C’était juste pour le sport de faire du progressive enhancement ou il y avait une autre raison?
Parce que de mon expĂ©rience perso, depuis dĂ©jĂ  pas mal d’annĂ©es en milieu pro, mĂȘme pour les apps grand public, notre gestion du noscript c’est juste l’affichage d’un message “ce site a besoin de javascript pour fonctionner” :smiley:

2 J'aimes

C’est clairement juste pour le sport. J’aime bien l’idĂ©e que mon site fonctionne qu’importe la config de l’utilisateur (je pense que la portion d’utilisateur du plugin noscript est pas Ă©norme). Du coup ça m’a permis de mieux penser mon controller derriĂšre.
Ca reste ironique dans le sens oĂč j’utilise des prefixes CSS par ex. pas toujours bien supportĂ©s (eheh
).
Mais clairement sur les prochains projets, sauf demande expresse, je ferai comme toi un message d’info. Certains sites (connus) prennent mĂȘme pas la peine de faire ça, juste une page blanche.
Marre de devoir supporter des navigateurs tout pourrave quand il suffit juste de se mettre Ă  jour.

Ceci dit j’ai trouvĂ© plein de plugins sympa pour mon IDE (Atom). Genre autoprefixer qui me rajoute automatiquement tous les prefixes CSS si besoin.

Je dĂ©couvre SASS aussi, quel bonheur ce truc ! J’utilise node-sass pour l’auto-compilation mais il existe aussi un plugin Atom.
Un autre plugin Pigments qui permet d’avoir les couleurs en visu Ă  cĂŽtĂ© de chaque code hexa, rgb, etc.

Je me suis trouvĂ© une petite grille sympa aussi, en flexbox : Gridlex. Ca fonctionne bien j’en suis content.

Avant il y avait Atom. Puis Visual Code apparu. Et depuis, je ne connais plus personne qui utilise Atom :smiley:

Blague Ă  part, si t’as pas testĂ©, jettes y un oeil. C’est sĂ»rement l’app crĂ©Ă©e avec Electron la plus performante qui existe, il y a une tonne de features qui sont ajoutĂ©es chaque mois, c’est multi-plateformes et open-souce, et il y a dĂ©jĂ  une tonne de plugins sur le marketplace.
Ce produit incarne à lui tout seul le “nouveau Microsoft” ^^

Oki je te mets au défi de le faire fonctionner sous IE8/9/10/Edge également. :smiley:

SASS/LESS je connais pratiquement pas. Explique-nous à quoi ça sert! (dans mon esprit, ça sert à mettre des variables et conditions plus complexes dans le css. mais encore?)

OuĂ© voilĂ  SASS c’est un langage compilĂ© (fichiers en .scss ou .sass) qui sort du .css. Tu peux crĂ©er des variables, utiliser des opĂ©rateurs, il y a un systĂšme d’import pour dĂ©couper et organiser son code. Il y a des mixins qui permettent d’écrire tous les prefixes pour un style par exemple, et juste faire un include pour tout avoir. Et plein d’autres choses que je connais pas encore.
En clair c’est un devenu un must-have pour moi.

edit: ah oui! et le systùme de hierarchie qui devient incroyablement limpide. Suffit d’imbriquer


body {
.menu {
background-color: red
.ul {
background-color: yellow
}
}
}

J’installerai Visual Code uĂ©. A ton avis tous les plugins que je t’ai citĂ© y sont ?

Et puis il y a moi, qui utilise Emacs. :cogne:

Je suis donc le seul sous Vim ?

Joke aside, je tourne sous phpStorm :3

Tu nous a dĂ©jĂ  mis au dĂ©fi pour que DDP fonctionne sous IE10. Ou IE9 je sais plus. Le pays oĂč le flexbox est un gros mot.

On va bientĂŽt avoir droit aux grid native.

Je suis en train de bosser sur des SVG pour les animer. Ca donne de la vie Ă  la page un peu.

J’utilise svg4everybody pour avoir une meilleure gestion des layers en gardant un truc optimal dans ma vue; histoire de pas se perdre.

Un fichier .svg (map) par icÎne. Un symbole pour les formes fixes, et un ou plusieurs symboles pour les éléments mobiles. Par exemple :

Un Codepen pour vous montrer de quoi je parle : https://codepen.io/valsou/pen/jBKEoz
Tout est fixe sauf les 3 points. Chaque point est un symbole différent. Comme ça je peux appliquer à chaque point un délai différent pour donner cet effet.

1 J'aime

Est-ce qu’il existe un lanceur de script pour mettre en place rapidement une session de dĂ©v. Par exemple, un script qui contiendrait :

  • lancer le serveur de dĂ©v. PHP
  • lancer le serveur de mail (Maildev)
  • lancer le sass watch pour autocompiler les .scss d’un dossier prĂ©cis
  • ouvrir Atom sur le bon dossier
  • et plus si affinitĂ©

Ca vous dit quelque chose ?

Edit: ou bien je me fais un .bat tout con ?

Tu peux te faire un bat tout con effectivement, mais si tu commence Ă  avoir Ă  gĂ©rer tout ces composant individuelement, c’est peut ĂȘtre qu’il est temps d’évoluer :stuck_out_tongue:

Jette un coup d’oeil Ă  Vagrant, c’est un systĂšme qui fonctionne avec VirtualBox pour lancer des prĂ©-configuration de dev serveur
Ex ; Ubuntu, avec nginx, MongoDB etc 


Perso c’est ce que j’utilise, mais Laravel fournit de base un service Vagrant, donc je me suis pas prĂ©occupĂ© de config. Sur des devs sans, j’ai toujours un serveur distant, avec une copie parfaite de mon environnement de dev, deux fois j’ai dev des appli en utilisant apache/wamp 2 fois j’ai eu des emmerde lors de la migration, sur des erreurs que Windows tolĂšre (Ă  tord) mais que apache ou nginx, ou php linux n’accepte pas.

Dans ces coups de temps la, j’utilise de la synchro avec PhpStorm (Ă  chaque sauvegarde d’un fichier, mon document est rĂ©upload via sftp sur le serveur) et j’utilise la console intĂ©grĂ© Ă  PhpStorm pour ĂȘtre en SSH.

Aprùs pour de l’automation sur ton sass, tu a Gulp. Ou des plugins ; https://atom.io/packages/sass-autocompile

J’avoue comprendre ta problĂ©matique, d’un cotĂ© ton IDE est en cause (Je connais mal Atom je l’ai trĂšs peu utilisĂ©, mais il me semble que tu a une gestion de project root dessus ?) de l’autre ton stack techno est trop lourd, si tu doit le lancer en service individuel Ă  chaque fois que tu veux dev 


Regarde du coté des plugins sur Atom dans un premier temps, ça devrait au moins te permettre de lancer tes serveur via un menu, sans avoir à le faire à la main

Je regarderai du cĂŽtĂ© de Vagrant. Pour l’instant je me suis fait un batch.

J’ai dĂ©jĂ  essayĂ© le plugin Atom pour Sass mais en fait son problĂšme c’est qu’il surveille pas un dossier en compilant simplement le master. C’est-Ă -dire que j’ai un master.scss et des partials type _partial.scss etc. Avec ce plugin je suis obligĂ© de compiler expressĂ©ment le master sinon il ne le compile pas. Alors qu’avec node-sass je surveille le dossier entier, et si j’enregistre un _partial.scss, il va quand mĂȘme compiler le master. Ce qui est bien plus intĂ©ressant.