Welcome to Bukkit France

Inscrivez-vous maintenant pour profiter d'un accès total à tout le contenu offert par la meilleur communauté Bukkit française ! Une fois inscrit et connecté, vous pourrez contribuez à la communauté en postant vos propres sujets et questions ou en répondant à ceux existants. Vous pourrez aussi customiser votre profil, recevoir des points de réputations, communiquer avec les autres membres via le chat, et plus encore! 

SystemGlitch

Staff Bukkit.fr
  • Compteur de contenus

    1925
  • Inscription

  • Dernière visite

Réputation sur la communauté

3787 va-t-il s'arrêter ?!

À propos de SystemGlitch

  • Rang
    ImAFlyingPancake
  • Date de naissance 06/06/98

Me contacter

  • Discord ImAFlyingPancake#4131
  • GitHub SystemGlitch
  • Minecraft ImAFlyingPancake
  • Site Web http://etheria-mc.fr
  • Steam ImAFlyingPancake
  • Twitter @ImFlyingPancake

Informations de profil

  • Centres d'intérêt Développement et jeux vidéos.
    - Étudiant à l'ESGI
    - Lead dev Etheria
    - Rédacteurs de cours de Java pour Bukkit.fr
  • Sexe Homme

Visiteurs récents du profil

6817 visualisations du profil
  1. [Résolu] Boutique en SQL

    Ta variable sql est nulle donc tu as une NullPointerException quand tu essaie de l'utiliser. C'est très basique comme erreur.
  2. Qu'écoutez-vous en ce moment ?

    Le nouvel album de Trivium est une tuerie :  
  3. Le Forum Est Entrain De Mourir ?

    Salutations ! En effet le forum est beaucoup moins actif qu'avant. Cependant, la communauté est désormais principalement sur notre Discord.   (BTW ton post n'est pas dans la bonne catégorie, je le déplace)
  4. InventoryClickEvent nullpointerexception

    Bon ça suffit, je lock.
  5. InventoryClickEvent nullpointerexception

    @Zurbeyira Merci de ne pas être désagréable et de rester courtois.   Lors du développement, il faut aussi prendre en considération la facilité de maintenir son code. En l'occurrence, comparer à null est un meilleur moyen de maintenir car on aura pas à revenir dessus. De plus, la différence de rapidité entre une comparaison d'int et une comparaison à null est vraiment négligeable.
  6. Études programmation/ études informatique

    L'ESGI c'est une école d'informatique en alternance en 3 ou 5 ans. (3 ans : cycle bachelor, avec un diplôme de niveau de 2 à la fin, que tu as aussi si tu fais les 5 ans. 5 ans : expert ingénieur, diplôme de niveau 1)   Concernant le cursus : les deux premières années sont généralistes. On couvre tous les domaines, du réseau au développement web, en passant par l'anglais, l'architecture matérielle, etc. Dès la troisième année, tu dois choisir une filière de spécialisation. Il y a vraiment un choix très large qui couvre à peu près l'intégralité du domaine informatique, elles sont détaillées sur le site. La pédagogie est basée sur la pratique, il y a énormément de projets. On apprend grâce à ces nombreux projets qui sont franchement intéressants et variés. Il y a aussi un projet annuel, c'est un gros projet à développer sur une longue durée, et donc les enseignants en attendent bien plus. Les deux premières années sont vraiment bien pour savoir toucher à tout dans le monde de l'informatique et aussi voir ce qui te plait le plus afin de choisir ta filière au mieux. Les entreprises raffolent des gens qui ont des connaissances en tout, c'est non négligeable sur le CV et lors des entretiens.   C'est une école en alternance. Pour moi c'est un très gros avantage pour plusieurs raisons : Une expérience professionnelle Des choses à mettre sur le CV Encore plus de pratique et d'expérience (pour moi c'est la chose la plus importante en info) Permet d'aider au financement de l'école, qui est quand même franchement chère L'alternance est optionnelle les deux premières années, mais il faut savoir que les initiaux (ce qui ne font pas alternance) ont exactement le même programme, le même montant de cours et de projets que les alternants. Tu l'auras compris, le rythme est très dur si tu fais alternance les deux premières années. Mais certains n'ont pas le choix. L'école elle-même recommande de ne pas le faire si tu le peux. Pour les années suivantes, c'est obligatoire, donc tout le monde a le même emploi du temps et donc c'est ajusté en conséquence pour que le rythme soit correct. Il y a un stage optionnel à la fin de la première année, et un stage obligatoire d'au moins deux mois à la fin de la deuxième année.   Le réseau de l'école possède de très nombreuses entreprises partenaires et t'aide très bien pour toutes les démarches. Le service relation-entreprise est sérieusement très bon. Tu n'as donc aucun soucis à te faire, tu trouveras forcément une offre de stage ou d'alternance. Ce qui est aussi un avantage pour la suite, après le diplôme, car les entreprises embauchent du coup les étudiants au final. Absolument aucun élève ne trouve pas de poste.   Pour ce qui est des postes en question, si tu ne fais que 3 ans, tu finiras développeur avec peu de perspectives d'évolution, comme n'importe quelle autre formation de ce type. Cependant si tu fais 5 ans, tu auras de très bonnes opportunités et tu peux espérer obtenir le poste idéal de chef de projet où c'est toi qui managera l'équipe et tu ne sera pas obligé de pisser du code h24.   D'un point de vue interne, je suis très satisfait. L'ambiance est cool et détendue, tout en restant stricte juste comme il faut. Ils essaient de se donner un aspect sévère et strict de l'extérieur pour éviter justement les débordements. Mais en réalité ils sont très cool si tout se passe bien, mais n'hésitent pas une seconde si jamais il y a besoin de faire appliquer des sanctions. C'est très cher, mais on sent que ce n'est pas du racket car les profs sont bons dans l'ensemble, les locaux sont très propres, la cafet' est bien équipée avec une télé, des petites bornes d'arcade, des micro-ondes, des distributeurs, etc, les différents services sont au poil (les attachées de promo sont ultra efficaces, tu es toujours tenu au courant de tout, le service relation entreprise est cool comme je l'ai expliqué plus haut, c'est pas le bordel administratif habituel des lycées publics...). Aussi s'il y a un problème quelconque (ça peut être un problème avec un prof, ou un problème de matériel dans une salle, etc), on fait passer le message et c'est réglé extrêmement rapidement.   Petite histoire, pendant ma première année, le prof de réseau n'était pas très pédagogue. Il était clairement balez dans son domaine, mais n'arrivait pas à nous expliquer correctement. Tout le monde n'est pas pédagogue, c'est difficile. La classe avait donc de mauvais résultats. On en a parlé au comité pédagogique et le cours suivant, le prof s'est excusé de ne pas être assez pédagogue et a repassé plusieurs séances entières à nous réexpliquer et revoir tout ce qui n'avait pas bien été compris. Respect à lui, vraiment.   Si tu veux plus de détails, ou si tu as des questions à poser, invite-moi sur Discord : ImAFlyingPancake#4131
  7. Études programmation/ études informatique

    Si tu as un poil dans la main, ne fais pas prépa. Il te faut un truc direct qui t'intéresse sinon tu vas avoir envie d'arrêter et ça c'est pas bon du tout. J'ai retrouvé le post auquel je pensais. Ce n'était pas de toi en effet.
  8. Études programmation/ études informatique

    Tu n'avais pas déjà fait un topic pour demander ça? J'ai un sentiment de déjà-vu. Peu importe, perso je suis à l'ESGI.
  9. Sécurité de mots de passe

    Vérifier par nom c'est pas une bonne idée je pense. Il y a énormément de chances que le même nom soit donné plusieurs fois. Pour ce qui est de l'IP, tu peux très facilement la récupérer depuis la requête reçue sur ton serveur web. Si tu veux la récupérer depuis le plugin, utilise un service en ligne comme proposé ici. Si tu veux identifier les serveurs de manière unique, c'est délicat car y'a toujours moyen de tricher, changer son IP en passant par un VPN, etc. Donc tu pourrais délivrer une "licence". Par exemple, le plugin la première fois qu'il se lance, il demande une licence au serveur qui va en générer une, la stocker avec l'IP du serveur et le plugin vas lui la stocker dans un fichier config. Ensuite lors de la connexion au service par le plugin, tu envoie la licence et le serveur la vérifie. Problème par contre c'est que si jamais le serveur change d'IP, il lui faut une nouvelle licence, et si l'admin supprime le fichier de licence, le plugin va en redemander une nouvelle et du coup y'a moyen de tricher...
  10. InventoryClickEvent nullpointerexception

    Au passage, pense à vérifier si l'item (getCurrentItem()) n'est pas null avant de vérifier s'il a une ItemMeta. Aussi il existe une méthode pour vérifier ça : hasItemMeta(). Et pour être 100% sûr, vérifie aussi que l'ItemMeta possède un display name avec hasDisplayName().
  11. Sécurité de mots de passe

    Pour ce genre de cas, je peux te proposer la solution suivante : tu fais un service. Je m'explique. Tu as un serveur (web par exemple, ou autre, du moment que ça peut recevoir et traiter des requêtes) qui recevra les requêtes envoyées par ton plugin et c'est lui qui s'occupera de faire les modifications sur la base de données. Le mieux c'est de ne jamais donner d'accès extérieur à la base. En faisant comme ça, tu as le contrôle pour valider les requêtes et ce qui transite sur le réseau des utilisateurs n'est que le strict minimum. Si tu connais le princpe de OAuth2, ce serait super de l'utiliser. Tu peux également réfléchir à une solution pour t'assurer que les requêtes viennent bien de ton plugin.
  12. Bug Java String et Nom de Joueur

    Si tu veux épargner certains joueurs, pourquoi pas comparer les joueurs directement (ou leur UUID) plutôt que leur pseudo?
  13. Meilleur moyen pour sérialiser ?

    ArrayList<SavedObject> list = new ArrayList<SavedObject>(); SavedObject obj; while( (obj = (SavedObject) ois.readObject()) != null ) list.add(obj);  
  14. Meilleur moyen pour sérialiser ?

    Tu peux appeler writeObject() plusieurs fois :   File file = new File("test.txt"); ObjectOutputStream oos; BufferedOutputStream bos; FileOutputStream fos; try { if(!file.exists()) file.createNewFile(); fos = new FileOutputStream(file); bos = new BufferedOutputStream(fos); oos = new ObjectOutputStream(bos); oos.writeObject(new SavedObject("Objet n°1" , 42)); oos.writeObject(new SavedObject("Objet n°2" , 7)); oos.close(); System.out.println("Sauvegarde effectuée!"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }   Et après quand tu charge le fichier, tu peux appeler readObject() plusieurs fois : File file = new File("test.txt"); ObjectInputStream ois; BufferedInputStream bis; FileInputStream fis; try { if(!file.exists()) file.createNewFile(); fis = new FileInputStream(file); bis = new BufferedInputStream(fis); ois = new ObjectInputStream(bis); SavedObject object1 = (SavedObject) ois.readObject(); SavedObject object2 = (SavedObject) ois.readObject(); ois.close(); System.out.println(object1.toString()); System.out.println(object2.toString()); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); }   Attention à l'ordre du coup.   Sinon tu peux utiliser plusieurs fichiers aussi.
  15. Meilleur moyen pour sérialiser ?

    Et bien l'objet est sauvegardé tel quel. Par conséquent, tu peux le restaurer tel quel sans traitement spécial puisque en gros tu as juste à le replacer en mémoire et ça repart. Lis rapidement le chapitre que j'ai linké, tu verras sans doute l'intérêt.