WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:services:office365

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:services:office365 [2018/04/01 22:58]
moog
wiki:services:office365 [2020/06/27 18:16] (Version actuelle)
Ligne 4: Ligne 4:
  
 <WRAP center round info> <WRAP center round info>
-Les inscription sont basées sur un script en ruby inspiré de celui qui permet d'obtenir des licences [[wiki:services:dreamspark]]+Les inscription étaient basées sur un script en ruby inspiré de celui qui permet d'obtenir des licences [[wiki:services:dreamspark]]
 +Le service est maintenant basé sur l'API (Azure) qu'offre Microsoft pour inscrire des étudiants
 </WRAP> </WRAP>
  
-===== Solution actuelle =====+===== Offre : Office 365 proplus for students =====
  
-Une nouvelle solution a été implémenté car l'interface graphique de microsoft évolué trop souvent pour que le script sélénium offre une solution stable.+Installation des outils suivants sur 5 PC (ou macs), 5 tablettes et 5 téléphones : 
 +  * Word 
 +  * Excel 
 +  * PowerPoint 
 +  * Outlook 
 +  * OneDrive for Business 
 +  * OneNote 
 +  * Publisher (PC only) 
 +  * Skype for Business 
 +  * Access (PC only)
  
-La solution tourne sur une machine virtuelle Windows 10 activée avec une licence de 4 ans MSDNA. +Bonus : 
-Le code utilisé est disponible sur le gitlab dans le groupe microsoft.+  * 1 TB sur OneDrive 
 +  * Office Online (permet d'utiliser Word, PowerPoint, Excel et OneNote en ligne)
  
-Un fichier README est disponible sur le bureau de la machine pour guider l'administrateur vers les bons dossiers 
  
-Un serveur apache a été installé dans C:\\Apache24. Pour le lancé, éxecuter: +===== Solution actuelle =====
-<code> C:\Apache24\bin\httpd.exe -k start </code> +
-Le répertoire contenant le projet git est dans C:\\Apache24\htdocs\office-minet.+
  
-PHP a été installé dans C:\\php.+==== Windows Server 2016 ====
  
-Il a fallu installer les composants powershell nécessaire pour communiquer avec Ofice 365. https://docs.microsoft.com/fr-fr/office365/enterprise/powershell/connect-to-office-365-powershell 
  
-Il faut d'ailleurs activer l'éxecution du powershell: +La solution tourne dorénavant sur Windows Server 2016, sur Atlantis. On peut passer par noVNC pour se connecter sur la VM. Cependant, si vous avez des problèmes avec l'interface, vous pouvez encore vous connecter dessus via RDP en utilisant remmina ou un autre logiciel.
-<code> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser </code>+
  
-**Fonctionnement:** +<WRAP center round important 60%> 
-On a un formulaire php qui fait la requête LDAP et vérifie que l'utilisateur existe et qu'il est bien qui il prétend être (user,mdp). +Le serveur Windows ne dispose pas d'interface graphique ! Il ne donne accès qu'à une invite de commandeN'hésitez pas à utiliser la documentation de Powershell avant de faire quoi que ce soit. 
-Puis, le script PHP appel un script powerhsell qui fait les requêtes "in a microsoft way". Puis un message final apparaît sur la page utilisateur lui indiquant soit qu'il a déjà un compte soit qu'il peut se connecter sur portal.office.com+</WRAP>
  
-===== Ancienne solution ===== 
  
-Le script Dreamspark utilise **selenium**et a donc besoin d'un navigateur pour fonctionner. Il tourne sur la même openVZ que Dreamspark (vm n° 138 sur spirit), qui a besoin d'une IP publique car le https ne passe pas par nos proxys. +Pour pouvoir lancer le site Webexécutez le binaire httpd.exe :
-EDITDepuis un certain temps le service tourne dans une KVM séparée à cause de quelques problèmes rencontrés avec xvfb.+
  
-<code bash+<code> 
-apt-get install ruby iceweasel ruby1.9.1-dev xvfb build-essential +C:\Apache24\bin\httpd.exe
-gem install net-ldap selenium-webdriver logger+
 </code> </code>
  
-Le même service **xvfb** est utilisé pour Dreamspark et Office365 :+Mais on préfère faire en sorte que ce soit automatique :
  
 +On installe le service Apache dans windows :
 +<code>
 +> C:\Apache24\bin\httpd.exe -k install -n "Apache2.4"
 +</code>
  
-<code bash+Puis on met le service en autostart : 
-#!/bin/bash +<code> 
- +> sc config Apache2.4 start=auto 
-XVFB=/usr/bin/Xvfb +</code> 
-# XVFBARGS=":99 -fbdir /var/run -ac" +On vérifie 
-XVFBARGS=":99 -nolisten tcp -fbdir /var/run" +<code> 
-PIDFILE=/var/run/xvfb.pid +> sc qc Apache2.4
-case "$1" in +
-  start) +
-    echo -n "Starting virtual X frame buffer: Xvfb" +
-    start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $XVFB -- $XVFBARGS +
-    echo ".+
-    ;; +
-  stop) +
-    echo -n "Stopping virtual X frame buffer: Xvfb" +
-    start-stop-daemon --stop --quiet --pidfile $PIDFILE +
-    echo "." +
-    ;; +
-  restart) +
-    $0 stop +
-    $0 start +
-    ;; +
-  *) +
-        echo "Usage: /etc/init.d/xvfb {start|stop|restart}" +
-        exit 1 +
-esac +
- +
-exit 0+
 </code> </code>
  
