一个托管笔记本电脑的基础设施和一个开放的edx mooc平台
nbhosting的Python项目详细描述
#笔记本电脑托管架构
这个git repo包含一组实用程序,这些实用程序共同构成了nbhosting.inria.fr背后的体系结构,该体系结构被设计为笔记本电脑服务基础设施。
第一个用例是在mooc环境中托管笔记本。参见例如
- [Python:在fun mooc.fr上的语言使用](https://www.fun-mooc.fr/courses/inria/41001S03/session03/about)
- [bioinformatique:algorithmes et génomes on fun mooc.fr](https://www.fun-mooc.fr/courses/inria/41003S02/session02/about)
#open edx教师端
在edx方面,teacher将创建一个类型为ipython notebook的bloc,请注意,当前的repo没有为支持这种类型的bloc(ref?);目前(2017年1月)可在fun mooc.fr上获得。
啊![](doc/edx bloc.png)
啊![](doc/edx notebook.png)
啊![](doc/edx details.png)
#open edx学生端
这是学生会看到的;
啊![](doc/edx student.png)
#nbhostingside
下面是工作原理的一般原则
- open edx伪造一个url,如上面所示,其中student替换为某个student id的散列
- 这是由nginx捕获的,它运行在最前面;ipythonexercie/前缀被路由到django应用程序,该应用程序主要执行以下操作 *如果需要,创建一个linux用户 *如果需要,为学生创建一个笔记本副本 *为这对夫妇(课程,学生)生成一个(docker)jupyter实例 *重定向到包含(http/localhost)端口号的(纯https,在端口443上)url,docker实例可以通过该端口号访问
总结如下:
啊![](doc/architecture.png)
#待办事项
还有很多工作要做,包括使用github的问题来跟踪还有哪些工作要做;) 现在请参见[doc/todo nbhosting.md](doc/todo nbhosting.md)