En checkant sur Wiki, j'ai vu que l'Orienté Prototype est un style de l'Orienté Objet, donc du coup, j'ai peut-être mal choisi mes mots. Du coup, je parlais plutôt du manque de structure propre au language comme l'héritage, les interfaces, les constructeurs, etc...
Tu peux simuler de l'héritage, mais t'auras pas les même sécurités qu'un héritage avec les classes. Chaque framework que j'ai utilisé implémente chacun leur propre système d'héritage, ce qui rend le tout assez ennuyant à utiliser.
Je pensais au début que c'était juste une perspective différente, mais j'ai jamais rencontré de situation où les prototypes étaient plus adaptés que des classes classiques. Par contre, des situations inverses, j'en ai rencontré des tas.
Depuis, j'ai switché sur Typescript.
Sous Firefox, j'essaie d'avoir le menu contextuel automatique dans un panel. La doc précise qu'il faut ajouter contextMenu: true dans le constructeur. J'ai donc :
Mais toujours pas de menu en cliquant droit. D'où ça peut venir ?Code:var panel = panels.Panel({ width: 415, contextMenu: true, contentURL: self.data.url("popup.html"), onHide: handleHide });
je cherchais un forum leger et puissant pour un projet.... Bah oubliez phpbb et cie. L'avenir c'est codoforum. Ce truc est génial.
C'est leger, sécure et super facile à bidouiller.
https://codoforum.com/
Ca à l'air chouette !
Dans le même genre y a Discourse (qui s'intègre aussi avec plein de CMS) mais qui pour le coup nécessite une install sur un dédié, donc plus lourd en maintenance.
Dans le genre je cherche quelque chose pour remplacer le mediawiki de BGP et c'est la lose. Y a très peu de nouvelles choses pour les wikis.
Ah cool thanks fastela! Tin le front c'est vraiment pas mon domaine pr l'instant mais je m'y mets avec plaisir!
Edit: hahahaha putain a un moment j'ai lu "prepucecekool" faut vraiment que je dorme.....
Google fout son Material Design partout : applications mobiles, OS, etc. Sur le web, c'était la prochaine étape : http://www.getmdl.io/index.html
Je trouve ça plus réussi que sur Android 5.X limite... Je vais tenter un petit blog avec ça pour voir.
---------- Post added at 14h38 ---------- Previous post was at 14h38 ----------
A quand CPC sur ce système ?
Vbulletin c'est sympa niveau convivialité.
Sino pour le matrial design, a moins de fournir des themes wordpress, je crois que ça va casser les couilles de tous le monde.
En plus c'est très "Android themed", donc ça devrait pas intéresser grand monde je pense. (les applis qui sont aussi chez apple par exemple)
Grand maître du lien affilié
Ouais, ça... Devoir créer un nouveau topic tous les 10k posts, la lenteur du bousin, les double posts... C'est compliqué de mettre en place un nouveau système d'ailleurs ?
---------- Post added at 16h30 ---------- Previous post was at 16h28 ----------
Ouais voilà. C'est une ergonomie qui se veut adaptée au tactile et à la souris. Je trouve que c'est plutôt joli et agréable sur PC...
Dites, j'ai fait un prototype graphique de jeu web, et j'aimerais m'attaquer à la logique maintenant.
Pour gérer l'affichage des données sur la page, j'aimerais utiliser un outil qui automatise le data-binding. J'ai l'habitude de KnockoutJS, mais j'aime pas trop le principe des Observables (même si c'est clean et que c'est pas de la magie voodoo) qui est difficile à faire fonctionner quand on partage du code entre le client et le serveur.
J'ai déjà essayé AngularJS, mais je trouve ça un peu "trop". J'aime bien le coté "librairie" de Knockout, et moins le coté "framework" d'Angular, une simple librarie me permet d'utiliser plus facilement des librairies extérieures.
Y'as une alternative qui correspond plus ou moins à mes critères ? Merci d'avance. :x
Ça va pas répondre à ta question parce que je n'ai pas trouvé d'alternatives à knockoutJS qui fasse une seule chose (le data-binding), qui possède une documente décente (coucou les milliards de plugins jquery) et compréhensible (coucou angularjs) et qui soit polyvalente (pas spécifique à un truc, on peut le brancher sur n'importe quoi).
Ça fait maintenant quelques mois que je n'ai pas touché au code front (mais je reprend dès demain), mais de mémoire, ce qui m’embêtais vraiment avec knockout, c'est la prise en compte des tables de hashage dont les indexes ne sont pas des noms d'attributs (l'archétype étant un bouquin, représenté par une table avec pour indexes les id normalisés et en valeur les articles).
Y a un plugin sur la documentation, mais j'ai jamais réussi à faire marcher ce machin. Du coup, je suis obligé d'avoir d'un coté un ko.observableArray avec les articles et de l'autre un ko.observableArray avec les indexes, le tout étant identifié par la position de chaque élément dans les arrays.
Ou alors, je suis obligé de recalculer sans arrêt la table de hashage à partir de la liste d'articles. C'est relou et ça plombe les perfs.
Donc, une réponse peut fortement m'intéresser
Après, ce que je fais, c'est d'éviter au maximum ce genre de structure de données, en passant par de simple listes. Mais ce n'est pas toujours évident.
J'ai raison et vous avez tort.
Il me faut pas spécialement quelque chose qui me facilite le partage de truc client/serveur.
Quand j'utilise Knockout, je dois englober les propriétés des classes contenus dans la logique de mon jeu dans des Observables (pour que KO puisse update l'UI quand la variable est modifiée). Ils ne font pas comme les autres libraries de data-binding et n'utilisent pas les getter/setter parce qu'ils veulent garder la compatibilité >IE7.
Du coup, puisque je partage la logique de mon jeu entre le client et le serveur, je suis obligé de mettre Knockout et ses Observables coté serveur. C'est pour ça que je préfèrerais avoir une librarie qui ne requiert pas de modifier les modèles, comme Angular, mais qui reste une librarie et pas un framework, comme Angular.
Je check Meteor et Backbone, merci.
Reprise d'un projet avec Angular
00:00 => Bon, allez, on va retester angular. Les alternatives sont merdiques, tant pis pour le coté éphémère de la version actuelle. J'ai un vague souvenir d'un truc compliqué avec angular, mais c'est peut-être ma mémoire qui me joue des tours.
00:30 => Wahou, j'avais oublié à quel point c'était génial angular. Certainement qu'avec le temps, j'ai plus de facilité à le prendre en main.
05:00 => Mon projet commence à avoir de la gueule. I ♥ angular. Et en plus, c'est maintenable. Non, vraiment, je ne me souviens plus pourquoi j'avais une dent contre angular.
07:00 => Bon, allons utiliser cette bibliothèque pour les graphes. Y a bien un binding angular, mais il a l'air mort. C'est pas trop grave, j'ai pas un besoin important
07:30 => Ok, c'est cool. Testons la mise à jour automatique d'un graphe via un setTimeout ajoutant des fausses données de quelques secondes dans le controlleur networkGraph.
07:45 => Mmmmh. Y a un truc qui merde avec le $scope et les $watch. C'est notifié au démarrage, ok, mais ça maaaarche pas dans le setTimeout.
07:46 => J'ai foutu des console.log un peu partout, c'est bizarre cette histoire. Mon code est devenu dégueulasse.
07:55 => DOC DE MERDE DOC DE MERDE DOC DE MERDE. FUCK ANGULAR FUCK ANGULAR FUCK ANGULAR
08:55 => DOC DE MERDE DOC DE MERDE DOC DE MERDE. FUCK ANGULAR FUCK ANGULAR FUCK ANGULAR
09:00 => OOOOOOOOKKKKKKK. Il faut mettre un $scope.apply() dans le setTimeout qui est dans le controller. Tout ce qui est en dehors du créateur du controlleur n'a pas besoin de $scope.apply()
09:01 => (╯°□°)╯︵ ┻━┻
J'ai raison et vous avez tort.
Je me fais la même réflexion côté backend avec Spring Data et Hibernate => au début ça marche bien. Mais dès que tu tombes sur un truc évolué (cad un truc plus complet qu'un CRUD) à faire tu bloques 5 jours dessus, la solution se résume en une ligne, (╯°□°)╯︵ ┻━┻
Je hais l'ORM.
Mon plus gros fail est aussi sur un ORM, sqlalchemy en python
J'avais fait une grosse bibliothèque basé dessus, pour le boulot. Mais j'ai bloqué sur le fait de sérialiser les instances (pour pouvoir les mettre en cache). Et j'avais un besoin important sur ça. Quasiment une fois par mois, je me mettais pendant une journée complète sur ce truc de sérialiser. Et du coup, j'ai codé une espèce de monstre qui faisait des centaines et des centaines de lignes au fil du temps et des besoins.
Et au bout d'un an, je me suis rendu compte que j'avais foutu une ligne de merde pour tester un machin au tout début du dev, et que je ne l'avais jamais retiré, parce que flemmard.
En retirant la ligne en question, d'un seul coup, tout s'est mis à fonctionner. Et toute la base de code merdique au dessus ne servait à rien. Une seule putain de ligne.
Ce jour là, c'était vraiment (╯°□°)╯︵ ┻━┻
J'ai plus codé pendant une semaine.
Edit: et toujours avec JS (et toujours sur le même projet que plus haut), un autre fail.
J'ai un truc genre
Ce controlleur est appelé dans un seul cas, et il déclenche par cascade le download de pas mal de Ko de JS.Code:define(function(require)-{ return function(app) { return app.controller('kikooCtrl', function($scope) { var une_lib_lourde = require('ma_lib_lourde'); .... } } }
Sauf que je me disais que vu que le require('ma_lib_lourde') est enfoui au fin fond du truc, ça sera appelé lors de l'appel au controlleur. Et que j'ai pas besoin de tester un truc aussi trivial que la gestion des dépendances, je fais confiance à requirejs.
Jusqu'au moment où en debuggant le machin plus haut, je me rend compte que j'ai plein de bibliothèque lourde qui sont téléchargés systématiquement, même quand ce controlleur n'est jamais appelé.
En faisant plein de tests, j'ai écarté l'hypothèse d'un effet de bord venant de ma part (puis j'ai aussi accusé et insulté angular, mais là, c'est parce qu'il me fallait un bouc émissaire et qu'il me faisait déjà chier sur le problème plus haut). Et dans ma tête, c'était vraiment "SORCELLERIE ! CE TRUC NE DOIT PAS ÊTRE APPELÉ ! C'EST LOGIQUEMENT IMPOSSIBLE".
Puis je me suis rendu compte que require analyse avant les fichiers qu'il reçoit. Et que ce crétin applique une regexp type "require\((['"])(.*?)\1" sur chaque fichier JS qu'il reçoit en allant télécharger toute les dépendances, même si elles sont enfoui au fin fond d'une dizaine de fonctions imbriqué.
Dernière modification par Sekigo Le Magnifique ; 15/08/2015 à 22h05.
J'ai raison et vous avez tort.
Paqs eu de gros fail depuis un bail, dernièrement j'ai symfony1 qui refusait de prendre un formulaire imbriqué sur une relation many to many self referencing mais bon les form dans sf1 c'était un peu du gros caca.
J'ai plus consommé du temps de de l'opti en Symfony (2) encore dans les form a opti l'hydratation d'une relation qui s'affiche en select, sur plusieurs milliers d'item ca galerait et j'avais pas envie de le refaire en ajax même si ça m'aurait pris 4 fois moins de temps
Bonjour les canards !
Je vous avais posé des questions pour la construction d'un e-shop. Vous m'aviez recommandé Prestashop et, maintenant que mes obligations académiques sont remplies, je peux vraiment y consacrer tout mon temps.
À côté de Prestashop que je dois bidouiller (ça a pas l'air imbuvable, donc c'est cool), j'aimerais avoir un nom de domaine propre (par exemple filemoitathune.ch). Je crois que vous recommandiez OVH, c'est ça ?
J'aurais également besoin d'une adresse mail pour la boîte et, si possible, d'un moyen de créer des newsletter sympas (on m'a dit que MailChimp est cool).
Des conseils ?
Dernière modification par MrBeaner ; 19/08/2015 à 11h31.
Chez Gandi aussi, et ils offrent 5 adresses emails.
Attention, un Max_well peut en cacher un autre
Equipe Highlander La Rache
angular
angular-styleguide
En ayant appris avec la doc officielle, on apprend l'inverse de ce truc.
J'ai raison et vous avez tort.
Comme déjà dis, la plupart des hébergeurs proposent des adresse mail en plus du nom de domaine. Et pour les newsletter je plussoie MailChimp, simple d'utilisation pour un néophyte tant que tu utilises leurs templates (si tu veux faire des trucs à ta sauce tu vas gouter aux joies de l'intégration d'email )