-Lancement du script en cron :+Le serveur doit maintenant se lancer tout seul au démarrage de la machine
  
-<code bash+Si le serveur se plein dans les logs du fait qu'il n'arrive pas à charger les libs (notamment ldap), c'est probablement que le PATH du user AUTORITE NT\Système ne possède pas le chemin vers php et ses extensions (.dll), cela peut arriver si jamais php n'est pas correctement installé. 
-38 * * * * root cd /opt/office-script && export DISPLAY=:99 && ruby office.rb+En ce cas : 
 +<code> 
 +> regedit.exe
 </code> </code>
  
-Le script est dans ''/opt/office-script''. +Dans le registre, se rendre dans ''HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment'', puis <color #ed1c24>ajouter</color> à la fin de la variable ''Path'' le chemin vers php et ses extensions, soit pour une installation à la racine de ''C:'' : 
-Les logs sont écrits dans ''/var/log/office-script.log''.+'';C:\php;C:\php\ext''
  
-==== Fonctionnement du script ===+Vous pouvez alors relancer le service Apache et vérifier que tout fonctionne.
  
-  * ''ldap.rb'': permet de vérfier que les mails envoyés proviennent bien des adresses de l'école. 
-  * ''web.rb'': utilise le webdriver de selenium pour faire l'inscription en ligne. 
-  * ''office.rb'': le script principal qui va appeler ''ldap.rb'' pour vérifier les adresses mail et ''web.rb'' pour la procédure d'inscription en ligne. 
  
-==== Pour obtenir une licence ====+**Fonctionnement:** 
 +On a un formulaire php qui fait la requête LDAP et vérifie que l'utilisateur existe et qu'il est bien qui il prétend être (user,mdp). 
 +Puis, le script PHP appel un script powershell qui fait les requêtes "in a microsoft way". Puis un message final apparaît sur la page utilisateur lui indiquant soit qu'il a déjà un compte soit qu'il peut se connecter sur portal.office.com. 
  
-Envoyer un mail (peu importe le contenu du mail) à office@minet.net avec son adresse telecom. 
  
-==== Migration vers Windows Server ==== 
- 
-<WRAP center round todo 60%> 
-La section est en cours de rédaction 
-</WRAP> 
  
 === Installation d'OpenSSH === === Installation d'OpenSSH ===
Ligne 137: Ligne 118:
         APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APPLICATION PACKAGES:(I)(OI)(CI)(IO)(GR,GE)         APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APPLICATION PACKAGES:(I)(OI)(CI)(IO)(GR,GE)
 </code> </code>
 +
 +==== Quelques informations utiles ====
 +
  
 Pour télécharger via le proxy, il faut spécifier ceci car PowerShell utilise une version antérieure de SSL/TLS: Pour télécharger via le proxy, il faut spécifier ceci car PowerShell utilise une version antérieure de SSL/TLS:
Ligne 160: Ligne 144:
  
 Remarque : DataShare est un alias, on aurait très bien pu mettre toto. Remarque : DataShare est un alias, on aurait très bien pu mettre toto.
-Pour monter le dossier depuis Linux, (en supposant cifs installé) :+Pour monter le dossier depuis Linux, **(en supposant cifs-utils installé)** :
  
 <code> <code>
