ShellCode

Petit problème dans le "avant tout"?

29 messages dans ce sujet

hello, je suis nouveau sur le forum, et en me baladant sur les topics "importants", je suis tombé là dessus :
http://forum.ironcraft.fr/index.php/topic/2399-bien-d%C3%A9marrer-le-modding-minecraft/#entry34606

Fort bien, c'est une bonne idée, mais certaines choses dites dedans ne sont pas très exactes...

Je vous explique mon raisonnement, à vous d'en faire ce que vous voulez ;)

" ce fabuleux langage qu'est Java."
Hum... Bon non mais ca après c'est personnel :P passons...

Ma réelle gêne se trouve davantage à ce niveau :

" il permet de quasiment tout faire"
a en revanche c'est vraiment très problématique... J'ai bien noté la présence du "quasiment" mais même ! Java est très loin de "quasiment" pouvoir tout faire !
a serait mentir aux débutants qui ne sont pas bien au courant que de leur dire une telle abomination :/

Rien que pour des raisons de "sécurité" (je l'ai mit entre guillemets, parce que la sécurité d'après java, on sait ce que ça donne...) la jvm nous empêche de faire un bon nombre de choses !
A titre d'exemple, je développe beaucoup en C et ASM x86 et je me suis retrouvé "sur le cul" de voir qu'il était impossible de faire des hooks système en Java ! Alors que n'importe quel langage un peu plus bas niveau (et pas que) fait ça aisément...

Autre point : "Java n'est pas optimisé pour :... Faire des interfaces graphiques"
SWT prouve le contraire : http://fr.m.wikipedia.org/wiki/Standard_Widget_Toolkit
BIEN PLUS RAPIDE que ses confrères tels que swing ou awt

