Sous le capot du Club iGen
Nous avons déjà (longuement) abordé les aspects économiques et journalistiques du Club iGen, mais un site web, c’est aussi de la technique. De fait, la conception du Club iGen concerne tout autant les journalistes que les développeurs. À tel point que certains journalistes tapent aussi des lignes de code, et que les développeurs participent aussi aux conférences de rédaction.
Lorsque nous avons commencé à travailler sur le Club iGen, à l’été 2016, nous avons mis en place la pile technologique suivante :
- Drupal nous permet de gérer le contenu et les comptes des utilisateurs ;
- Stripe nous permet de gérer le paiement et le renouvellement des abonnements ;
- notre API nous permet de communiquer avec Drupal et Stripe ;
- un framework JavaScript nous permet de manipuler les données de l’API ;
- notre framework CSS nous permet de mettre en forme les données présentées par le framework JS.
Pour être tout à fait complet, il faudrait dire que nous faisons tourner nos serveurs sous Debian, ou parler de répartition de charge et de réseau de diffusion de contenu. Il faudrait expliquer que les données de Drupal sont stockées dans des bases MySQL, ou que la recherche est assurée par Solr. Mais cela dépasse (légèrement) le cadre de cet article, et n’est pas spécifique au Club.
Les grands principes de cette architecture sont maintenant bien éprouvés : le développement de notre API a informé la refonte de notre application iOS, qui en retour a informé des ajustements de notre modèle de données, et ce jeu d’allers-retours continue aujourd’hui. Sans cette API, nous aurions eu toutes les peines du monde à changer de framework JS, lorsque nous avons abandonné Angular au profit de Vue.js.
En faisant l’interface avec Drupal, que nous utilisons pour nos sites depuis plus d’une décennie, elle est devenue le cœur de nos services. Charger la liste d’articles, publier un commentaire, mettre un test en favoris… toutes ces fonctions passent par l’API. À l’instar de l’application, le site du Club iGen sera considéré comme un client de l’API, et les deux seront presque entièrement synchronisés.
Pourquoi « presque » ? D’abord parce que les préférences d’apparence ne seront pas synchronisées, puisqu’on ne lit pas sur un iPhone comme on lit sur un iMac 27 pouces. Ensuite parce que nous n’avons pas encore résolu l’épineuse question de la synchronisation des statuts de lecture, qui peut sembler simple mais représente un vrai problème d’architecture logicielle.
Mais ce problème sera résolu, et par ailleurs, toutes les autres options seront synchronisées. Vous retrouverez ainsi vos favoris sur tous vos appareils, et vos filtres pour masquer certains utilisateurs ou certains mots-clefs seront activés dans l’application comme sur le site web.
Maintenant que nous abordons le dernier week-end de notre projet Kickstarter, nous allons pouvoir nous concentrer à nouveau sur le développement du Club iGen. Jusqu’au lancement de la version bêta au printemps, nous vous tiendrons informés de l’avancée des travaux de manière régulière, en plus de vous expliquer certains choix techniques ou de vous présenter certaines fonctions.
Hâte de tester la nouvelle appli avec le club iGen ?
Cet article me rend curieux : quel système utilisez-vous pour les notifications? (Je n’y connais rien en la matière)
@LaurentH
Bonjour allez vous fusionner ioccasion avec iGeneration
non, ça rapporte moins de sous par la pub.
@macbook60
Dans l'app? Je pourrais rajouter une tab qui affiche le site, comme pour la tab Kickstarter en fait. Mais sinon a part ça nous n'avons rien de prévu à ce niveau.
@LaurentH
Bonjour
Oui pourquoi pas ! Sera t’il possible d’y avoir accès avec son compte iGeneration ?
Merci
@LaurentH
Merci pour votre réponse.
Allez MacG! C’est un beau projet et challenge.
Nous croyons en vous!
Bon courage pour ce beau projet. ?
Plus vous avancez dans la description du nouveau Club iGen, et plus je me rend compte que j’ai déserté le site pour l’app il y a longtemps, et que je ne vais plus que très rarement sur le site (encore moins depuis que les sondages ont été intégrés à l’app).
Les raisons?
La pub, qui continuait sur le site malgré l’abonnement.
La synchro, déficiente entre l’app et le site.
Le moment de lecture: je ne lis iGen qu’en pause ou avant de bosser, c’est-à-dire PAS devant mon ordi.
Les facilités de commentaires étaient à l’avantage du site
- rangement par conversation, sur l’app ça devient parfois un énorme boxon,
- gestion des italique, gras et autres liens.
Mais l’intégration du Markdown sur l’app et la gestion des citations ont grandement augmenté le confort de commentaire. Un historique des commentaires sur l’app serait bienvenue, ainsi qu’une automatisation des liens et la possibilité de mettre des liens sur un nom ou une phrase.
Bref, merci de soigner la possibilité de commenter, parce qu’il me semble qu’on a peu parlé une chose importante qui fait aussi la valeur de MacG, comme de toute entreprise du Web 2.0 : l’investissement de ses usagers.
J’ai aussi beaucoup appris ici via les commentaires (bon, y aussi beaucoup de [biiiip], et maintenant j’use sans état d’âme de la possibilité de basher des commentateurs qu’offre le club).
C’est pourquoi ceux qui pensent remplacer MacG/iGen par un lecteur de flux RSS se trompent (à mon avis).
S
Pour les plus vieux de la communauté Mac, c’est aussi l’occasion de retrouver ici des gens qu’on a croisé ailleurs (sur cuk.ch, sur TidBITS fr, parfois même sur la liste MacFr, voire sur Mac & Vidéo!), certains depuis plus de 20 ans…
@pat3
Les commentaires peuvent se ranger par conversations sur l’app il me semble
@pat3
Il y a un site internet MacG ? ?
L’app est quand même vachement mieux foutue, on a la fusion des deux sites, c’est beaucoup mieux présenté. Le site internet devrait s’inspirer de l’app !
@Hugualliaz
C’est exactement l’idée.
@pat3
Pareil pour moi. Je ne vais jamais sur le site.
@pat3
c’est aussi l’occasion de retrouver ici des gens qu’on a croisé ailleurs (sur cuk.ch, sur TidBITS fr, parfois même sur la liste MacFr, voire sur Mac & Vidéo!), certains depuis plus de 20 ans…
Tu aurais même pu mettre les forums fcsm (fr/comp/sys/mac) en 1997 où je communiquais directement avec un certain Guillaume Gète de chez Apple SAV. #nostalgie ?
Petite question. Stripe c'est bien, je l'utilise depuis 2/3 ans maintenant, mais quid de PayPal ?
Personnellement je préfère utiliser mon compte PayPal sur le net pour pleins de raison. C'est un gage de sécurité car on se doute bien qu'avec la protection acheteur, le site est au minimum pas une arnaque. L'autre raison est que j'ai toujours pas mal de tunes sur PayPal et que c'est plus facile que de sortir la CB.
@Wolf
PayPal c’est d’une complexité. On a perdu parfois des jours à le configurer pour iOccasion notamment. Une belle usine à gaz. Je suis pas fan
@cl97 j'sais pas en règle général ça me prends 3 minutes pour rentrer l'identifiant + l'adresse e-mail du compte + celle à utiliser + les 2 tokens. Mais je présume que sur Drupal c'est plus compliqué.
Bon... ça confirme ce que je dis depuis le début. Avec une stack pareille, pas besoin de deux développeurs web + un spécialisé iOS.
Quant aux choix de technos, je n’aurai pas fait les mêmes sur l’ensemble de la stack.
Il me semble exister quelques incohérences (peut être liées à l’ancienneté de l’utilisation de Drupal).
Il existe d’autres choix, simples à faire, pour se passer d’une des trois personnes, et éviter de faire payer les abonnés plus cher qu’avant. Mais bon, je respecte l’idée de maintenir un poste. Si les gens sont ok pour le financer, c’est cool. Mais dites le. Pas la peine de se cacher derrière des goodies pas très utiles et pas désirées ?
Avec une équipe pareille, le club devrait être en place d’ici 2 mois maxi...
Alors si en plus les journalistes codent un peu, un mois et demi ? ?
@lawappe
Quels autres choix aurais tu fait ?
Curiosité technique de ma part sur un tel site (aka web + connexion d’une App + gestion abonnements payants )
@deltiox
Passe moi une adresse e-mail et je te file la stack que je trouve bénie des dieux ???
Et que j’utilise tous les jours, évidemment. (J’en vois venir certains lol)
@lawappe
C’est la la limite a cette app
Il manque les messages privés
(Ou alors je les ai loupés )
@lawappe
« La stack que je trouve bénie des dieux » Ah oui on dirait bien qu’on a affaire à un professionnel là, ca viens d’etre diplomé d’une école d’ingé en informatique que ca m’étonnerais pas !
P.S : balance là ta stack, c’est pas comme si t’étais le seul à utiliser une combinaison Vue/React/Angular + Redux/GraphQL + Express/Next.js ou n’importe quelle autre stack qui de toute façon n’est pas plus miraculeuse qu’une autre.
P.S.2 : Parler de stack meilleure qu’une autre sans connaitre les contraintes est un non sens.
@lord danone
Toi t’en fumes de la bonne. A moins que ce ne soit les vapeurs de tout ce qui brûle en ce moment en France ?
L’école est bien loin derrière moi. Je viens d’un temps où les écoles d’ingénieurs informatiques n’étaient même pas un rêve. Bref, j’en ai connu des évolutions... et je suis 100% autodidacte.
On connaît les contraintes de MacG. Ils nous les ont expliquées. Peut être pas toutes, mais bon... dans ce genre de business, de nombreuses contraintes sont récurrentes.
Quant à la stack, commence par jeter un œil sur Ionic + Capacitor + Nest. Et quand tu auras fait le tour des nombreuses possibilités offertes, dont la plus excitante est une seule base de code pour iOS, Android, macOS, Windows, Linux, et... le Web (jusqu’aux PWA) !
J’ai arrêté le natif pur en 2015. Je codais pour iOS, Android, OSX et Windows. Et depuis, j’ai divisé le temps de développement par 5.
Alors oui, on peut pinailler et trouver à redire à cette stack, mais en comparaison des ressources nécessaires, de plus en plus d’entreprises, basculent. Et pour de bonnes raisons.
@lawappe
Il n’y a rien de miraculeux dans ionic et consorts. Si ta premiére contrainte est de bosser solo (comme toi apparement), oui ca peut etre pertinent. Si comme MacG tu peux te permettre d’avoir un dev iOS et un ou deux dev web, et sachant que tu t’adresses a des mac users (donc android pas plus une priorité que ça), je ne vois pas pourquoi ils utiliseraient ionic, mis à part comme tu dis virer un dev (et accessoirement baisser instantanément en qualité sur iOS)
@lord danone
C’était effectivement ce que j’expliquais dès le début. Merci de me rejoindre.
Je ne sais même pas s’ils ont pensé un instant à ce genre de stack, mais ils ont tranché.
Tant mieux pour le dev iOS, tant pis pour les nombreux abonnés comme moi. A moins qu’ils ne proposent une option d’abonnement que sur l’appli, comme réclamée par beaucoup.
J’ai noté qu’ils allaient tenir compte des commentaires pour affiner. Je garde donc un infime espoir...
@lawappe
Je crois que tu parles de choses que tu ne maitrises pas. Mais ça semble essentiel que tu donnes et imposes ton avis. Dont acte.
@cl97
En parlant de maîtrise, j’ai déjà installé du PayPal les doigts dans le nez. Quand je vois que tu trouves ça complexe, et que c’est pour cela que ce n’est pas proposé sur MacG, c’est juste... hallucinant avec deux dev web dans l’équipe ?
@lawappe
J’ai pas dit que c’était forcément complexe techniquement parlant mais que c’était une usine à gaz. Et que stripe est beaucoup plus propre.
Mais si ça te soulage on va dire ça qu’on est des gros nuls. C’est plus Simple comme ça.
@cl97
Ben proposez les deux (ou plus).
Si les utilisateurs le réclament. Pourquoi ne pas le mettre en place ?
@lawappe
Un développeur chevronné comme toi sait que pour mener un projet à bien en temps et en heure il faut savoir discerner les priorités.
On part avec un système de paiement qui nous va bien. Lorsque la première version sera finalisée et si il y a une forte demande pour PayPal alors on le fera. Mais là on préfère ne pas s’éparpiller.
@cl97
"On part avec un système de paiement qui nous va bien. Lorsque la première version sera finalisée et si il y a une forte demande pour PayPal alors on le fera. Mais là on préfère ne pas s’éparpiller."
Autant je comprend et respecte vos choix et priorités, autant le système de paiement peut être (est) essentiel à l'acquisition de clients. Ne pas proposer PayPal c'est perdre des clients de façon certaine. La proportion est difficile à chiffrer et très liée à votre lectorat, mais réelle.
Après, les priorités sont ce qu'elles sont et on ne peut pas tout faire le même jour, c'est entendu. Il y a déjà une demande par ailleurs...
@Christophe Laporte
il est naturel pour un geek ou un ingénieur informatique (dont je fais partie) de parler comme s'il savait tout des complexités et spécificités d'autrui. C'est naturel pour le geek, il ne peut pas s'en empêcher et son complexe de supériorité n'est pas méchant. Il croit bien faire en étant méprisant (pour motiver).
Bref, courage ! :)
@lawappe
“... et si les journalistes codent un peu ça ira plus vite »
Bien sûr ... et si mon postier aide le chirurgien ça ira plus vite aussi ? Chacun son métier mec.
@Dv@be
Encore un qui n’a pas lu l’article! Et c’est un abonné! Raison de plus pour ne pas s’abonner quoi ??♂️??♂️
@steinway59
Merci !
@Dv@be
Sérieusement? Vous n’avez même pas fait l’effort de lire le premier paragraphe, mais venez commenter quand même...
@McFlan
Merci.
@Dv@be
Ben relis l’article, mec. C’est pas moi qui le propose, c’est MacG qui le fait !
@lawappe
Tu peux donner l’adresse du site que tu as fait et que tu maintiens 365j/an de 7 à 23h00? Ça doit être top. ?
@sdesland
File moi ton adresse mail je t’en envoie quelques uns.
@lawappe
Donne les sites direct . Fais en profiter tout le monde. Comme ça tu peux montrer tes capacités. ?
ne soyez pas timides. partagez en publique.
Encore un article sur l’utopique Club iGen !
Vous n’avez plus d’idées d’articles ?
???
Ça va le faire, pour atteindre 150 k€ d’ici ce soir 20 heures — car moi je pense à la fameuse soirée de lancement du site au printemps !!!
Bonnes stack. Sauf drupal qui est mal adaptée selon moi. Autant partir sur un framework et développer sa propre solution. Surtout avec 3 développeurs !
@SquallX
Tu résumes bien ce que je leur dit depuis plusieurs jours... mais bon... c’est pas mon projet, donc il peuvent bien faire ce qu’ils veulent. Juste déçu d’être un abonné mis sur la touche...
c'est de la folie que de développer "sa propre solution".
Ce n'est pas le métier premier d'un site de média que de créer un middleware.
Drupal est une bonne fondation, elle est activement maintenue et peut être modifié et adaptée à des besoins spécifiques.
Il faut faire des choix dans la vie, ce choix a été fait et il est correct.
-
y a autant de "bonnes solutions" et de bières dans la gueule que d'informaticiens. Faites vous une raison.
@oomu
"c'est de la folie que de développer "sa propre solution".
Ce n'est pas le métier premier d'un site de média que de créer un middleware.
Drupal est une bonne fondation, elle est activement maintenue et peut être modifié et adaptée à des besoins spécifiques.
Il faut faire des choix dans la vie, ce choix a été fait et il est correct.
-
y a autant de "bonnes solutions" et de bières dans la gueule que d'informaticiens. Faites vous une raison."
Amen...
Il est évident que développer tout seul dans son coin. Surtout qu'ici le besoin est ponctuel dans le sens où il n'y aura qu'un site.
Ce n'est pas comme si MacG va devenir une boîte qui va développer des sites pour les autres. Et je suppose que lawappe a déjà un ensemble de bibliothèques qu'il a développé et enrichies au fur et à mesure de ses besoins.
Pages