Ligne 166: Ligne 150:
 </code> </code>
  
-  +Pour supprimer le partage actif : 
 + 
 +<code> 
 +net share NOM_DU_POINT_DE_MONTAGE /delete 
 +</code> 
 + 
 +Pour voir la liste des partages actifs : 
 +<code> 
 +net share 
 +</code> 
 + 
 + 
 +===== Ancienne Solution ===== 
 + 
 +Une nouvelle solution a été implémenté car l'interface graphique de microsoft évolué trop souvent pour que le script sélénium offre une solution stable. 
 + 
 +La solution tourne sur une machine virtuelle Windows 10 activée avec une licence de 4 ans MSDNA. 
 +Le code utilisé est disponible sur le gitlab dans le groupe microsoft. 
 + 
 +Un fichier README est disponible sur le bureau de la machine pour guider l'administrateur vers les bons dossiers 
 + 
 +Un serveur apache a été installé dans C:\\Apache24. Pour le lancer, executer: 
 +<code> C:\Apache24\bin\httpd.exe -k start </code> 
 +Le répertoire contenant le projet git est dans C:\\Apache24\htdocs\office-minet. 
 + 
 +PHP a été installé dans C:\\php. 
 + 
 +Il a fallu installer les composants powershell nécessaire pour communiquer avec Ofice 365. https://docs.microsoft.com/fr-fr/office365/enterprise/powershell/connect-to-office-365-powershell 
 + 
 +Il faut d'ailleurs activer l'éxecution du powershell: 
 +<code> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser </code> 
 + 
 + 
 +===== Très Ancienne solution ===== 
 + 
 +Le script Dreamspark utilise **selenium**, et a donc besoin d'un navigateur pour fonctionner. Il tourne sur la même CT que Dreamspark, qui a besoin d'une IP publique car le https ne passe pas par nos proxys. 
 +EDIT: Depuis un certain temps le service tourne dans une KVM séparée à cause de quelques problèmes rencontrés avec xvfb. 
 + 
 +<code bash> 
 +apt-get install ruby iceweasel ruby1.9.1-dev xvfb build-essential 
 +gem install net-ldap selenium-webdriver logger 
 +</code> 
 + 
 +Le même service **xvfb** est utilisé pour Dreamspark et Office365 : 
 + 
 + 
 +<code bash> 
 +#!/bin/bash 
 + 
 +XVFB=/usr/bin/Xvfb 
 +# XVFBARGS=":99 -fbdir /var/run -ac" 
 +XVFBARGS=":99 -nolisten tcp -fbdir /var/run" 
 +PIDFILE=/var/run/xvfb.pid 
 +case "$1" in 
 +  start) 
 +    echo -n "Starting virtual X frame buffer: Xvfb" 
 +    start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $XVFB -- $XVFBARGS 
 +    echo "." 
 +    ;; 
 +  stop) 
 +    echo -n "Stopping virtual X frame buffer: Xvfb" 
 +    start-stop-daemon --stop --quiet --pidfile $PIDFILE 
 +    echo "." 
 +    ;; 
 +  restart) 
 +    $0 stop 
 +    $0 start 
 +    ;; 
 +  *) 
 +        echo "Usage: /etc/init.d/xvfb {start|stop|restart}" 
 +        exit 1 
 +esac 
 + 
 +exit 0 
 +</code> 
 + 
 +Lancement du script en cron : 
 + 
 +<code bash> 
 +38 * * * * root cd /opt/office-script && export DISPLAY=:99 && ruby office.rb 
 +</code> 
 + 
 +Le script est dans ''/opt/office-script''
 +Les logs sont écrits dans ''/var/log/office-script.log''
 + 
 +==== Fonctionnement du script === 
 + 
 +  * ''ldap.rb'': permet de vérfier que les mails envoyés proviennent bien des adresses de l'école. 
 +  * ''web.rb'': utilise le webdriver de selenium pour faire l'inscription en ligne. 
 +  * ''office.rb'': le script principal qui va appeler ''ldap.rb'' pour vérifier les adresses mail et ''web.rb'' pour la procédure d'inscription en ligne. 
 + 
 +==== Pour obtenir une licence ==== 
 + 
 +Envoyer un mail (peu importe le contenu du mail) à office@minet.net avec son adresse telecom. 
wiki/services/office365.1522616307.txt.gz · Dernière modification: 2020/06/27 18:15 (modification externe)