"Il est par conséquent plus adapté pour de gros projets (ex. Minecraft, etc.)"
Minecraft est justement l'exemple parfait pour dire qu'utiliser java pour un gros projet de jeu n'est pas une bonne idée. Si minecraft avait était fait en C, je suis convaincu qu'il aurait nécessité 4x fois moins de RAM et de processeur ! (et si mojang ne l'avait pas codé avec les pieds aussi...)
Java est parfaitement adapté pour des projets nécessitant d'être facilement portables (write once, run everywhere) et nécessitant peu de performances.

" remplacées depuis belle lurette par des éléments plus performants et sécurisés"
La sécurité by java on connaît ça hein...

Voilà, ce poste arrive à sa fin, je voulais quand même remercier l'auteur du topic (Erulk) de l'avoir fait, il a prit le temps de le faire et avec amour en plus, j'en suis sûr :P Et puis la majorité de ce qu'il a écrit est quand même correct.

Ce topic n'est pas là pour enfoncer ou rabaisser les gens, très loin de là, ce n'est pas mon genre...
Juste perfectionner ce qui est perfectible pour que le forum ait un contenu le plus pertinent possible !

Si vous avez des remarques par rapport à ce que j'ai dit, une erreur que j'ai faite, une question ou même juste une réaction, n'hésitez pas !

Je vous souhaite à tous une bonne journée !

ShellCode

PS : j'ai mit le topic dans ce forum, j'espère que c'est adapté, à la base je voulais répondre directement au post en question, mais celui ci est verrouillé...

1

Partager ce message


Lien à poster
Partager sur d’autres sites

La réponse est constructive, effectivement il y a surement des choses à corriger, personne n'est parfait et personne ne sait tout.

Ceci dit il y a juste un petit détail que j'aimerais relever dans ton analyse :

" il permet de quasiment tout faire"
a en revanche c'est vraiment très problématique... J'ai bien noté la présence du "quasiment" mais même ! Java est très loin de "quasiment" pouvoir tout faire !
a serait mentir aux débutants qui ne sont pas bien au courant que de leur dire une telle abomination :/

Rien que pour des raisons de "sécurité" (je l'ai mit entre guillemets, parce que la sécurité d'après java, on sait ce que ça donne...) la jvm nous empêche de faire un bon nombre de choses !
A titre d'exemple, je développe beaucoup en C et ASM x86 et je me suis retrouvé "sur le cul" de voir qu'il était impossible de faire des hooks système en Java ! Alors que n'importe quel langage un peu plus bas niveau (et pas que) fait ça aisément...

Il permet effectivement de quasiment tout faire, en rapport avec son level, bien entendu.

Qu'importe le langage, plus il grimpe en level et moins tu as de contrôle sur le système, pour chacun d'eux il y a forcément des défauts autour des avantages qu'ils proposent.

En ce qui concerne la sécurité, je trouve justement que c'est pas mal, tu peux faire les pire bêtises au monde, c'est la JVM qui prend et non le système (d'où aussi le fait de ne pas avoir accès aux hooks système sûrement), il y a un avantage et un inconvénient, malheureusement nous ne pouvons pas faire grand chose.

Je suis plutôt d'accord concernant Minecraft, il y a des façons de faire bien plus adaptées au projet, et ce, même en java, ceci dit tout de même qu'Erulk parle de Java "standard", SWT par exemple n'en fait pas partie.

Bon après, je dis peut être n'importe quoi, ce n'est que mon "impression" et ce qui me semble juste.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Je ne sais point si cette catégorie est la bonne mais j'ai tout un tas de remarques sur ce que dit.

  1. Oui java permet de tout faire, on ne peut sortir un argument sans s'être renseigner, pour faire des hooks systèmes il te suffit d'utiliser JNA ou JNI.
  2. Java est optimisé pour créer des interfaces graphiques, si les applications swing (qui est un gestionnaire lightweight) sont réputées pour êtres lentes c'est à cause des codeurs, ils n'utilisent pas correctement les threads et les swingworkers lors de tâches.
  3. Si minecraft est le mauvais exemple, StarMade est le bon exemple, il est optimisé, puissant, utilise des technologies récentes et est en java.
  4. Java est sécuritaire, néanmoins il y a eu des failles depuis quelques versions et c'est l'architecture entière qui est compromise, ça laisse planer une impression d'insécurité constante.
0

Partager ce message


Lien à poster
Partager sur d’autres sites

@Dren "En ce qui concerne la sécurité, je trouve justement que c'est pas mal, tu peux faire les pire bêtises au monde, c'est la JVM qui prend et non le système "Là tu parles de sécurité face aux divers problème liés au développement d'une application (corruption mémoire etc...) moi je te de vulnérabilités avec des privilege escalation, JDB ou autre...

Effectivement tu as raison, swt n'est pas standard...

@Ourten

1/ je connais JNA et JNI, pas de soucis, seulement tu call des dll externe qui, elles sont dans un langage compilé tel que le C, ce qui revient à utiliser java pour faire un hook qui n'est pas en java

2/ha ok je savais pas ! Mais justement ça va à l'encontre de ce qui est marqué sur le topic en question ! ;)

3/je ne connais pas ce jeu, mais quoi qu'il en soit, ça ne sera jamais aussi rapide qu'un jeu codé en C.

4/ java se veut sécuritaire, mais ne l'est pas.

CVE-2007-2788

CVE-2007-0243

CVE-2006-2426

(http://www.cvedetails.com/vulnerability-list/vendor_id-5/product_id-1526/cvssscoremin-6/cvssscoremax-6.99/SUN-JRE.html)

Et bien d'autres sont des vulnérabilités présentes pour certaines dans JRE5.

Autant te dire qu'il y en a un énorme paquet.

Dire que java à eu quelques vulnérabilités depuis peu c'est se voiler la face... Il y en a toujours eu et il y en aura toujours, un peu comme flash.

Merci pour vos retours en tout cas ! ;)

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Il faut savoir aussi que minecraft a été porté en partie en c/c++ pour les consoles et il n'y a eu aucun gains de performances, pourquoi ? Tout simplement parce qu'ils continuent d'utiliser des technologies complètement obsolètes, ils utilisent dans la quasi totalité de la version pc openGL 11, sachant qu'aujourd'hui la lwjgl supporte opengl 43/44.

De plus un jeu en c a plus de chances d'être moins rapide qu'un jeu en java, il faut comparer à niveaux équivalents : bons codeurs java / bons codeurs c++.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Je ne savais pas concernant opengl, c'est ridicule de la part de mojang de continuer ainsi...

"De plus un jeu en c a plus de chances d'être moins rapide qu'un jeu en java, il faut comparer à niveaux équivalents : bons codeurs java / bons codeurs c++."

Je sais pas sur quoi tu te bases pour dire ça, mais à optimisation égale, le c++ (mieux encore: le C (Oui j'aime pas la poo ^^)) sera bien plus rapide !

La JVM est d'ailleurs écrite en C ou C++ (je sais plus)

Donc si deux programmeurs ont le même niveau et font la même chose l'un en Java, l'autre en C++, le programme en C++ sera bien plus rapide

Modifié par Onutrem
Attention à la taille du texte !
0

Partager ce message


Lien à poster
Partager sur d’autres sites

(mieux encore: le C (Oui j'aime pas la poo ^^))

comment tu peut écrire cette horreur ???

le C n'est pas un language orienté objet.

et justement le C++ l'est.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est justement ce que je disais :P
C'était pas de l'ironie quand je disais "mieux encore" c'est que je préfère vraiment le C !
Je n'aime pas la POO, Java, c++... Berk ! J'en fais juste au besoin :P

Edit : Mais je comprends que tu aies fait la confusion... Je me suis mal exprimé je reconnais

0

Partager ce message


Lien à poster
Partager sur d’autres sites

T'es un gros porc alors, la poo, rien de mieux pour ranger et la facilité d'utilisation.

-3

Partager ce message


Lien à poster
Partager sur d’autres sites

"un gros porc" xD

Toujours plus ! Ha ha

Je préfère garder un accès bas niveau me permettant de manipuler directement la mémoire comme je le souhaite, sans passer par des objets.

La majorité des gens qui codent en java ne connaissent rien à lagencement de la mémoire et certains ne savent même pas ce qu'est un pointeur...

Pourquoi ? Tout simplement parce qu'en Java, pour faire une chaine de caractère de taille variable, tu fais un :

String str = "Salut";
str += "!!";

Alors qu'en C, t'es obligé d'allouer (dans ce cas là) 6 octets dans le heap et faire une ré allocation dynamique si la taille de la chaine change :

char *str = (char*) calloc(6, sizeof(char));
strcpy(str, "Salut");
str = (char*) realloc(str, 8);
strcat(str, "!!");
free(str);
str = NULL;

(Bien entendu ce n'est qu'un exemple)

Le problème avec java, c'est que tout ce qui est allocation, il le fait tout seul... Du coup certains programmeurs ne savent pas ce qui se passe en arrière plan...

Voilà pourquoi je n'aime pas la POO, même si je te l'accorde, la POO, c'est pratique et plus simple d'utilisation !

Mais je trouve mieux de faire galérer les développeurs débutant sur un langage plus bas niveau (tel que le C) pour qu'ils comprennent concrètement ce qu'il se passe et ne pas former une génération de développeur qui utilise des objets sans savoir ce que ca fait vraiment !

Evidemment ce discours n'engage que moi, c'est mon point de vu, c'est uniquement pour ça que je n'aime pas la POO...

Mais de là à dire que je suis "un gros porc" parce que je n'aime pas la POO ! :P

Edit : Tu entends quoi par "rien de mieux pour ranger" ?

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Mais je trouve mieux de faire galérer les développeurs débutant sur un langage plus bas niveau (tel que le C) pour qu'ils comprennent concrètement ce qu'il se passe et ne pas former une génération de développeur qui utilise des objets sans savoir ce que ca fait vraiment !

je suis entièrement d'accord avec toi, j'ai moi même recodé une bonne grosse partie de la libc sauf que tu te contredit, parsque tu n'as pas regardé comment fonctionne le C++

en C++ on fait aussi du c ;) (le C++ c'est du c avec plus de truc)

et en plus enC++ il y a un garbage collector

pour finire, c'est pas parsque tu fait de la POO que tu n'as pas entière maitrise de ta mémoire

2

Partager ce message


Lien à poster
Partager sur d’autres sites

Il y a quelque chose d'absurde dans ce que tu dis, tu critique java avec sa gestion de la mémoire puis ensuite tu dit que c'est pour ça que tu aime pas la POO.

La POO il y en a dans quasiment tout les langages hein.

Et puis l'argument "tu sais pas ce qui se passe derrière" c'est un peu comme si on te disait que parce que tu connais pas les sous espèces de lama colorés que tu es un connard.

C'est tellement absurde !

2

Partager ce message


Lien à poster
Partager sur d’autres sites

@dermenslof

"en c++ on fait aussi du c ;)(le c++ c'est du c avec plus de truc)"

Certes, mais tu peux faire les même trucs :)

Et pour le garbage collector, tu as raison, mais si en C tu libères bien ta mémoire à chaque fois, nullement besoin deça:/

@Ourten

"La POO il y en a dans quasiment tout les langages hein."

Pas en C en tout cas :P Même si techniquement tu peux en créer ^^

"C'est tellement absurde !"

Je conçois que certains trouvent ça absurde... Mais en ce qui me concerne, je ne trouve pas

0

Partager ce message


Lien à poster
Partager sur d’autres sites

@dermenslof

"en c++ on fait aussi du c ;)(le c++ c'est du c avec plus de truc)"

Certes, mais tu peux faire les même trucs :)

Et pour le garbage collector, tu as raison, mais si en C tu libères bien ta mémoire à chaque fois, nullement besoin deça:/

on est d'accord, on peut faire la même chose en C et C++.

une structure est l'équivalent d'un objet et une fonction associée à un object c'est un pointeur sur fonction, une liste/hashmap ... c'est une liste chainée ...

mais en revanche, tu ne bénéficie pas de tout ce qui est visibilité ou encore héritage et implémentation.

de plus les appels systèmes systématique à malloc et free sont coûteux en temps d'instruction.

il y a même des cas ou utiliser des smartPointer est bien plus performant qu'une gestion manuelle de la mémoire.

les rares cas où il est vraiment nécessaire du bas niveau, je préfère encore faire de l'ASM plutôt que du C

1

Partager ce message


Lien à poster
Partager sur d’autres sites

"de plus les appel system systématique à malloc et free sont couteu en temps d'instruction."

Permet moi d'être dubitatif... malloc et free sont ultra optimisés... Après c'est sûr que si tu fais :

int i = 0;
for(; i < 10; i++)
{
    char* str = (char*)malloc(5*sizeof(char));
    strcpy(str, "test");
    free(str);
    str = NULL;
}

au lieu de :

char* str = (char*)malloc(5*sizeof(char));

int i = 0;

for(; i < 10; i++)
    strcpy(str, "test");

free(str);
str = NULL;

Evidemment, ca va être plus long à executer ! ^^

quoi que là c'est vraiment un exemple à la con...

Après, tout est relatif... Ca dépend de ce qu'on appel "bas niveau", je me souviens avoir vu dans des doc d'ASM que le C était un langage de haut niveau ! Mais pour un gars qui code du java, c'est sûr que le C est bas niveau...

Mais je suis assez d'accord avec toi, j'ai préfère aussi utiliser l'ASM... Pour les drivers et le ring0 surtout en fait ^^

1

Partager ce message


Lien à poster
Partager sur d’autres sites

Oh, tiens, encore un énième débat sur le Java contre le C/C++ ...

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Oh, tiens, encore un énième débat sur le Java contre le C/C++ ...

Lol on tient encore un mec qui lis pas. c'est C vs C++

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Ce topic est un peu inutile. Même si le contenu écrit sur le site est discutable, il s'avère que ton goût pour les allocations mémoires et le bas niveau reste un goût, un avis. Je me permet donc de clore la conversation, en rappelant que chacun doit être libre de choisir le langage avec lequel il veut programmer.

Moi-même j'aime bien faire du Lua de temps en temps, ça permet de s'amuser rapidement à coder un truc, sans se poser des questions d'architecture, de mémoire, etc... Le Java est un langage puissant et pratique, n'en déplaise aux aficionados du C/C++, et il évite de se prendre la tête avec des problèmes parfois épineux. S'il est de votre avis que le langage que l'on utilise, c'est de la merde, soit, mais cela ne sert à rien de venir le crier sur tout les toits, à part lancer un débat qui n'aura pas de fin (C'est comme si vous veniez dire "Sur votre site, il est écris que Windows c'est bien, mais Linux c'est mieux", ce qui aura l'effet d'énerver pas mal de gens, dont moi).

Encore une fois, merci de respecter les choix de chacun, et de réfléchir avant de poster : chaque langage (ou presque) à son utilité, mais surtout ses utilisateurs, et il est important de respecter.

3

Partager ce message


Lien à poster
Partager sur d’autres sites

Le sujet part d'une bonne intention, merci d'éviter ce genre de débat, c'est totalement HS et NoNi a résumé un peu le truc.

Je delock pour pouvoir continuer à améliorer l'article d'Erulk, n'en abusez pas.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Lol on tient encore un mec qui lis pas. c'est C vs C++

Non, c'est toi qui ne lis pas. Je t'invite a lire le sujet du topic et ça parle du JAVA. Peut-etre que ça a dévié en C/C++ mais c'est Java.

Dans tout les cas, oui c'est connu, le java n'est pas le plus rapide, ni le plus performant ni le plus efficasse mais c'est tout de même un langage permettant de grandes choses tout en étant simple.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Non c'est toi qui ne lis pas, je t'invite à lire le post de Dren juste au dessus.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Je suis en train de modifier le post en question, et je posterai ici, vous n'aurez qu'à me dire ce que vous en pensez !

Oui désolé d'avoir fait un message sans réel contenu, mais j'avais peur que les admins/modos se disent que ce topic tombe aux oubliettes et que ca n'aboutira pas ! Alors juste pour prévenir que j'y travaille ;)

Have a nice day

0

Partager ce message


Lien à poster
Partager sur d’autres sites
Bonjour,
je crée ce topic pour les débutants dans le domaine de la programmation en Java.
Tout d'abord, il faut savoir que Java est connu pour son exhaustivité. Comme tous les langages turing-complet au demeurant.
La JVM (Java Virtual Machine), malgré ces petites faiblesses au niveau des temps d'exécution, vous permet de faire des applications très complètes. Et le champ de possibilités est extrêmement large !
Attention, ce qui va suivre sont des conseils qui viennent de moi, ces informations ne sont en aucun cas exhaustives et ne se veulent pas impartiales (même si je vais faire de mon mieux).
Je m'adresse uniquement aux nouveaux avec pour objectif de les guider dans leur apprentissage, et mettre en évidence certains pièges qu'il vaut mieux éviter.
Les avantages de Java :
- Java est portable. En effet, quel que soit le programme que vous écrivez, celui-ci sera portable de par le fait que c'est la JVM qui se charge d'interpréter votre programme et de l'exécuter comme il se doit sur toutes les plates-formes compatibles. Java s'exporte même sur les téléphones Android !
- Les GUI (Graphical User Interface) sont très faciles à mettre en place. En effet, les objets sont déjà pré-concus pour réaliser le plus simplement possible des fenêtres !
Il existe de nombreuses librairies pour créer des interfaces graphiques : AWT, Swing, SWT etc...
- La documentation. En effet, Java est extrêmement bien documenté :
Il en est de même pour la majorité des API trouvables sur le net.
- Sa popularité. Java est très utilisé, en effet, il est le deuxième langage le plus utilisé en 2014 ( http://www.developpez.com/public/images/news/tiobe_2013_resized.png ). De ce fait, il sera très facile pour vous de trouver des exemples de codes, tutoriels, cours etc...
- Son haut niveau. En effet, Java est un langage dit "de haut niveau", c'est-à-dire qu'il est "éloigné du processeur", "moins proche du matériel". De ce fait, vous ne serez pas amenés à manipuler directement la mémoire ou les registres du processeur. (Cela peut être perçu comme un désavantage pour certains)
- Facile à apprendre. En effet, du fait que Java soit un langage de haut niveau, celui-ci est plus simple à apprendre, de plus le fait que Java soit de la POO (Programmation Orientée Objets) les objets utilisés au cours du développement d'un programme sont très explicites et facilement exploitables.
Donc si c'est le premier langage de programmation que vous apprenez, n'hesitez pas ! Java est un bon départ.
- Le web. En effet, à l'aide d'applets, ils vous sera possible d'executer du code Java dans le navigateur de l'utilisateur, permettant ainsi de developper un petit jeu vidéo dans le navigateur par exemple.
Voilà un exemple d'applet qui permet de déterminer si Java est bien installé :
Les désavantages de Java :
- Java est peu performant. Bien que de nombreux progrès aient été faits par Oracle, Java reste un langage lent (en comparaison avec des langages de plus bas niveau tel que l'assembleur, le C, le C++ etc...). Il est évident que sûr de petits programmes, la différence est tellement infime que négligeable, mais sur de plus gros projets ou sur des programmes nécessitant de hautes performances, Java n'est pas l'idéal.
- Java est interprété. Java est un langage interprété (et donc, n'est pas compilé), de ce fait, le désavantage précédent en découle. La JVM a été programmée en C++.
- Faire des petits scripts. Vous l'aurez remarqué, Java est très "verbeux". C'est-à-dire que la syntaxe du langage est assez lourde et le fait qu'il soit orienté objet n'améliore pas sa simplicité. Il est par conséquent plus adapté pour de gros projets dans la mesure où ils ne nécessitent pas de hautes performances.
- La 3D. En effet, nonobstant le fait que quelques jeux prouvent le contraire, Java n'est pas adapté pour faire de la 3D, cela est dû aux autres désavantages cités ci-dessus. Il n'est pas impossible de faire de la 3D, loin de là, mais pour des raisons de performance, ce langage est de préférence à éviter.
- La sécurité. Même si Oracle règle au plus vite les problèmes et même s'ils font tout leur possible pour empêcher cela, de très nombreuses vulnérabilités au niveau de la JVM sont présentes. Si vous souhaitez un système fiable (même si par définition cela n'existe pas) et sain, Java n'est peut-être pas la meilleure solution. Il n'est pas rare de voir certaines vulnérabilités telles que des "Java Drive By" qui permettent d'executer du code directement sur le poste de la victime. Et ce juste par l'intermédiaire d'un site web (applet).
Conseils :
- N'utilisez pas des méthodes et classes obsolètes :
Java évolue chaque jour, et pourtant on trouve encore des méthodes et classes obsolètes qui sont remplacées depuis longtemps par des éléments qui ont été améliorés. Malgré cela, elles restent dans certains cours (datant au moins des années 90) qui se retrouvent lus par des débutants, voici quelques exemples :
Vector : obsolète depuis 1998, calque du C++, devrait être List et ses implémentations.
Hashtable : obsolète depuis 1998, devrait être Map et ses implémentations.
Math.random() : calque du C++, devrait être la classe Random.
- Codez propre, codez bien
Il existe de nombreuses manières d'écrire et d'organiser son code en Java. Néanmoins des conventions d'écriture ont été mises en place et il vous est fortement recommandé de les suivre pour plus de lisibilité dans votre code (et pas que pour vous ! Si vous travaillez en équipe ou souhaitez rendre votre projet open-source. Votre code sera lu par d'autres et il est parfois compliqué de comprendre le code d'un autre).
Liens sur les conventions en Java :
Références supplémentaires :
Quelques liens utiles pour commencer le Java :
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Voilà ! A vous de me dire ce que vous en pensez !
Je me suis basé sur le topic originel et j'ai reprit les idées qui y étaient en modifiant quelques trucs !
1

Partager ce message


Lien à poster
Partager sur d’autres sites

Mention spéciale pour le "facile à apprendre", en Première Bac, (hum... BTS en France ?), j'aurais des projets en Python et en Java. Coïncidence ?

Par contre, n'était-ce pas plus judicieux de créer un nouveau topic pour ça :)

(Je tiens à souligner un truc, c'est qu'on doit de moins en moins préciser qu'il faut apprendre le java pour modder. Le balise [sdz]du site du zéro[/sdz], par exemple)

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant